AI 大模型函数调用 Function Calling:接口演进、缺陷分析与逻辑赋能
探讨了人机交互接口与应用程序编程接口的发展演进,分析了 AI 大模型在知识时效性与逻辑推理方面的固有缺陷。重点介绍了函数调用(Function Calling)机制如何通过连接外部工具与真实世界数据,为大模型注入确定性逻辑,从而弥补其概率生成文本的不足,实现更精准的业务交互。文章还补充了函数调用的技术实现流程,包括 Schema 定义、参数解析及执行反馈机制。

探讨了人机交互接口与应用程序编程接口的发展演进,分析了 AI 大模型在知识时效性与逻辑推理方面的固有缺陷。重点介绍了函数调用(Function Calling)机制如何通过连接外部工具与真实世界数据,为大模型注入确定性逻辑,从而弥补其概率生成文本的不足,实现更精准的业务交互。文章还补充了函数调用的技术实现流程,包括 Schema 定义、参数解析及执行反馈机制。

接口类型:"接口"的关键在于,使用接口的双方要遵守"事先约定"。
人机交互接口经历了以下演变:
上述发展仅仅是从 AI 大模型角度出发考虑的应用程序编程接口发展问题,短时间内完全实现的可能性不大。
GPT 大模型 (Generative Pre-trained Transformer) 是一种基于 Transformer 架构的生成式预训练语言模型,在大规模无监督文本数据上进行预训练,学习语言的普遍规律,从而具备生成高质量文本的能力。
通过预测单词序列中下一个单词的方式,模型能够学习到文本中的语法、语义和上下文信息,从而捕捉到丰富的语言知识。根据概率生成文本的机制,例如提示词是 "The cat",根据现有提示词,后面生成每个词的概率中,"sat" 的概率最大,则生成 "sat" 单词。
AI 大模型存在如下缺陷:
针对上述三种缺陷,需要有一种机制,使得 AI 大模型需要与外部进行交互,为 AI 大模型对接各种接口:
上述对接可以通过函数调用 (Function Calling) 实现。函数调用是大模型与真实世界的实际业务进行联系交互的纽带,使用函数调用可以将大模型与实际业务进行关联。
"真逻辑" 必须是符合逻辑规律、能够正确反映事物本质和规律的逻辑推理,有如下特点:
GPT 大模型并没有逻辑推理能力。
AI 大模型没有"真逻辑",只是一个基于概率生成文本的工具。代码编程,使用顺序/选择/循环解决的各种问题的方式是"真逻辑",可以确定性地解决各种具体的问题。
函数调用 Function Calling 就是使用代码实现的"真逻辑",嵌入到 AI 大模型中,在大模型的概率生成文本的基础上增加确定性的"真逻辑"功能,可以解决所有的问题。
为了更具体地理解 Function Calling 如何工作,我们可以参考典型的实现流程。通常包括定义函数 Schema、模型解析意图、执行函数并返回结果三个步骤。
开发者需要预先定义可供大模型调用的函数描述,通常包含函数名称、描述、参数结构及类型。以下是一个 Python 伪代码示例:
functions = [
{
"name": "get_weather",
"description": "获取指定城市的当前天气情况",
"parameters": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "城市名称"
}
},
"required": ["city"]
}
}
]
当用户提问时,大模型会根据上下文判断是否需要调用函数。如果需要,模型会输出符合 JSON Schema 格式的参数,而不是直接生成回答文本。
系统接收到模型输出的参数后,执行对应的后端逻辑(如查询数据库或调用第三方 API),将执行结果作为新的上下文反馈给大模型,由大模型生成最终的自然语言回答。
通过这种方式,大模型不仅具备了语言能力,还拥有了操作现实世界工具和获取实时数据的能力,有效弥补了其在逻辑推理和知识时效性上的不足。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online