Function Calling介绍
摘要: 本文介绍了大语言模型(LLM)突破自身限制的关键技术-Function Calling。当LLM遇到实时数据获取、专业计算或操作执行等复杂任务时,可通过调用外部工具(如API、计算器等)实现功能扩展。文章详细解析了Function Calling的工作原理,并提供了OpenAI接口的调用示例代码,包括请求体参数配置和工具函数定义方法。该技术能有效解决LLM的实时性、准确性和操作性局限,为开
👨 作者简介:大家好,我是Taro,全栈领域创作者
✒️ 个人主页:唐璜Taro
🚀 支持我:点赞👍+📝 评论 + ⭐️收藏
前言
大语言模型(LLM)在处理复杂任务时可能会遇到自身能力的局限性,例如无法调用实时数据、或进行特定服务操作时。这种情况下,如何让模型突破自身限制,完成更复杂的任务成为了亟待解决的问题。Function Calling正是为了解决这一问题而设计的
提示:以下是本篇文章正文内容,下面案例可供参考
一、Function Calling是什么?
Function Calling = AI 发现自己“不会” → \rightarrow → 查“说明书”找工具 → \rightarrow → 呼叫外部程序帮忙。
1. 帮助LLM突破自身局限
-
实时性:AI 没联网,不知道今天几度?——调用天气 API。
-
准确性:AI 算复利经常出错?——调用专业计算器。
-
操作性:AI 只能动嘴,没法发邮件?——调用邮箱服务。
二、使用步骤
Function Calling的过程发生在调用 LLM 接口的那一刻。它并不是存储在 LLM 的数据库里,而是作为你发送给 AI 的**请求参数(Request Body)**的一部分
1.在请求体中添加相关函数。
代码如下(示例):
"tools": [
{
'type': 'function',
'function': {
'name': '对应到实际执行的函数名称',
'description': '此处是函数相关描述',
'parameters': {
'_comments': '此处是函数参数相关描述'
},
}
},
{
'_comments': '其他函数相关说明'
}
]
2.通过OpenAI库发起请求
代码如下(示例):
response = client.chat.completions.create(
model="MaaS模型名称",
messages = messages,
tools=[
{
'type': 'function',
'function': {
'name': '对应到实际执行的函数名称',
'description': '此处是函数相关描述',
'parameters': {
// 此处是函数参数相关描述
},
}
},
{
// 其他函数相关说明
}
]
// chat.completions 其他参数
)
该处使用的url网络请求的数据。
三、极简场景对比

总结
以上就是今天要讲的内容,本文仅仅简单介绍了\通过Function Calling,LLM能够调用外部函数或服务,从而扩展其自身的能力边界,执行它本身无法完成的任务。
这种机制不仅提升了模型的实用性,还使其能够处理更复杂、更专业的场景,例如实时天气查询、数据分析、API调用等,从而显著提升了模型的准确性和任务处理效率
更多推荐


所有评论(0)