SuperAPI AI Directory

agentverse

AgentVerse is an open-source framework for deploying multiple agents based on large language models (LLMs), mainly providing two frameworks: task-solving and simulation. The task-solving framework assembles multiple agents into an automatic multi-agent system to collaboratively complete tasks such as software development and consulting; the simulation framework allows users to set up custom environments to observe or interact with the behavior of multiple agents, and is suitable for games, social behavior research, and more. The project supports the OpenAI API, Azure OpenAI, as well as local models such as LLaMA and Vicuna, provides CLI and GUI examples, and includes demonstrations such as an NLP classroom and the Prisoner's Dilemma.

Open website

About this tool

AgentVerse is an open-source project aimed at facilitating the deployment of multiple LLM-based agents in various applications, mainly providing two frameworks: task-solving and simulation.

Uses:

  • Task-solving framework: assembles multiple agents into an automatic multi-agent system (AgentVerse-Tasksolving, multi-agent as a system) to collaboratively complete corresponding tasks. Applications include software development systems, consulting systems, and more.
  • Simulation framework: allows users to set up custom environments to observe the behavior of or interact with multiple agents. Applications include games, research on the social behavior of LLM-based agents, and more. Note: the project is refactoring its code; if you need a stable version that only supports the simulation framework, you can use the release-0.1 branch.

Main capabilities:

  • Supports multi-agent collaboration to complete tasks and simulate interactions.
  • Provides CLI and GUI examples, including classroom scenarios (nine agents: one professor and eight students), etc.
  • Supports local models (LLaMA, Vicuna, etc.) through vLLM or FSChat integration.
  • Provides tool use cases, such as multiple agents using tools like a web browser, Jupyter notebook, bing search, etc., and requires first building the ToolsServer provided by XAgent.
  • Provides multiple demonstrations, including NLP Classroom, Prisoner Dilemma, Software Design, Database Administrator, and a simple H5 Pokemon game, etc.

Usage:

  • Installation: ensure Python >= 3.9, and it can be installed manually via pip (recommended). If using local models (such as LLaMA), additional dependencies need to be installed.
  • Environment variables: need to export the OpenAI API key; if using the Azure OpenAI service, need to export the Azure OpenAI key and OpenAI API base.
  • Simulation framework: can create a multi-agent environment; taking the classroom scenario as an example, after starting the local server, visit http://127.0.0.1:7860/ Check. If running simulation cases with tools (e.g., simulation/nlp_classroom_3players_withtool), BMTools must be installed (optional; if not installed, tool-free cases can still run normally).
  • Task solving framework: To run the task-solving environment experiments proposed in the paper, use the corresponding commands; there are also corresponding commands for running AgentVerse on benchmark datasets or specific problems. To run task-solving cases with tools, XAgent's ToolServer must first be built and started. More tasks are located in agentverse/tasks/tasksolving/tool_using/.
  • Local model support: When using vLLM, you need to install and set up a vLLM server, create environment variables for connection, and modify the model name in the task configuration file to match the vLLM server. When using FSChat, you need to install additional dependencies, modify MODEL_PATH and MODEL_NAME as needed, and start the local server. Currently, MODEL_NAME supports llama-2-7b-chat-hf, llama-2-13b-chat-hf, llama-2-70b-chat-hf, vicuna-7b-v1.5, vicuna-13b-v1.5. If you need to integrate other models compatible with FastChat, you need to add the new MODEL_NAME to LOCAL_LLMS in agentverse/llms/init.py and add the mapping in LOCAL_LLMS_MAPPING. In the configuration file, set llm_type to local and model to MODEL_NAME. You can refer to agentverse/tasks/tasksolving/commongen/llama-2-7b-chat-hf/config.yaml.

Applicable scenarios:

  • Task solving: collaborative tasks such as software development systems and consulting systems.
  • Simulation: games, research on the social behavior of LLM-based agents, etc.

Limitations:

  • The project is undergoing code refactoring; the stable version only supports the simulation framework, so the release-0.1 branch must be used.
  • Using local models requires installing additional dependencies and configuring the server.
  • Using tools requires installing and starting the relevant services (BMTools, XAgent ToolServer).
  • Other specific limitations are not yet provided.