OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  代码  ›  AgentVerse 面向任务求解与仿真的多智能体平台

AgentVerse 面向任务求解与仿真的多智能体平台

 
  forge ·  2026-03-15 23:11:38 · 4 次点击  · 0 条评论  

🤖 AgentVerse 🪐

License: Apache2 Python Version Build Code Style: Black HuggingFace Discord

论文

English | 简体中文】

AgentVerse 旨在简化基于大语言模型(LLM)的多智能体在各种应用中的部署。AgentVerse 主要提供两大框架:任务求解环境模拟

  • 任务求解:此框架将多个智能体组装成一个自动化的多智能体系统(AgentVerse-Tasksolving, Multi-agent as system),以协作完成相应任务。
    应用场景:软件开发系统、咨询系统等。

Screen Shot 2023-09-01 at 12 08 57 PM

  • 环境模拟:此框架允许用户设置自定义环境,以观察多个智能体之间的行为,或与它们进行交互。⚠️⚠️⚠️ 我们正在重构代码。如果您需要一个仅支持模拟框架的稳定版本,可以使用 release-0.1 分支。应用场景:游戏、基于LLM的智能体社会行为研究等。

Screen Shot 2023-10-16 at 10 53 49 PM


📰 最新动态

🗓 即将推出

  • [x] 发布我们论文的代码
  • [x] 添加对本地 LLM(LLaMA、Vicunna 等)的支持
  • [ ] 添加文档
  • [ ] 支持更复杂的对话历史记忆

目录

🚀 快速开始

安装

手动安装(推荐!)

请确保 Python 版本 >= 3.9

git clone https://github.com/OpenBMB/AgentVerse.git --depth 1
cd AgentVerse
pip install -e .

如果您想使用本地模型(如 LLaMA)运行 AgentVerse,需要额外安装一些依赖:

pip install -r requirements_local.txt

通过 pip 安装

或者,您也可以通过 pip 安装:

pip install -U agentverse

环境变量

您需要按如下方式导出您的 OpenAI API 密钥:

# 导出您的 OpenAI API 密钥
export OPENAI_API_KEY="your_api_key_here"

如果您想使用 Azure OpenAI 服务,请按如下方式导出您的 Azure OpenAI 密钥和 OpenAI API 基础地址:

export AZURE_OPENAI_API_KEY="your_api_key_here"
export AZURE_OPENAI_API_BASE="your_api_base_here"

环境模拟

框架所需模块

- agentverse
  - agents
    - simulation_agent
  - environments
    - simulation_env

命令行示例

您可以创建我们提供的多智能体环境。以课堂场景为例。在此场景中,有九个智能体,一个扮演教授,另外八个扮演学生。

agentverse-simulation --task simulation/nlp_classroom_9players

图形界面示例

我们还为此环境提供了一个本地网站演示。您可以通过以下命令启动:

agentverse-simulation-gui --task simulation/nlp_classroom_9players

成功启动本地服务器后,您可以访问 http://127.0.0.1:7860/ 查看课堂环境。

如果您想运行带有工具的模拟案例(例如,simulation/nlp_classroom_3players_withtool),您需要按如下方式安装 BMTools:

git clone git+https://github.com/OpenBMB/BMTools.git
cd BMTools
pip install -r requirements.txt
python setup.py develop

这是可选的。如果您不安装 BMTools,不带工具的模拟案例仍可正常运行。

任务求解

框架所需模块

- agentverse
  - agents
    - simulation_env
  - environments
    - tasksolving_env

命令行示例

要运行我们论文中提出的任务求解环境的实验,您可以使用以下命令:

要在基准数据集上运行 AgentVerse,可以尝试:

# 使用 gpt-3.5-turbo 运行 Humaneval 基准测试(配置文件 `agentverse/tasks/tasksolving/humaneval/gpt-3.5/config.yaml`)
agentverse-benchmark --task tasksolving/humaneval/gpt-3.5 --dataset_path data/humaneval/test.jsonl --overwrite

要在特定问题上运行 AgentVerse,可以尝试:

