最近在研究AI Agent如何调用三方API,整理了一篇文章,分享给大家。

调用三方 API(Function Calling)不是通过提示词(Prompt)来实现的,而是通过函数调用机制(Function Calling),具体流程如下:

1. 模型识别调用需求

大模型在解析用户输入时,会判断是否需要调用某个 API。如果需要,它不会直接生成文本回复,而是调用一个已注册的函数(Function)

2. API 方法注册

开发者需要在调用API 时,预先定义可用的 API 函数,并提供:

  • 函数名称(如 get_weather
  • 参数定义(使用 JSON Schema 描述参数结构)
  • 描述信息(帮助大模型理解函数用途)
{
"name": "get_weather",
"description": "获取某个城市的天气信息",
"parameters": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "城市名称"
}
},
"required": ["city"]
}
}

3. 大模型生成函数调用请求

当用户输入类似:

"北京今天的天气怎么样?"

大模型会解析出:

{
"name": "get_weather",
"arguments": {
"city": "北京"
}
}

 

4. AI Agent/程序调用三方 API 并返回结果

AI Agent/程序中,可以:

  • 调用实际的 API(如天气服务 API)
  • 获取数据
  • 将数据附加到Prompt中返回给大模型继续处理

示例:

{
"temperature": "15°C",
"weather": "晴天"
}

5. 大模型解析结果并返回最终文本

大模型处理 API 返回的数据,并生成自然语言回复给用户:

"北京今天是晴天,气温 15°C。"

总结

  • 不是通过提示词(Prompt)来调用 API,而是通过函数调用机制
  • 开发者需要预先注册 API 函数
  • 大模型识别需求后,自动构造 API 调用参数
  • 开发者负责执行 API 请求,并将结果返回 GPT
  • 大模型解析 API 结果并生成最终用户可读的回复

周国庆

2025/03/16

AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗的更多相关文章

  1. asp.net mvc短信接口调用——阿里大于API开发心得

    互联网上有许多公司提供短信接口服务,诸如网易云信.阿里大于等等.我在自己项目里需要使用到短信服务起到通知作用,实际开发周期三天,完成配置.开发和使用,总的说,阿里大于提供的接口易于开发,非常的方便,短 ...

  2. 微信小程序开发——连续快速点击按钮调用小程序api返回后仍然自动重新调用的异常处理

    前言: 小程序开发中诸如获取用户手机号码.调起微信支付.领取卡券等api都是会有一定的延迟的.也就是说通过点击按钮调用这些api的时候,从点击按钮调用api,到支付页面或者领取卡券界面展示出来是需要一 ...

  3. web开发调用百度地图API + AK申请

    web开发调用百度地图API + AK申请 要使用百度地图的API我们首先需要在我们的html页面引入js----`` 如何获取百度地图ak: 1.登陆百度地图开发者平台 2.注册百度开发者账号并登陆 ...

  4. 跨平台移动开发_PhoneGap 使用Geolocation基于所在地理位置坐标调用百度地图API

    使用Geolocation基于所在地理位置坐标调用百度地图API 效果图 示例代码 <!DOCTYPE html> <html> <head> <title& ...

  5. 微信小程序开发(十三)安卓手机调用wx.getConnectedWifi API失败

    安卓手机调用wx.getConnectedWifi API失败,返回的错误码是12000.需要先startWifi 接口: wx.startWifi({ success(res) { console. ...

  6. AI应用开发实战 - 定制化视觉服务的使用

    AI应用开发实战 - 定制化视觉服务的使用 本篇教程的目标是学会使用定制化视觉服务,并能在UWP应用中集成定制化视觉服务模型. 前一篇:AI应用开发实战 - 手写识别应用入门 建议和反馈,请发送到 h ...

  7. Python3调用Hadoop的API

    前言: 上一篇文章 我学习使用pandas进行简单的数据分析,但是各位...... Pandas处理.分析不了TB级别数据的大数据,于是再看看Hadoop. 另附上人心不足蛇吞象 对故事一的感悟:   ...

  8. C#调用百度地图 api

    转  http://blog.csdn.net/kkkkkxiaofei/article/details/8663377 这一篇,记录一下我调用的地图API实现的功能.下面介绍的都是一些片段的节选,不 ...

  9. 调用图灵机器人API实现Android智能机器人

    非常感谢CSDN博客上的鸿洋哥,他贴出的源码是我所做的工作的基础,鸿洋哥博客链接http://blog.csdn.net/lmj623565791/article/details/38498353 下 ...

  10. Python如何调用新浪api接口的问题

    前言:这些天在研究如何调用新浪开放平台的api分析新浪微博用户的数据 成果:成功调用了新浪api获取了用户的一些个人信息和无数条公共微博 不足:新浪开放平台访问有限制,返回的数据着实有限,不足以分析问 ...

随机推荐

  1. Qt音视频开发41-文件推流(支持网页和播放器播放并切换进度)

    一.前言 本功能最初也是有一些人提过类似的需求,就是能不能将本地的音视频文件,通过纯Qt程序推流出去,然后用户可以直接在网页上播放,也可以用各种播放器播放,然后还可以任意切换播放进度,其实说白了就是个 ...

  2. 在命令中输入信息创建maven项目

    参考链接: 1.使用命令行创建maven web项目 2.Maven 三种archetype说明 3.maven创建项目时在generating project in interactive mode ...

  3. Spring Cloud Alibaba AI 入门与实践

    一.概述 Spring AI 是 Spring 官方社区项目,旨在简化 Java AI 应用程序开发,让 Java 开发者像使用 Spring 开发普通应用一样开发 AI 应用. 可参考文章<S ...

  4. CDS标准视图:催款冻结 I_DunningBlockingReasonCode

    视图名称:催款冻结 I_DunningBlockingReasonCode 视图类型:基础视图 视图代码: 点击查看代码 @EndUserText.label: 'Dunning Blocking R ...

  5. abp.vNext mvc版中的js和css

    在创建vNextmvc版本后运行起来,F12可以看到如下js.css请求 这些文件来源: XXXX.Web/libs文件夹 /libs/abp/aspnetcore-mvc-ui-theme-shar ...

  6. OS:RAID

    什么是RAID? 独立磁盘冗余阵列[磁盘阵列](Redundant Arrays of Independent Disks,RAID) 磁盘阵列: 由很多块独立的磁盘,组合成一个容量巨大的磁盘组,利用 ...

  7. 第三届全国高校计算机能力挑战赛-C

    单项选择题 1.题 (3.0分) 以下叙述正确的是().  A.在C程序,至少要包含一个库函数  B.C程序的一行可以写多条语句  C.对一个C程序进行编译就可以生成可执行文件  D.C程序中的注释只 ...

  8. 自定义swagger扩展解析jsondoc

    需求规定 为了减少注释和swagger注解的重复定义, 通过规范注释, 让swagger可以通过javadoc来产生 替换@Api.@ApiOperation.@ApiModel.@ApiModelP ...

  9. Win10 20H2 家庭版 环境变量

    20H2 家庭版设置环境变量,此电脑--->属性,弹出的是新版本的设置界面,选择左侧的"关于",在最右侧的"相关设置"里面,选择"高级系统设置& ...

  10. 独立开发经验谈:我是如何借助 Docker 环境变量让客户 1 分钟上线客服系统的

    我在业余时间开发了一款自己的独立产品:升讯威在线客服与营销系统.陆陆续续开发了几年,从一开始的偶有用户尝试,到如今线上环境和私有化部署均有了越来越多的稳定用户,在这个过程中,我也积累了不少如何开发运营 ...