1. 语言模型如何学会使用外部工具
第一次看到ChatGPT调用天气API返回实时数据时,我盯着屏幕愣了三秒——这玩意儿居然真的会"动手"了?作为从业者,我们清楚LLM本质是文本生成模型,它的"手"其实是通过特定格式的指令来操控外部工具。这种能力突破,让语言模型从"知道分子"变成了"实干家"。
核心原理在于工具说明书的上下文植入。就像教孩子使用螺丝刀,我们会先演示:什么时候用(拧螺丝时)、怎么选(十字/一字头)、如何操作(顺时针旋转)。对LLM而言,这些知识被打包成结构化提示词(prompt),通常包含三个关键部分:
- 工具描述(功能场景)
- 调用格式(语法模板)
- 参数说明(输入输出)
例如定义天气查询工具:
python复制tools = [{
"name": "get_weather",
"description": "查询指定城市未来24小时天气情况",
"parameters": {
"type": "object",
"properties": {
"location": {"type": "string", "description": "城市名称"}
}
}
}]
当用户询问"上海明天要带伞吗?",模型会生成如下调用指令:
json复制{"location": "上海"}
这个看似简单的交互背后,藏着三个关键技术突破:
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 工具调用决策机制解析
2.1 触发条件判断
模型需要区分何时该用自己的知识,何时求助外部工具。这依赖于对问题类型的隐式分类:
- 通用知识类(模型已知):"Python怎么定义函数"
- 实时信息类(需工具):"特斯拉股价多少"
- 复杂计算类(需工具):"3567的平方根是多少"
在工程实现上,通常采用两种判定策略:
- 置信度阈值法:当生成文本的置信度低于设定阈值(如0.7)时触发工具调用
- 关键词匹配法:预设需要工具介入的关键词(股价、天气等)
实际应用中更推荐混合策略:先用关键词快速过滤,再用置信度精细判断
2.2 工具选择算法
面对多个可用工具时,模型通过语义相似度计算进行匹配。以这个工具库为例:
