Spring-ai 提示词动态模板

SpringAI 多片段.st 模板 + ChatClient 完整实战案例
环境说明
Spring AI 1.0.x/ Spring Boot 3.x
模板目录统一:resources/prompts/,内部一个 multi.st 存放多个命名提示词,用官方 ResourcePromptTemplate 解析,配合 ChatClient 调用不同提示词。
1、目录结构

src └── main └── resources └── prompts └── multi.st # 存放多个命名提示词模板

2、multi.st 多提示词模板内容

# name=summary你是文本摘要助手,简洁总结输入内容,不超过100字。 原文内容:{text}---# name=translate你是中英翻译助手,只输出翻译结果,无多余话术。 待翻译文本:{text}---# name=codeReview你是Java代码评审专家,指出代码问题并给出优化方案。 代码片段:{code}---

规则:— 分割片段,首行 # name=xxx 作为唯一标识。

3、配置类:统一封装 ResourcePromptTemplate Bean
自动加载 classpath:prompts/multi.st,全局可注入,不用每次 new。

importorg.springframework.ai.prompt.template.ResourcePromptTemplate;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;@ConfigurationpublicclassAiPromptConfig{/** * 加载 prompts/multi.st 多段提示词模板文件 */@BeanpublicResourcePromptTemplatemultiPromptTemplate(){// 资源路径:classpath下 prompts/multi.streturnnewResourcePromptTemplate("prompts/multi.st");}