AI Agent开发如何调用三方API Function

人工智能 潘老师 1个月前 (03-17) 42 ℃ (0) 扫码查看

最近研究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_weatherarguments里给出了函数需要的参数,也就是城市名称“北京”。

(四)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就没那么复杂啦!希望这篇文章能让大家对这块内容有更清晰的认识。要是还有啥疑问,欢迎在评论区留言讨论。


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/ai/15901.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】