Awesome
<p align="center"> <h1 align="center">GPTeam: Collaborative AI Agents</h1> <p align="center"> <img src="https://img.shields.io/github/stars/101dotxyz/gpteam.svg?style=for-the-badge&"> <img src="https://img.shields.io/github/license/101dotxyz/gpteam.svg?style=for-the-badge&"> <br /> <a href="https://www.gpteamai.com/ "><b>Web App</b></a> | <a href="https://blog.langchain.dev/gpteam-a-multi-agent-simulation/"><b>Blog Post</b></a> </p> <div align="center"> <img src="assets/gpteam.png" alt="GPTeam" width="400" height="267" /> </div> </p>About GPTeam
GPTeam uses GPT-4 to create multiple agents who collaborate to achieve predefined goals. The main objective of this project is to explore the potential of GPT models in enhancing multi-agent productivity and effective communication.
See a video demo here: https://www.youtube.com/watch?v=cIxhI1d6NsM
Read more about the architecture here: https://blog.langchain.dev/gpteam-a-multi-agent-simulation/
Getting started
To begin exploring GPTeam, follow these steps:
- Clone the project repository to your local machine
- Move to the repository:
cd gpteam
- Run
python setup.py
to check your environment setup and configure it as needed - Update the environment variables in
.env
with your API Keys. You will need an OpenAI API key, which you can obtain here. Supplying API keys for optional services will enable the use of other tools. - Launch the world by running
poetry run world
To run the world cheaply, you can use poetry run world --turbo
. This will use gpt3.5-turbo for all LLM calls which is a lot cheaper, but expect worse results!
Now you can observe the world in action and watch as the agents interact with each other, working together to accomplish their assigned directives.
How it works
GPTeam employs separate agents, each equipped with a memory, that interact with one another using communication as a tool. The implementation of agent memory and reflection is inspired by this research paper. Agents move around the world and perform tasks in different locations, depending on what they are doing and where other agents are located. They can speak to eachother and collaborate on tasks, working in parallel towards common goals.
Viewing Agents
The world is a busy place! To get a view of what different agents are doing whilst the world is running, you can visit the agents/
folder where there is a txt file for each agent containing a summary of their current state.
Changing the world
To change the world, all you need to do is:
- Make changes to the
config.json
by updating the available agents or locations - Reset your database:
poetry run db-reset
- Run the world again:
poetry run world
Setting up the Discord Integration
Read through the dedicated Discord setup docs
Using with Anthropic Claude
Make sure you have an ANTHROPIC_API_KEY
in your env, then you can use poetry run world --claude
which will run the world using claude-v1
for some calls and claude-v1-instant
for others.
Using with Window
Make sure you have the Window extension installed, then you can use poetry run world --window
. Some models may be slow to respond, since the prompts are very long.
Contributing
We enthusiastically welcome contributions to GPTeam! To contribute, please follow these steps:
- Fork the project repository to your own account
- Create a new branch for your changes
- Implement your changes to the project code
- Submit a pull request to the main project repository
We will review your pull request and provide feedback as necessary.
License
Licensed under the MIT license.