AgentVerse is a Python framework for deploying several large-language-model agents together. It offers two frameworks. Task-solving assembles multiple agents into an automatic multi-agent system that collaborates on a task, with applications such as a software development system or a consulting system. Simulation lets you set up a custom environment and then observe behaviour among the agents or interact with them, with applications in games and in research on the social behaviour of language-model agents.
An environment is defined by rule components rather than by new orchestration code: a describer that tells each agent what the environment looks like each turn, an order that decides who acts when (random, sequential, or concurrent), a selector that keeps only valid agent messages, and further rules for updating state. A task is declared in a YAML configuration file naming the agents, their roles and prompts, their output parsers, and the model each one uses.
The package installs from source or from PyPI on Python 3.9 or later and exposes command-line entry points: one for a simulation environment, one for the same environment with a local web interface, one for a single task-solving query, and one for running a task-solving configuration over a benchmark dataset. OpenAI and Azure OpenAI credentials are read from environment variables. Local models are served either through vLLM, by pointing at a vLLM server URL and key and naming the model in the task configuration, or through FastChat, which runs Llama 2 and Vicuna checkpoints locally; adding another FastChat-compatible model means registering its name and Hugging Face identifier in the local model list.
Tool use is optional and comes from separate servers: BMTools for the simulation cases that use tools, and the XAgent ToolServer for the task-solving cases that reach a web browser, a Jupyter notebook, or search. Bundled examples include an NLP classroom of a professor and eight students, the prisoner’s dilemma, a software design team of writer, tester, and reviewer, a database diagnosis scenario, and a HumanEval benchmark run.
Features
- Task-solving framework: multiple agents are assembled into an automatic multi-agent system that collaborates on one task
- Simulation framework: custom environments where agents interact with each other and a person can take part
- Rule-based environments: describer, order, selector, and related components define an environment without writing orchestration code
- YAML task configuration: agents, roles, prompts, output parsers, and per-agent models are declared in a config file
- Command-line entry points: simulation, simulation with a web interface, single-query task solving, and dataset benchmarking
- Model backends: OpenAI and Azure OpenAI through environment variables, vLLM by server URL, and FastChat for local Llama 2 and Vicuna checkpoints
- Optional tool servers: BMTools for simulation cases and the XAgent ToolServer for browser, notebook, and search use in task solving
- Worked examples: NLP classroom, prisoner’s dilemma, a writer/tester/reviewer software design team, database diagnosis, and a HumanEval benchmark
