To address intricate real-world tasks, there has been a rising interest in tool utilization in applications of large language models (LLMs). To develop LLM-based agents, it usually requires LLMs to understand many tool functions from different tool documentation. But these documentations could be diverse, redundant or incomplete, which immensely affects the capability of LLMs in using tools. To solve this, we introduce EASYTOOL, a framework transforming diverse and lengthy tool documentation into a unified and concise tool instruction for easier tool usage. EasyTool purifies essential information from extensive tool documentation of different sources, and elaborates a unified interface (i.e., tool instruction) to offer standardized tool descriptions and functionalities for LLM-based agents. Extensive experiments on multiple different tasks demonstrate that EasyTool can significantly reduce token consumption and improve the performance of tool utilization in real-world scenarios. Our code will be available at \url{https://github.com/microsoft/JARVIS/} in the future.
翻译:为应对复杂的现实世界任务,大语言模型(LLM)应用中工具使用的研究日益受到关注。在开发基于LLM的智能体时,通常需要LLM理解来自不同工具文档的诸多工具功能。然而,这些文档可能存在格式多样、信息冗余或描述不全的问题,严重影响了LLM使用工具的能力。针对这一问题,我们提出EASYTOOL框架,该框架将多样且冗长的工具文档转化为统一精简的工具指令,以简化工具使用流程。EasyTool从不同来源的详尽工具文档中提炼关键信息,构建统一接口(即工具指令),为基于LLM的智能体提供标准化的工具描述与功能说明。在多个不同任务上的广泛实验表明,EasyTool能显著降低令牌消耗,并在实际场景中提升工具利用性能。我们的代码将于近期在\url{https://github.com/microsoft/JARVIS/} 开源。