Skip to main content

🤖 AgentVerse 🪐

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

【English | Chinese

AgentVerse is designed to facilitate the deployment of multiple LLM-based agents in various applications. AgentVerse primarily provides two frameworks: task-solving and simulation.

  • Task-solving: This framework assembles multiple agents as an automatic multi-agent system (AgentVerse-Tasksolving, Multi-agent as system) to collaboratively accomplish the corresponding tasks. Applications: software development system, consulting system, etc.

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

  • Simulation: This framework allows users to set up custom environments to observe behaviors among, or interact with, multiple agents. ⚠️⚠️⚠️ We're refactoring the code. If you require a stable version that exclusively supports simulation framework, you can use release-0.1 branch. Applications: game, social behavior research of LLM-based agents, etc.

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


📰 What's New

  • [2023/10/17] We're super excited to share our open-source AI community hugging face: AgentVerse. You are able to try out the two simulation applications, NLP Classroom and Prisoner's Dilemma,with your code of the openai API key and the openai organization. Have fun!

  • [2023/10/5] Re-factor our codebase to enable the deployment of both simulation and task-solving framework! We have placed the code for Minecraft example in the paper at the minecraft branch. Our tool-using example will soon be updated to the main branch. Stay tuned!

  • [2023/8/22] We're excited to share our paper AgentVerse: Facilitating Multi-Agent Collaboration and Exploring Emergent Behaviors in Agents that illistrate the task-solving framework in detail of AgentVerse.

  • [2023/6/5] We are thrilled to present an array of demos, including NLP Classroom, Prisoner Dilemma, Software Design, Database Administrator, and a simple H5 Pokemon Game that enables the interaction with the characters in Pokemon! Try out these demos and have fun!

  • [2023/5/1] 🚀 AgentVerse is officially launched!

🗓 Coming Soon

  • Code release of our paper
  • Add support for local LLM (LLaMA, Vicunna, etc.)
  • Add documentation
  • Support more sophisticated memory for conversation history

Contents

🚀 Getting Started

Installation

Manually Install (Recommended!)

git clone https://github.com/OpenBMB/AgentVerse.git --depth 1
cd AgentVerse
python setup.py develop

Some users have reported problems installing the orjson required by gradio. One simple workaround is to install it with Anaconda conda install -c conda-forge orjson.

Install with pip

Or you can install through pip

pip install -U agentverse

You also need to export your OpenAI API key as follows:

# Export your OpenAI API key
export OPENAI_API_KEY="your_api_key_here"
# Or if you are using Azure
export AZURE_OPENAI_API_KEY="your_api_key_here"
export AZURE_OPENAI_API_BASE="your_api_base_here"

If you want use Azure OpenAI services, pleas export your Azure OpenAI key and OpenAI API base as follows:

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

If you want to use the tools provided by BMTools, you need to install BMTools as follows:

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

Simulation

Framework Required Modules

- agentverse 
  - agents
    - simulation_agent
  - environments
    - simulation_env

CLI Example

You can create a multi-agent environments provided by us. Using the classroom scenario as an example. In this scenario, there are nine agents, one playing the role of a professor and the other eight as students.

agentverse-simulation --task simulation/nlp_classroom_9players

GUI Example (Local)

We also provide a local website demo for this environment. You can launch it with

agentverse-simulation-gui --task simulation/nlp_classroom_9players

After successfully launching the local server, you can visit http://127.0.0.1:7860/ to view the classroom environment.

Task-Solving

Framework Required Modules

- agentverse 
  - agents
    - simulation_env
  - environments
    - tasksolving_env

CLI Example

To run the experiments with the task-solving environment proposed in our paper, you can use the following command:

To run AgentVerse on a benchmark dataset, you can try

# Run the Humaneval benchmark using gpt-3.5-turbo (config file `agentverse/tasks/tasksolving/humaneval/gpt-3.5/config.yaml`)
agentverse-benchmark --task tasksolving/humaneval/gpt-3.5 --dataset_path data/humaneval/test.jsonl --overwrite

