逻辑设计
开始->了解、分析用户->查询满足条件的商品->给用户推荐->新增订单->完成
加粗为大模型处理;其他两个是传统程序处理,将其定义为方法
prompt设计
略
function
- 发送prompt,包含function定义(一个复杂的json)
- agent任务拆分,判断是否需要调用function
- 返回function名称和参数
- 执行函数,拼接结果到prompt,再次发送给大模型
要注意大模型是否支持function
定义function
在后续版本中,function也叫做tools。
首先定义tools模板:
1 |
|
在实现每个方法:
1 |
|
spring-ai会通过反射实现
配置tools
在chatclient中配置defaultTools(xxxTools),同时需要配置defaultSystem(SystemConstants.SERVICE_SYSTEM_PROMPT)系统提示词身份
在调用tools,由于spring AI和Alibaba不兼容,会导致FunctionCalling无法使用stream模式。版本是M6,后续版本应该修复了
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 coder-xuyong!
评论





