ChatClientPrompt Template20260427
1、pom
<properties>
<java.version>17</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<spring-boot.version>3.2.0</spring-boot.version>
<spring-ai.version>1.0.0</spring-ai.version>
<spring-ai-alibaba.version>1.0.0.2</spring-ai-alibaba.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 阿里云通义千问(DashScope)starter -->
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
<artifactId>spring-ai-alibaba-starter-dashscope</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- 统一管理Spring AI依赖版本 -->
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-bom</artifactId>
<version>${spring-ai.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
<artifactId>spring-ai-alibaba-bom</artifactId>
<version>${spring-ai-alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<!-- Spring AI 里程碑/快照仓库(必须配置,否则依赖无法下载) -->
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<releases>
<enabled>false</enabled>
</releases>
</repository>
</repositories>
2、yml
#server.port=18081
#spring.ai.dashscope.api-key="sk-72d9fd311cde487eb948bcd999ea4a65"
#spring.ai.dashscope.chat.options.model= sk-8718a83408d7443b9544cdfbf259280f
#sk-72d9fd311cde487eb948bcd999ea4a65
server:
port: 18081
spring:
ai:
dashscope:
api-key: sk-8718a83408d7443bxxxxxxx
3、controller
import org.springframework.ai.chat.client.ChatClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@RequestMapping("/openai")
@ResponseBody
@Controller
public class ChatclientPromptController {
@Autowired
private ChatClient.Builder chatClientBuilder;
@GetMapping("/simple/prompttemplate")
public String prompttemplate () {
// ChatClient设置提示词
//为ChatClient设置系统角色,你是什么,你要做什么,你要注意什么,具本该怎么做
ChatClient chatClient = chatClientBuilder
.defaultSystem("""
# 角色说明
你是一名专业法律顾问AI……
## 回复格式
1. 问题分析
2. 相关依据
3. 梳理和建议
**特别注意:**
- 不承担律师责任。
- 不生成涉敏、虚假内容。
当前服务的用户:
姓名: {name},年龄: {age},性别: {sex}
""")
.build();
String content = chatClient.prompt()
.system(p->p.param("name","【郭大侠】")
.param("age","【22】").param("sex", "【男】"))//当前对话设置系统提示词
.user("你好")
.call()
.content();
// 3. 打印结果
System.out.println(content);
return content;
}
//提示词模板一伪系统提示词
@GetMapping("/simple/prompttemplate2")
public String prompttemplate2 () {
// ChatClient设置提示词
//为ChatClient设置系统角色,你是什么,你要做什么,你要注意什么,具本该怎么做
ChatClient chatClient = chatClientBuilder
.defaultSystem("""
# 角色说明
你是一名专业法律顾问AI……
## 回复格式
1. 问题分析
2. 相关依据
3. 梳理和建议
**特别注意:**
- 不承担律师责任。
- 不生成涉敏、虚假内容。
回答用户的法律咨询问题:
{question}
""")
.build();
String content = chatClient.prompt()
.system(p->p.param("question","【被裁的补偿金】"))//当前对话设置系统提示词
.user("你好")
.call()
.content();
// 3. 打印结果
System.out.println(content);
return content;
}
}
4、浏览器
http://localhost:18081/openai/simple/prompttemplate

http://localhost:18081/openai/simple/prompttemplate2

浙公网安备 33010602011771号