院儿饯 发表于 2025-12-4 07:55:00

Solon AI 开发学习11 - chat - 工具调用与定制(Tool Call)

Tool call(或 Function call)能够让大语言模型在生成时,“按需”调用外部的工具,进而连接外部的数据和系统。通过定义一组函数作为模型可访问的工具(也叫函数工具),并根据对话历史在适当的时候使用它们。然后在应用端执行这些函数,并将结果反馈给模型。
可以实现最新的数据状态(比如,联网查询时实天气)或者指令交互(比如,做运维操作)。是 AI 交互系统的基础技术。
相关接口:
接口或类描述备注FunctionTool函数工具接口为 ChatModel 提供工具ToolProvider工具提供者接口为 ChatModel 提供批量工具FunctionToolDesc函数工具描述类@ToolMapping工具映射注解MethodFunctionTool方法工具MethodToolProvider方法工具提供者分析出对象中的 @ToolMapping 函数,并构建出方法工具集合@Param参数映射注解1、FunctionTool (函数工具声明)接口与注解

工具,目前主要是指函数工具 FunctionTool(未来可能有不同类型的工具)。接口需要声明工具的类型和名字,描述,输入架构(由输入参数的名字、描述、类型,组合构成),及以处理方法。
//工具接口
public interface ChatTool {
    //工具类型
    String type();
}

//函数工具接口
public interface FunctionTool extends ChatTool {
    //工具类型
    default String type() { return "function"; }

    //名字
    String name();

    //描述
    String description();
   
    //是否直接返回给调用者(v3.2.1 后支持)
    boolean returnDirect();

    //输入架构
    ONode inputSchema();
   
    //输出架构
    default String outputSchema() { return null;}

    //处理
    String handle(Map<String, Object> args) throws Throwable;
}开发时,也可以使用注解简化工具声明(不需要 Bean 容器驱动):
@Target({ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface ToolMapping {    //名字    String name() default "";    //描述    String description();    //是否直接返回给调用者    boolean returnDirect() default false;    //结果转换器    Class

别萧玉 发表于 2025-12-13 20:44:45

懂技术并乐意极积无私分享的人越来越少。珍惜

哈妙思 发表于 2025-12-15 01:18:56

感谢分享

孜尊 发表于 2025-12-25 17:28:16

收藏一下   不知道什么时候能用到

讲怔 发表于 2026-1-14 12:04:56

分享、互助 让互联网精神温暖你我

萨瑞饨 发表于 2026-1-15 01:22:15

不错,里面软件多更新就更好了

咪四 发表于 2026-1-17 23:19:11

这个有用。

怃膝镁 发表于 2026-1-20 08:10:56

新版吗?好像是停更了吧。

客臂渐 发表于 2026-1-20 13:42:32

感谢,下载保存了

况雪柳 发表于 2026-1-21 07:52:47

感谢分享,下载保存了,貌似很强大

盒礁泅 发表于 2026-1-22 05:37:54

不错,里面软件多更新就更好了

支智敏 发表于 2026-1-23 03:08:39

新版吗?好像是停更了吧。

圣罩 发表于 2026-1-24 11:14:00

感谢分享,下载保存了,貌似很强大

祖娅曦 发表于 2026-2-3 06:47:15

收藏一下   不知道什么时候能用到

章海 发表于 2026-2-7 05:00:31

谢谢楼主提供!

郗新语 发表于 2026-2-8 08:24:01

这个有用。

涂流如 发表于 2026-2-8 10:40:02

谢谢分享,试用一下

碛物 发表于 2026-2-8 17:55:31

新版吗?好像是停更了吧。

澹台忆然 发表于 2026-2-9 15:27:11

感谢发布原创作品,程序园因你更精彩

劳暄美 发表于 2026-2-10 17:05:24

喜欢鼓捣这些软件,现在用得少,谢谢分享!
页: [1] 2
查看完整版本: Solon AI 开发学习11 - chat - 工具调用与定制(Tool Call)