AgentVerse 是一个旨在促进多个基于 LLM 的智能体在各种应用中部署的开源项目,主要提供两种框架:任务求解(task-solving)和模拟(simulation)。
用途:
- 任务求解框架:将多个智能体组装为自动多智能体系统(AgentVerse-Tasksolving,多智能体作为系统),协作完成相应任务。应用包括软件开发系统、咨询系统等。
- 模拟框架:允许用户设置自定义环境,以观察多个智能体之间的行为或与之交互。应用包括游戏、基于 LLM 的智能体的社会行为研究等。注意:该项目正在重构代码,如需仅支持模拟框架的稳定版本,可使用 release-0.1 分支。
主要能力:
- 支持多智能体协作完成任务和模拟交互。
- 提供 CLI 和 GUI 示例,包括课堂场景(九个智能体:一名教授和八名学生)等。
- 支持本地模型(LLaMA、Vicuna 等),通过 vLLM 或 FSChat 集成。
- 提供工具使用案例,如多智能体使用网页浏览器、Jupyter notebook、bing 搜索等工具,需先构建 XAgent 提供的 ToolsServer。
- 提供多个演示,包括 NLP Classroom、Prisoner Dilemma、Software Design、Database Administrator 以及简单的 H5 Pokemon 游戏等。
使用方式:
- 安装:确保 Python >= 3.9,可通过 pip 手动安装(推荐)。若使用本地模型(如 LLaMA),需额外安装其他依赖。
- 环境变量:需导出 OpenAI API key;若使用 Azure OpenAI 服务,需导出 Azure OpenAI key 和 OpenAI API base。
- 模拟框架:可创建多智能体环境,以课堂场景为例,启动本地服务器后访问 http://127.0.0.1:7860/ 查看。若运行带工具的模拟案例(如 simulation/nlp_classroom_3players_withtool),需安装 BMTools(可选,不安装则无工具案例仍可正常运行)。
- 任务求解框架:运行论文中提出的任务求解环境实验,可使用相应命令;在基准数据集或特定问题上运行 AgentVerse 也有对应命令。运行带工具的任务求解案例需先构建并启动 XAgent 的 ToolServer。更多任务位于 agentverse/tasks/tasksolving/tool_using/。
- 本地模型支持:使用 vLLM 时,需安装并设置 vLLM 服务器,创建环境变量连接,并修改任务配置文件中的模型名称以匹配 vLLM 服务器。使用 FSChat 时,需额外安装依赖,根据需求修改 MODEL_PATH 和 MODEL_NAME 并启动本地服务器。目前 MODEL_NAME 支持 llama-2-7b-chat-hf、llama-2-13b-chat-hf、llama-2-70b-chat-hf、vicuna-7b-v1.5、vicuna-13b-v1.5。若需集成其他与 FastChat 兼容的模型,需在 agentverse/llms/init.py 的 LOCAL_LLMS 中添加新 MODEL_NAME,并在 LOCAL_LLMS_MAPPING 中添加映射。在配置文件中将 llm_type 设为 local,model 设为 MODEL_NAME。可参考 agentverse/tasks/tasksolving/commongen/llama-2-7b-chat-hf/config.yaml。
适用场景:
- 任务求解:软件开发系统、咨询系统等协作任务。
- 模拟:游戏、基于 LLM 的智能体的社会行为研究等。
限制:
- 项目正在重构代码中,稳定版本仅支持模拟框架,需使用 release-0.1 分支。
- 使用本地模型需额外安装依赖并配置服务器。
- 使用工具需安装并启动相关服务(BMTools、XAgent ToolServer)。
- 其他具体限制暂未提供。