ToolLLM:助力大型语言模型掌握16000多个真实世界API

尽管开源大型语言模型(LLMs),如LLaMA,在多个方面取得了显著进展,其在工具使用能力方面仍存在明显局限,即无法有效调用外部工具(如API)来完成人类指令。其根本原因在于,当前的指令微调(instruction tuning)主要聚焦于基础语言任务,而忽视了工具使用这一关键领域。这与最先进的闭源大模型(如ChatGPT)所展现出的卓越工具使用能力形成鲜明对比。为弥合这一差距,我们提出ToolLLM——一个涵盖数据构建、模型训练与评估的通用工具使用框架。我们首先构建了ToolBench,这是一个面向工具使用的指令微调数据集,其构建过程完全基于ChatGPT自动完成。整个构建流程可分为三个阶段:(i)API收集:从RapidAPI Hub中收集了涵盖49个类别的16,464个真实世界RESTful API;(ii)指令生成:利用ChatGPT生成多样化、包含这些API的指令,覆盖单工具与多工具使用场景;(iii)解决方案路径标注:通过ChatGPT自动搜索并标注每条指令对应的合法解决方案路径(即一系列API调用序列)。为进一步提升大模型的推理能力,我们设计了一种基于深度优先搜索的新型决策树算法。该算法使大模型能够评估多种推理路径,并有效扩展搜索空间,从而增强其规划与决策能力。此外,为实现对大模型工具使用能力的自动化评估,我们开发了ToolEval评估工具。基于ToolBench数据集,我们对LLaMA模型进行微调,得到LLM ToolLLaMA,并引入神经API检索器(neural API retriever),以根据输入指令推荐最合适的API。实验结果表明,ToolLLaMA在执行复杂指令方面表现出色,具备良好的泛化能力,能够有效应对未见过的API,其性能与ChatGPT相当。此外,在分布外(out-of-distribution)的工具使用数据集APIBench上,ToolLLaMA也展现出强大的零样本泛化能力。