项目介绍:CodeAct
概述
CodeAct项目旨在通过可执行代码将大型语言模型(LLM)的行动整合到一个统一的行动空间中。该项目集成了Python解释器,使得CodeAct能够执行代码操作,并可以根据新的观察(如代码执行结果)动态修正或生成新动作。这种多轮交互能力让模型在解决复杂任务时更具灵活性。
项目背景与意义
值得关注的是,对17种LLM的广泛分析表明,CodeAct在API-Bank和一个新编纂的基准测试M3ToolEval上表现优于广泛使用的文本和JSON格式(成功率高出20%)。这表明通过代码进行交互可能比传统方法更有效。
数据集:CodeActInstruct
项目团队收集了名为CodeActInstruct的数据集,包括7000多个多轮交互示例。数据集已在Hugging Face提供下载,并主要用于训练模型提高其在真实场景中的表现。
模型:CodeActAgent
基于CodeActInstruct和一般对话训练的CodeActAgent在非特定领域任务上表现尤为优秀。项目中提供两种变体模型:
- CodeActAgent-Mistral-7b-v0.1:使用Mistral-7b-v0.1作为基础模型,支持32k上下文窗口。
- CodeActAgent-Llama-7b:使用Llama-2-7b作为基础模型,支持4k上下文窗口。
如何将CodeActAgent应用于您的项目
CodeActAgent系统包含多种组件,使其在实际应用中更为高效:
- LLM服务:可以使用任何符合OpenAI接口标准的服务软件进行模型部署。
- 交互接口:包括支持聊天接口的Chat-UI或简单的Python脚本。
- 代码执行引擎:此服务可以接受来自聊天界面或Python脚本的代码执行请求,并在独立的Docker容器中执行代码。
快速开始
项目为用户提供了详细的使用说明,包括使用Docker部署模型、如何设置代码执行引擎,以及如何通过Chat-UI进行交互。还支持在Kubernetes环境中一键部署,简化了复杂系统的管理。
实验再现
用户可以通过项目的开源代码和文档再现论文中的实验,包括数据生成、模型训练和评估过程。完整的说明均已提供,以便研究者获得与作者相同的实验结果。
致谢与引用
欢迎用户通过以下方式引用本项目的学术论文:
@inproceedings{wang2024executable,
title={Executable Code Actions Elicit Better LLM Agents},
author={Xingyao Wang and Yangyi Chen and Lifan Yuan and Yizhe Zhang and Yunzhu Li and Hao Peng and Heng Ji},
year={2024},
eprint={2402.01030},
booktitle={ICML}
}