To run AgentVerse on a specific problem, you can try

# Run a single query (config file `agentverse/tasks/tasksolving/brainstorming/gpt-3.5/config.yaml`). The task is specified in the config file.
agentverse-tasksolving --task tasksolving/brainstorming

You can take a look at agentverse/tasks/tasksolving for more experiments we have done in our paper.

AgentVerse Showcases

Simulation Showcases

Refer to simulation showcases

Task-Solving Showcases

Refer to tasksolving showcases

🌟 Join Us!

AgentVerse is on a mission to revolutionize the multi-agent environment for large language models, and we're eagerly looking for passionate collaborators to join us on this exciting journey.

Leaders

Leader Leader

Contributors

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

How Can You Contribute?

  • Issue and Pull-Request: If you encounter any problems when use AgentVerse, you can propose the issue in English. Beisdes, you can also autonomously ask us to assign issue to you and send the PR (Please follow the PULL_REQUEST_TEMPLATE) after you solve it.

  • Code Development: If you're an engineer, help us refine, optimize, and expand the current framework. We're always looking for talented developers to enhance our existing features and develop new modules.

  • Documentation and Tutorials: If you have a knack for writing, help us improve our documentation, create tutorials, or write blog posts to make AgentVerse more accessible to the broader community.

  • Application Exploration: If you're intrigued by multi-agent applications and are eager to experiment using AgentVerse, we'd be thrilled to support your journey and see what you create!

  • Feedback and Suggestions: Use AgentVerse and provide us with feedback. Your insights can lead to potential improvements and ensure that our framework remains top-notch.

Also, if you're passionate about advancing the frontiers of multi-agent applications, become core AgentVerse team members, or are eager to dive deeper into agent research. Please reach out AgentVerse Team, and CC to Weize Chen and Yusheng Su. We're keen to welcome motivated individuals like you to our team!

Social Media and Community

Star History

Star History Chart

Citation

If you find this repo helpful, feel free to cite us.

@article{chen2023agentverse,
  title={Agentverse: Facilitating multi-agent collaboration and exploring emergent behaviors in agents},
  author={Chen, Weize and Su, Yusheng and Zuo, Jingwei and Yang, Cheng and Yuan, Chenfei and Qian, Chen and Chan, Chi-Min and Qin, Yujia and Lu, Yaxi and Xie, Ruobing and others},
  journal={arXiv preprint arXiv:2308.10848},
  year={2023}
}

Contact

AgentVerse Team: agentverse2@gmail.com

Project leaders:

Release files for agentverse 0.1.8.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agentverse 0.1.8.1
File Size Uploaded
agentverse-0.1.8.1.tar.gz 4.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for agentverse 0.1.8.1
File Interpreter ABI Platform
agentverse-0.1.8.1-py3-none-any.whl Python 3 none any Details

Total release size: 4.7 MB

Release files / agentverse-0.1.8.1.tar.gz

Download URL agentverse-0.1.8.1.tar.gz
Size 4.4 MB
Tags Source
SHA-256 checksum
How to use checksums
dbaa47af8a07cd8bdab266ee101d76fb291ba2a7c096b65a746069a7accef26c
BLAKE2b-256 checksum
How to use checksums
3a427fb7428ac75dad7c20507ddfdd76b1f428e57818fd3e121b908d7783dff4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / agentverse-0.1.8.1-py3-none-any.whl

Download URL agentverse-0.1.8.1-py3-none-any.whl
Size 300.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f424a1622a710caae6fe7ea7f308ceef9d600f95401f556445f7988106cb5cbb
BLAKE2b-256 checksum
How to use checksums
2b0a2ae2e091dc482feb31a7ead6a00e646941b3054d8024e8205a91540ffcbc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release history Release notifications | RSS feed

This release

0.1.8.1 This release

2 release files

0.1.8

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page