STM32上C++实战:从C到C++的嵌入式开发转型指南
2026/9/22 3:00:39
Function Call直译是“函数调用”,但用通俗的话讲,它就是LLM 的 “工具箱使用能力”—— 就像我们遇到算不清的数学题会拿计算器,LLM 遇到自己搞不定的问题(比如查实时数据、复杂计算、翻译),会 “喊工具来帮忙”。
LLM 的强项是理解语言、生成文本,但短板很明显:不会算复杂数学题、拿不到实时数据(比如当前股票价格)、不能直接操作硬件。Function Call 就是给 LLM 搭了个 “桥梁”,让它能:
简单说:Function Call 让 LLM 从 “只会聊天” 变成 “能做事”,比如查天气、订机票、分析数据库,都靠它对接外部工具。
{ "name": "translate_text", // 工具名字:翻译文本 "description": "将文本从一种语言翻译成另一种语言", // 工具功能说明 "inputSchema": { // 工具需要的输入参数 "type": "object", "properties": { "text": { "type": "string", "description": "需要翻译的文本内容" }, // 必传:要翻译的文字 "source_lang": { "type": "string", "default": "auto", "description": "源语言(默认自动检测)" }, // 可选:原语言 "target_lang": { "type": "string", "description": "目标语言(如en、ja)" } // 必传:要翻译成的语言 }, "required": ["text", "target_lang"] // 必须传的参数 } }当用户说 “把‘我爱自然语言处理’翻译成英文”,LLM 会对照这个 “说明书”,生成指令调用translate_text工具,传入参数text="我爱自然语言处理"、target_lang="en",工具返回 “I love natural language processing”,LLM 再把这个结果告诉用户。
就像不同品牌的手机充电器接口不一样(苹果 Lightning、安卓 USB-C),不同 LLM 厂商(OpenAI、Claude、Gemini、LLaMA)的 Function Call 定义格式也不一样 —— 这给开发