详细内容或原文请订阅后点击阅览
CodeAct:您的 LLM 代理在生成代码时表现更好
大型语言模型 (LLM) 代理能够执行广泛的操作,例如调用工具和控制机器人,在应对现实世界的挑战方面表现出巨大潜力。LLM 代理通常通过生成预定义格式的 JSON 或文本来提示其产生操作,这通常受到受限的操作空间(例如,预定义工具的范围)和受限的灵活性(例如,无法组合多个工具)的限制。这项工作提出使用可执行的 Python 代码将 LLM 代理的操作整合到统一的操作空间 (CodeAct) 中。集成...
来源:Apple机器学习研究大型语言模型 (LLM) 代理能够执行各种操作,例如调用工具和控制机器人,在应对现实世界的挑战方面表现出巨大潜力。LLM 代理通常通过生成预定义格式的 JSON 或文本来提示执行操作,这通常受到受限的操作空间(例如,预定义工具的范围)和受限的灵活性(例如,无法组合多个工具)的限制。这项工作提出使用可执行的 Python 代码将 LLM 代理的操作整合到统一的操作空间 (CodeAct) 中。与 Python 解释器集成后,CodeAct 可以执行代码操作并通过多轮交互动态修改先前的操作或根据新观察发出新操作。我们对 API-Bank 上的 17 个 LLM 和新策划的基准进行了广泛的分析,结果表明 CodeAct 优于广泛使用的替代方案(成功率高出 20%)。 CodeAct 令人鼓舞的性能激励我们构建一个开源 LLM 代理,它通过执行可解释代码与环境交互,并使用自然语言与用户协作。为此,我们使用 CodeAct 收集了一个指令调整数据集 CodeActInstruct,其中包含 7k 次多轮交互。我们表明,它可以与现有数据一起使用,以改进面向代理的任务中的模型,而不会损害其一般能力。CodeActAgent 是从 Llama2 和 Mistral 微调而来的,与 Python 解释器集成,并且经过独特定制,可以使用现有库执行复杂任务(例如模型训练)并自主进行自我调试。