springAI中tools的使用
1.使用Tool注解注册toolTool(description 获取当前日期和时间当用户询问时间、日期时调用。) public String getCurrentDateTime() { log.info(tools调用获取时间); return LocalDateTime.now().format(DateTimeFormatter.ofPattern(yyyy-MM-dd HH:mm:ss)); } Tool(description 计算两个数字之和当用户需要进行加法运算时调用此工具。) public int addNumbers(int a, int b) { log.info(tools调用获取数字之和传参--{},{}, a, b); return a b; }2.chatclient中使用tools方法Resource private MyTools myTools; // 注入工具类 GetMapping(/toolsChat) public String toolsChat(RequestParam String userInput) { // 通过 .tools() 方法注册工具实例 return chatLogClient.prompt(userInput) .tools(myTools) .call() .content(); }3.原理二阶段调用第一阶段模型决定是否需要工具以及用什么参数第二阶段模型根据工具结果生成最终回答一阶段传入问题和工具让模型判断是否调工具调哪个工具并执行返回结果二阶段根据一阶段的结果让模型输出最终回答4.ToolParamToolParam注解为参数提供更详细的描述Tool(description 查询指定城市的天气) public String getWeather( ToolParam(description 城市名称例如北京、上海) String cityName, ToolParam(description 温度单位可选值Celsius摄氏度或 Fahrenheit华氏度, required false) String unit) { // ... 天气查询逻辑 log.info(tools调用查询天气传参--{},{}, cityName, unit); return cityName 的天气是阳光明媚的29摄氏度; }
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2516837.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!