章
目
录
最近研究AI Agent开发的时候,发现调用三方API这块儿门道还挺多。好多小伙伴可能跟我一样,一开始都在琢磨,调用三方API Function,是不是靠提示词来发起的?今天就把我整理的内容分享给大伙,希望能帮到正在研究这块儿的朋友。
一、调用三方API可不是靠提示词
先给大家吃颗定心丸,调用三方API(也就是Function Calling),真不是通过提示词(Prompt)来实现的,而是依靠函数调用机制。这机制到底咋回事呢?下面我一步一步给大家拆解。
二、函数调用机制的详细流程
(一)模型识别调用需求
当大模型接收到用户输入的内容时,它就像个“智能小管家”,会先分析判断需不需要调用某个API。要是觉得有必要,它不会急着给出文本回复,而是去调用已经注册好的函数。打个比方,用户问的问题涉及到获取实时信息,比如天气、股票数据之类的,大模型就知道,这事儿得“麻烦”一下API了。
(二)API方法注册
咱们开发者在调用API之前,得提前做好准备工作,也就是注册可用的API函数。这就好比你去一个新地方办事,得先把相关部门的联系方式和办事流程搞清楚。注册的时候,要提供这些关键信息:
- 函数名称:就像人的名字一样,得给函数取个独一无二的名字,方便后续调用。比如说
get_weather
,一看就知道是获取天气信息用的。 - 参数定义:用JSON Schema来描述函数参数的结构。这就好比告诉函数,你要干活的话,需要哪些“工具”,这些“工具”得是什么样的。举个例子:
{
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "城市名称"
}
},
"required": ["city"]
}
上面这段代码定义了一个参数结构,它表示这个函数需要一个名为city
的参数,这个参数是字符串类型,用来表示城市名称,而且这个参数是必须要有的。
- 描述信息:给函数写个“小简介”,让大模型能明白这个函数具体是用来干啥的。比如“获取某个城市的天气信息”,大模型看到这个描述,就知道
get_weather
函数的用途啦。
(三)大模型生成函数调用请求
给大家举个实际的例子,当用户输入“北京今天的天气怎么样?”这样的问题时,大模型经过分析,就会“组装”出一个调用请求:
{
"name": "get_weather",
"arguments": {
"city": "北京"
}
}
这里面,name
指定了要调用的函数是get_weather
,arguments
里给出了函数需要的参数,也就是城市名称“北京”。
(四)AI Agent/程序调用三方API并返回结果
接下来就轮到AI Agent或者程序“上场”干活了。它会拿着大模型生成的请求,去调用实际的API,比如天气服务API。调用成功后,获取到相关数据,然后把数据附加到Prompt里,再返回给大模型接着处理。比如说,从天气API获取到的数据可能是这样:
{
"temperature": "15°C",
"weather": "晴天"
}
(五)大模型解析结果并返回最终文本
大模型收到AI Agent/程序返回的数据后,会对这些数据进行处理,把它们“翻译”成自然语言,最后回复给用户。像上面的天气数据,大模型可能就会回复:“北京今天是晴天,气温15°C。”
三、总结一下重点
- 调用三方API靠的是函数调用机制,和提示词没啥关系。
- 开发者得提前注册好API函数,把函数名、参数定义和描述信息都准备妥当。
- 大模型能自动识别需求,构造API调用参数。
- 开发者负责去执行API请求,然后把结果返回给大模型。
- 大模型再把API返回的结果解析处理,变成用户能看懂的回复。
搞清楚这套流程,在AI Agent开发里调用三方API就没那么复杂啦!希望这篇文章能让大家对这块内容有更清晰的认识。要是还有啥疑问,欢迎在评论区留言讨论。