AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
最近在研究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,是通过提示词来发起调用的吗的更多相关文章
- asp.net mvc短信接口调用——阿里大于API开发心得
互联网上有许多公司提供短信接口服务,诸如网易云信.阿里大于等等.我在自己项目里需要使用到短信服务起到通知作用,实际开发周期三天,完成配置.开发和使用,总的说,阿里大于提供的接口易于开发,非常的方便,短 ...
- 微信小程序开发——连续快速点击按钮调用小程序api返回后仍然自动重新调用的异常处理
前言: 小程序开发中诸如获取用户手机号码.调起微信支付.领取卡券等api都是会有一定的延迟的.也就是说通过点击按钮调用这些api的时候,从点击按钮调用api,到支付页面或者领取卡券界面展示出来是需要一 ...
- web开发调用百度地图API + AK申请
web开发调用百度地图API + AK申请 要使用百度地图的API我们首先需要在我们的html页面引入js----`` 如何获取百度地图ak: 1.登陆百度地图开发者平台 2.注册百度开发者账号并登陆 ...
- 跨平台移动开发_PhoneGap 使用Geolocation基于所在地理位置坐标调用百度地图API
使用Geolocation基于所在地理位置坐标调用百度地图API 效果图 示例代码 <!DOCTYPE html> <html> <head> <title& ...
- 微信小程序开发(十三)安卓手机调用wx.getConnectedWifi API失败
安卓手机调用wx.getConnectedWifi API失败,返回的错误码是12000.需要先startWifi 接口: wx.startWifi({ success(res) { console. ...
- AI应用开发实战 - 定制化视觉服务的使用
AI应用开发实战 - 定制化视觉服务的使用 本篇教程的目标是学会使用定制化视觉服务,并能在UWP应用中集成定制化视觉服务模型. 前一篇:AI应用开发实战 - 手写识别应用入门 建议和反馈,请发送到 h ...
- Python3调用Hadoop的API
前言: 上一篇文章 我学习使用pandas进行简单的数据分析,但是各位...... Pandas处理.分析不了TB级别数据的大数据,于是再看看Hadoop. 另附上人心不足蛇吞象 对故事一的感悟: ...
- C#调用百度地图 api
转 http://blog.csdn.net/kkkkkxiaofei/article/details/8663377 这一篇,记录一下我调用的地图API实现的功能.下面介绍的都是一些片段的节选,不 ...
- 调用图灵机器人API实现Android智能机器人
非常感谢CSDN博客上的鸿洋哥,他贴出的源码是我所做的工作的基础,鸿洋哥博客链接http://blog.csdn.net/lmj623565791/article/details/38498353 下 ...
- Python如何调用新浪api接口的问题
前言:这些天在研究如何调用新浪开放平台的api分析新浪微博用户的数据 成果:成功调用了新浪api获取了用户的一些个人信息和无数条公共微博 不足:新浪开放平台访问有限制,返回的数据着实有限,不足以分析问 ...
随机推荐
- Qt采集本地摄像头推流成rtsp/rtmp(可网页播放/支持嵌入式linux)
一.功能特点 支持各种本地视频文件和网络视频文件. 支持各种网络视频流,网络摄像头,协议包括rtsp.rtmp.http. 支持将本地摄像头设备推流,可指定分辨率和帧率等. 支持将本地桌面推流,可指定 ...
- Qt音视频开发26-监控画面各种图形绘制设计
一.前言 视频监控系统做到后面,逐渐需要搭配人工智能算法,将算法计算后的信息以OSD标签以及方框各种图形的信息显示到视频中,这种当然和OSD一样也是有两种方式,一种是源头就贴好了,一种是将结果发给软件 ...
- Abp vNext 扩展属性
扩展属性 我们发现abp的默认都会有一个ExtraProperties属性,那么他的作用是什么呢?当我们使用abp的时候,需要对其原有的表进行扩展或者添加我们想要的字段,又不想改源码,以最小的方式实现 ...
- echo输出
linux中不免经常使用echo进行输出,或输出到屏幕,或输出到文件.但是使用的时候会发现,在想要输出一些需要转义的字符时,例如\t等,它却原样不动的输出了. 使用man命令查看echo的帮助文档,会 ...
- 微服务实战系列(三)-springcloud、springboot及maven之间关系-copy
1 . 问题描述 随着springboot.springcloud的不断迭代升级,开发效率不断提升,越来越多的开发团队加入到spring的大军中,今天用通俗的语言,介绍下什么是springboot,s ...
- Mysql死锁问题如何排查和解决
Mysql 查询是否存在锁表有多种方式,这里只介绍一种最常用的. 1.查看正在进行中的事务SELECT * FROM information_schema.INNODB_TRX2.查看正在锁的事务SE ...
- Spring Cloud认知学习(一)--Eureka使用、Ribbon使用
Spring Cloud是一个微服务架构,他有多种组件来管理微服务的方方面面.Spring Cloud是用于构建微服务开发和治理的框架的集合. Spring Cloud是最热门的Java技术毋庸置疑. ...
- Qml 中实现任意角为圆角的矩形
[写在前面] 在 Qml 中,矩形(Rectangle)是最常用的元素之一. 然而,标准的矩形元素仅允许设置统一的圆角半径. 在实际开发中,我们经常需要更灵活的圆角设置,例如只对某些角进行圆角处理,或 ...
- C :文件
一直没有系统学习过该章节,现参考<C语言程序设计 (第四版)谭浩强> C文件基本知识 什么是文件 文件名 文件的分类 文件缓冲区 文件类型指针 typedef struct { short ...
- npm run的时候报错: this[kHandle] = new _Hash(algorithm, xofLen);
在前面加入以下配置信息 set NODE_OPTIONS=--openssl-legacy-provider && 后面跟原来的启动配置信息 另外一种方式,可以避免修改package. ...