MetaGPT: The Multi-Agent Framework
Assign different roles to GPTs to form a collaborative entity for complex tasks.
News
๐ Feb. 08, 2024: v0.7.0 released, supporting assigning different LLMs to different Roles. We also introduced Interpreter, a powerful agent capable of solving a wide range of real-world problems.
๐ Jan. 16, 2024: Our paper MetaGPT: Meta Programming for A Multi-Agent Collaborative Framework accepted for oral presentation (top 1.2%) at ICLR 2024, ranking #1 in the LLM-based Agent category.
๐ Jan. 03, 2024: v0.6.0 released, new features include serialization, upgraded OpenAI package and supported multiple LLM, provided minimal example for debate etc.
๐ Dec. 15, 2023: v0.5.0 released, introducing some experimental features such as incremental development, multilingual, multiple programming languages, etc.
๐ฅ Nov. 08, 2023: MetaGPT is selected into Open100: Top 100 Open Source achievements.
๐ฅ Sep. 01, 2023: MetaGPT tops GitHub Trending Monthly for the 17th time in August 2023.
๐ Jun. 30, 2023: MetaGPT is now open source.
๐ Apr. 24, 2023: First line of MetaGPT code committed.
Software Company as Multi-Agent System
- MetaGPT takes a one line requirement as input and outputs user stories / competitive analysis / requirements / data structures / APIs / documents, etc.
- Internally, MetaGPT includes product managers / architects / project managers / engineers. It provides the entire process of a software company along with carefully orchestrated SOPs.
Code = SOP(Team)
is the core philosophy. We materialize SOP and apply it to teams composed of LLMs.
Software Company Multi-Agent Schematic (Gradually Implementing)
Install
Pip installation
Ensure that Python 3.9+ is installed on your system. You can check this by using:
python --version
.
You can use conda like this:conda create -n metagpt python=3.9 && conda activate metagpt
pip install metagpt
https://docs.deepwisdom.ai/main/en/guide/get_started/configuration.html
metagpt --init-config # it will create ~/.metagpt/config2.yaml, just modify it to your needs
Configuration
llm: api_type: "openai" # or azure / ollama / open_llm etc. Check LLMType for more options model: "gpt-4-turbo-preview" # or gpt-3.5-turbo-1106 / gpt-4-1106-preview base_url: "https://api.openai.com/v1" # or forward url / other llm url api_key: "YOUR_API_KEY"
Usage
After installation, you can use it as CLI
metagpt "Create a 2048 game" # this will create a repo in ./workspace
or you can use it as library
from metagpt.software_company import generate_repo, ProjectRepo repo: ProjectRepo = generate_repo("Create a 2048 game") # or ProjectRepo("<path>") print(repo) # it will print the repo structure with files
detail installation please refer to cli_installor docker_install
Docker installation
โฌ Step 1: Download metagpt image and prepare config2.yaml :: click to expand ::
docker pull metagpt/metagpt:latest mkdir -p /opt/metagpt/{config,workspace} docker run --rm metagpt/metagpt:latest cat /app/metagpt/config/config2.yaml > /opt/metagpt/config/config2.yaml vim /opt/metagpt/config/config2.yaml # Change the config
โฌ Step 2: Run metagpt container :: click to expand ::
docker run --name metagpt -d
--privileged
-v /opt/metagpt/config/config2.yaml:/app/metagpt/config/config2.yaml
-v /opt/metagpt/workspace:/app/metagpt/workspace
metagpt/metagpt:latest
โฌ Step 3: Use metagpt :: click to expand ::
docker exec -it metagpt /bin/bash $ metagpt "Create a 2048 game" # this will create a repo in ./workspace
QuickStart & Demo Video
- Try it on MetaGPT Huggingface Space
- Matthew Berman: How To Install MetaGPT - Build A Startup With One Prompt!!
- Official Demo Video customized_tasks_by_MetaGPT_v2.mp4
Tutorial
- ๐ Online Document
- ๐ป Usage
- ๐ What can MetaGPT do?
- ๐ How to build your own agents?
- ๐งโ๐ป Contribution
- ๐ Use Cases
- โ FAQs
Support
Discard Join US
๐ข Join Our Discord Channel!
Looking forward to seeing you there! ๐
Contact Information
If you have any questions or feedback about this project, please feel free to contact us. We highly appreciate your suggestions!
- Email: [email protected]
- GitHub Issues: For more technical inquiries, you can also create a new issue in our GitHub repository.
We will respond to all questions within 2-3 business days.
Citation
For now, cite the arXiv paper:
@misc{hong2023metagpt, title={MetaGPT: Meta Programming for A Multi-Agent Collaborative Framework}, author={Sirui Hong and Mingchen Zhuge and Jonathan Chen and Xiawu Zheng and Yuheng Cheng and Ceyao Zhang and Jinlin Wang and Zili Wang and Steven Ka Shing Yau and Zijuan Lin and Liyang Zhou and Chenyu Ran and Lingfeng Xiao and Chenglin Wu and Jรผrgen Schmidhuber}, year={2023}, eprint={2308.00352}, archivePrefix={arXiv}, primaryClass={cs.AI} }