Spring AI(二):如何在使用的时候指定角色,使用模板

Spring AI在调用的时候专门设置了一个 Prompt类,用来填写调用大模型的提示词。 可以分角色,用不同的信息调用


主要角色包括:

  • System 角色:指导 AI 的行为和响应风格,设定 AI 解释和回复输入的参数或规则,类似于在开始对话前向 AI 提供指令。

  • User 角色:代表用户的输入 --- 包括问题、命令或对 AI 的陈述。该角色构成 AI 响应的基础,具有根本重要性。

  • Assistant 角色:AI 对用户输入的响应,不仅是答案或反应,更对维持对话流至关重要。通过追踪 AI 之前的响应(其 "Assistant Role" 消息),系统确保连贯且上下文相关的交互。助手消息也可能包含函数工具调用请求信息 --- 这是 AI 的特殊功能,在需要时执行计算、获取数据等超越对话的特定任务。

  • Tool/Function 角色:专注于响应工具调用类助手消息,返回附加信息。

而且可以提前设置好模版 模板中可以使用分隔符,用来设定调用过程中的话传参

java 复制代码
PromptTemplate promptTemplate = PromptTemplate.builder() .renderer(StTemplateRenderer.builder().startDelimiterToken('<')
.endDelimiterToken('>').build()) 
.template(""" Tell me the names of 5 movies whose soundtrack was composed by <composer>. """) .build();

也可以使用默认的

java 复制代码
@Configuration  
class Config {  
  
    @Bean  
    ChatClient chatClient(ChatClient.Builder builder) {  
        return builder.defaultSystem("你是我的好朋友,你要以{voice}的语气跟我说话")  
                .build();  
    }  
  
}

其中defaultSystem 指的就是默认的系统角色设置的信息,一般都用来补充回答时角色的设定等信息。

调用方式支持Fluent API调用方式

java 复制代码
        this.chatClient.prompt()  
                .system(sp -> sp.param("voice", voice))  
                .user(message)  
                .call()  
                .content();

其中配置类

java 复制代码
.system(sp -> sp.param("voice", voice))  

//部门使用传参的方式,补充默认系统角色中提前设定的好的参数。

这样即可调用完成~

相关推荐
程序猿DD2 小时前
OctaFuse Gateway 2.15.0:MCP 聚合、向量 Embeddings 与官方目录同步
后端·agent
余槐i5 小时前
PostgreSQL 函数索引报错 must be immutable:3种绕法与代价
数据库·后端·sql·postgresql·性能优化
需要8265 小时前
Spring Bean 生命周期:从实例化到销毁的完整钩子
java·后端·spring
凤山老林6 小时前
Spring Boot 接入国密 SM2/SM3/SM4 的一些实践记录
spring boot·后端·python
伯恩bourne7 小时前
Spring Boot Bean 注册的两种方式:@Component 家族 vs @Configuration + @Bean
java·spring boot·后端
张彦峰ZYF7 小时前
停顿短不等于延迟低:G1、ZGC 与低延迟服务的目标分野、代价账本与选型标定
后端·回收暂停、应用停止总时长·到达安全点、分配停滞·屏障吃吞吐、并发线程吃核心·并发窗口吃堆余量·分区式靠挑回收集兑现目标·染色指针式不支持压缩引用
pride.li8 小时前
第03章 Python 教程-基础语法:注释与变量
服务器·前端·后端·python·算法·计算机视觉
upala9 小时前
【仓颉语言入门 · 第二篇 第 6 课】
后端
罗丹丹Luna9 小时前
移动端显示“已提交”以后:SAP 与低代码集成该怎样暴露真实状态
后端·架构
码事漫谈9 小时前
因为太想讨好你,所以AI会骗你
后端