第 03 篇 · 让大模型用工具:Function Calling 原理
那么Agent是怎么做事的呢,这里我们就需要引出一个关键机制:Function Calling。
Function Calling的作用,是让模型用结构化的方式表达自己的工具调用意图:它要调用哪个工具,需要传入哪些参数。
早在 2023 年 6 月,OpenAI 就在标准 API 中引入了 Function Calling。后来,不同模型厂商也陆续支持了类似能力,有的叫 Function Calling,有的叫 Tool Use,本质上都是让模型能够以结构化方式调用外部工具。
Function Calling 的工作流程
大部分人在第一次接触 Function Calling,都认为是模型拿到问题后,模型自己去执行工具然后得到结果。
还有同学问我,模型是怎么执行工具的。
这个理解是错误的,模型没有运行环境,它不能执行任何代码。
它能做的事,永远只有一件:根据你给它的文字,输出文字。
Function Calling 真正的流程是这样:我们用一个天气查询的例子,来看看流程是怎么样的。
图中模型第一次返回的信息是 我想调用 get_weather ,但执行这个函数的还是我们的程序。
模型只是 决定要不要调、调哪个工具、传什么参数 。