本篇是 Spring AI 系列第 5 篇。前情:第 4 篇 《Spring AI 结构化输出:让 AI 乖乖返回 Java 对象》 讲了怎么让 AI 返回结构化的 Java 对象。但对象里的数据是模型"编"的还是"查"的?这篇解决关键一步——让 AI 主动调用你写好的 Java 方法去拿真实数据,这就是 Tool Calling(工具调用)。
为什么需要工具调用
大模型有两个天生的短板:不知道实时信息,也不会执行动作。你问它"北京今天多少度",它要么答不上来,要么一本正经地胡编一个——因为训练数据里根本没有今天的天气。
工具调用就是给模型装上"手"。你把查天气的方法告诉它,模型在需要时会自己决定调用这个方法、填好参数,拿到真实返回值后再组织成人话回复你。整个决策过程由模型完成,你只负责把方法暴露出去。
一句话:结构化输出是让 AI 把话说规整,工具调用是让 AI 去干活。
最小示例:用 @Tool 暴露一个方法
Spring AI 1.0 用 @Tool 注解标记一个可被模型调用的方法,@ToolParam 描述参数。假设我们有个查天气的服务:
订阅专栏 解锁全文
:Tool Calling 让 AI 自动调用你的 Java 方法(附完整代码)&spm=1001.2101.3001.5002&articleId=162926243&d=1&t=3&u=15e8ae2e8ba542d7ab018ee7bed9d4eb)
2575

被折叠的 条评论
为什么被折叠?



