工具调用概述
工具调用(Tool Calling,也称为 函数调用 Function Calling)是 AI 应用中的一种常见模式,允许模型与一组 API 或”工具”交互,从而扩展模型的能力。
工具主要用于以下场景:
- 信息检索(Information Retrieval):此类工具用于从外部源(如数据库、Web 服务、文件系统或搜索引擎)检索信息,目的是增强模型的知识,使其能回答原本无法回答的问题,比如适用于 检索增强生成(RAG) 场景。工具的使用例子有“获取某地的当前天气”、“检索最新新闻文章”、“查询数据库中的特定记录”等等
- 执行操作(Taking Action):此类工具可在软件系统中执行操作,如发送邮件、在数据库中创建记录、提交表单或触发工作流,旨在自动化原需人工干预或显式编程的任务。比如“为聊天机器人用户预订航班”、“填写网页表单”、“在代码生成场景中依据自动化测试实现 Java 类(TDD)”
虽然通常称”工具调用”是模型的能力,但实际上由客户端应用程序提供工具调用逻辑。模型只能请求调用工具并提供输入参数,应用程序负责执行工具并返回结果。模型永远不会直接接触被注册为工具的 API。