完整题目
什么是 Function Calling(函数调用)?大模型是如何通过它来调用外部工具的,整个流程分哪几步?
本文目录
答案要点
- Function Calling 让大模型能"使用外部工具":查数据、调 API、执行动作
- 模型本身不执行任何代码,它只输出"我想调哪个函数、参数是什么"的结构化 JSON
- 三步流程:声明工具 schema → 模型出参 → 程序执行后把结果回灌给模型
- 解决了纯文本模型"只会说不会做"、拿不到实时/私有数据的问题
- 是 Agent(智能体)的地基能力
核心概念
Function Calling 是一种让大模型以结构化 JSON 的形式"表达调用意图"、由外部程序真正执行函数、再把结果交还给模型继续生成的机制。要先破除一个常见误解:模型自己并不能执行代码,它只是根据工具描述,决定"该调用哪个函数、传什么参数",真正跑代码的是你的程序。
三步流程
- 声明工具(schema):开发者在请求里用 JSON Schema(一种描述数据结构的规范)写清每个函数的名字、功能、参数类型,比如
get_weather(city: string)。 - 模型出参:模型判断当前问题需要用工具时,不再回复自然语言,而是输出结构化调用请求,如
{"name": "get_weather", "arguments": {"city": "北京"}}。 - 执行回灌:你的代码解析这段 JSON、真正去调天气 API,再把返回结果作为一条新消息塞回对话,模型基于真实数据生成最终回答。