SuperAPI AI 工具集

ToolBench

ToolBench 是一个面向工具学习(tool learning)的开源平台,旨在训练、服务和评估大语言模型的工具使用能力。项目通过从 RapidAPI 收集 16464 个真实 REST API,并利用 ChatGPT 自动生成涵盖单工具与多工具场景的高质量指令数据,构建了大规模指令微调数据集 ToolBench。团队提出基于深度优先搜索的决策树方法 DFSDT 来增强模型的规划与推理能力,并发布了微调模型 ToolLLaMA,以及配套的自动评估器 ToolEval。项目提供数据、训练与评估脚本、Web 演示和推理支持,面向研究与教育用途,采用 Apache License 2.0 许可。

访问官网

工具介绍

ToolBench 是由 OpenBMB 团队开发的开源平台,目标是为大语言模型的工具学习提供训练、服务和评估的全流程支持,项目论文入选 ICLR'24 spotlight。

用途方面,ToolBench 致力于构建开源、大规模、高质量的指令微调 SFT 数据,帮助开源大语言模型掌握数千种真实世界 API 的通用工具使用能力。其核心项目 ToolLLM 通过自动化的方式收集数据并微调模型,使开源模型在工具使用任务上达到与 ChatGPT 相当的表现。

主要能力包括:

  1. API 收集:从 RapidAPI 平台收集了 16464 个代表性 REST API,覆盖大量真实世界开发者提供的接口。
  2. 指令生成:构建涵盖单工具和多工具场景的指令。多工具场景又细分为类别内多工具(intra-category multi-tool)和集合内多工具(intra-collection multi-tool)。
  3. 答案标注:提出基于深度优先搜索的决策树方法 DFSDT,增强大语言模型的规划与推理能力,显著提升标注效率,并能成功标注那些无法用 CoT 或 ReACT 解决的复杂指令。标注结果不仅包含最终答案,还包含模型的推理过程、工具执行和工具执行结果。
  4. API 检索器:引入 API 检索功能,使 ToolLLaMA 具备开放域工具使用能力。
  5. 模型发布:发布 ToolLLaMA-2-7b-v2(基于最新数据训练)以及 ToolLLaMA-7b-v1、ToolLLaMA-7b-LoRA-v1(基于 0801 版本数据训练)。所有模型以多任务方式在发布数据集上训练。同时发布工具检索器。
  6. 评估工具 ToolEval:参考 AlpacaEval 开发的高效机器评估器,包含两项指标——Pass Rate(在有限 OpenAI API 调用内成功完成指令的比例)和 Preference(比较两个答案/动作序列的偏好,计算胜率 Win Rate)。已验证 ChatGPT 评估器与人类标注者在通过率上的一致性为 87.1%,在胜率上为 80.3%。
  7. 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 许可。关于收费、价格、平台要求等具体信息,资料中暂未提供。