# 运行单个查询(配置文件 `agentverse/tasks/tasksolving/brainstorming/gpt-3.5/config.yaml`)。任务在配置文件中指定。
agentverse-tasksolving --task tasksolving/brainstorming

要运行我们论文中展示的工具使用案例,即多智能体使用诸如网络浏览器、Jupyter notebook、必应搜索等工具,您可以首先构建由 XAgent 提供的 ToolsServer。您可以按照他们的说明来构建和运行 ToolServer。

构建并启动 ToolServer 后,您可以使用以下命令运行带有工具的任务求解案例:

agentverse-tasksolving --task tasksolving/tool_using/24point

我们在 agentverse/tasks/tasksolving/tool_using/ 中提供了更多任务,展示了多智能体如何使用工具解决问题。

此外,您可以查看 agentverse/tasks/tasksolving 以了解我们在论文中进行的更多实验。

本地模型支持

vLLM 支持

如果您想使用 vLLM,请按照此指南安装并设置 vLLM 服务器,该服务器用于处理更大的推理工作负载。创建以下环境变量以连接到 vLLM 服务器:

export VLLM_API_KEY="your_api_key_here"
export VLLM_API_BASE="http://your_vllm_url_here"

然后修改任务配置文件中的 model,使其与 vLLM 服务器中的模型名称匹配。例如:

model_type: vllm
model: llama-2-7b-chat-hf

FSChat 支持

本节提供了将 FSChat 集成到 AgentVerse 的分步指南。FSChat 是一个支持在本地机器上运行 LLaMA、Vicunna 等本地模型的框架。

1. 安装额外依赖

如果您想使用本地模型(如 LLaMA),需要额外安装一些依赖:

pip install -r requirements_local.txt

2. 启动本地服务器

然后根据您的需要修改 MODEL_PATHMODEL_NAME,使用以下命令启动本地服务器:

bash scripts/run_local_model_server.sh

该脚本将为 Llama 7B 聊天模型启动一个服务。
AgentVerse 中的 MODEL_NAME 目前支持多种模型,包括 llama-2-7b-chat-hfllama-2-13b-chat-hfllama-2-70b-chat-hfvicuna-7b-v1.5vicuna-13b-v1.5。如果您希望集成与 FastChat 兼容的其他模型,您需要:
1. 在 agentverse/llms/__init__.pyLOCAL_LLMS 中添加新的 MODEL_NAME
2. 在 agentverse/llms/__init__.py 文件的 LOCAL_LLMS_MAPPING 中,添加从新 MODEL_NAME 到其对应的 Huggingface 标识符的映射。

3. 修改配置文件

在您的配置文件中,将 llm_type 设置为 local,并将 model 设置为 MODEL_NAME。例如:

llm:
  llm_type: local
  model: llama-2-7b-chat-hf
  ...

您可以参考 agentverse/tasks/tasksolving/commongen/llama-2-7b-chat-hf/config.yaml 获取更详细的示例。

AgentVerse 展示

模拟展示

请参阅 模拟展示

任务求解展示

请参阅 任务求解展示

🌟 加入我们!

AgentVerse 的使命是革新大语言模型的多智能体环境,我们热切期待充满热情的协作者加入我们,共同踏上这段激动人心的旅程。

项目负责人

Leader
Leader

贡献者

Contributor
Contributor
Contributor
Contributor
Contributor
Contributor
Contributor
Contributor
Contributor
Contributor
Contributor
Contributor

如何贡献?

  • 提交 Issue 和 Pull-Request:如果您在使用 AgentVerse 时遇到任何问题,可以用英文提出 Issue。此外,您也可以主动要求我们将 Issue 分配给您,并在解决后提交 PR(请遵循 PULL_REQUEST_TEMPLATE)。

  • 代码开发:如果您是工程师,请帮助我们完善、优化和扩展当前框架。我们一直在寻找有才华的开发人员来增强现有功能并开发新模块。

  • 文档和教程:如果您擅长写作,请帮助我们改进文档、创建教程或撰写博客文章,使 AgentVerse 更易于广大社区使用。

  • 应用探索:如果您对多智能

4 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私 ·  条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 24 ms
Developed with Cursor