ToolBench 是由 OpenBMB 团队开发的开源平台,目标是为大语言模型的工具学习提供训练、服务和评估的全流程支持,项目论文入选 ICLR'24 spotlight。
用途方面,ToolBench 致力于构建开源、大规模、高质量的指令微调 SFT 数据,帮助开源大语言模型掌握数千种真实世界 API 的通用工具使用能力。其核心项目 ToolLLM 通过自动化的方式收集数据并微调模型,使开源模型在工具使用任务上达到与 ChatGPT 相当的表现。
主要能力包括:
- API 收集:从 RapidAPI 平台收集了 16464 个代表性 REST API,覆盖大量真实世界开发者提供的接口。
- 指令生成:构建涵盖单工具和多工具场景的指令。多工具场景又细分为类别内多工具(intra-category multi-tool)和集合内多工具(intra-collection multi-tool)。
- 答案标注:提出基于深度优先搜索的决策树方法 DFSDT,增强大语言模型的规划与推理能力,显著提升标注效率,并能成功标注那些无法用 CoT 或 ReACT 解决的复杂指令。标注结果不仅包含最终答案,还包含模型的推理过程、工具执行和工具执行结果。
- API 检索器:引入 API 检索功能,使 ToolLLaMA 具备开放域工具使用能力。
- 模型发布:发布 ToolLLaMA-2-7b-v2(基于最新数据训练)以及 ToolLLaMA-7b-v1、ToolLLaMA-7b-LoRA-v1(基于 0801 版本数据训练)。所有模型以多任务方式在发布数据集上训练。同时发布工具检索器。
- 评估工具 ToolEval:参考 AlpacaEval 开发的高效机器评估器,包含两项指标——Pass Rate(在有限 OpenAI API 调用内成功完成指令的比例)和 Preference(比较两个答案/动作序列的偏好,计算胜率 Win Rate)。已验证 ChatGPT 评估器与人类标注者在通过率上的一致性为 87.1%,在胜率上为 80.3%。
- Web 界面:基于 Chatbot UI 构建的 Web UI,分为后端服务器和 chatbot-ui-toolllama 两部分。
使用方式方面,项目提供了完整的数据下载、训练和推理脚本。数据可通过 Google Drive 或清华云盘下载,包含 instruction 和 answer 数据、toolenv 工具环境数据、retrieval 检索数据、测试指令及 ID 等。训练代码基于 FastChat,例如可用 2 张 A100(80GB)训练 ToolLLaMA-7b。推理可使用项目提供的 RapidAPI 后端服务(需填写表单获取 toolbench key),也可使用自己的 RapidAPI 账号。项目支持 API 自定义,可添加新的 API 文档和代码进行推理(目前仅支持闭域设置下的自定义 API)。Web 界面方面,应用运行在 http://localhost:3000/,后端服务器运行在 http://localhost:5000/,通过向 /stream 发送 GET 或 POST 请求(包含 JSON 对象)发起请求。
适用场景主要是研究工具学习、大语言模型工具使用能力、指令微调数据构建、模型评估等方向的学术与工程工作。项目声明仅用于研究和教育目的。
限制方面,资料明确提到自定义 API 使用目前仅支持闭域设置,开放域支持计划中。项目采用 Apache License 2.0 许可。关于收费、价格、平台要求等具体信息,资料中暂未提供。