GitHub - geekan/MetaGPT: 🌟 多代理框架: 根據一行需求,返回 PRD、設計、任務、倉庫

內容

MetaGPT: The Multi-Agent Framework

MetaGPT logo: Enable GPT to work in software company, collaborating to tackle more complex tasks.

Assign different roles to GPTs to form a collaborative entity for complex tasks.

CN doc EN doc JA doc License: MIT roadmap Discord Follow Twitter Follow

Open in Dev Containers Open in GitHub Codespaces Hugging Face

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

  1. MetaGPT takes a one line requirement as input and outputs user stories / competitive analysis / requirements / data structures / APIs / documents, etc.
  2. Internally, MetaGPT includes product managers / architects / project managers / engineers. It provides the entire process of a software company along with carefully orchestrated SOPs.
    1. Code = SOP(Team) is the core philosophy. We materialize SOP and apply it to teams composed of LLMs.

A software company consists of LLM-based roles

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

You can configure ~/.metagpt/config2.yaml according to the example and doc:

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

Tutorial

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!

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} }

總結
MetaGPT是一個多代理框架,旨在通過分配不同角色的GPT來協作解決複雜任務。該系統能夠將單一需求轉化為用戶故事、競爭分析、需求、數據結構、API和文檔等,並模擬一個完整的軟體公司運作,包括產品經理、架構師、項目經理和工程師等角色。MetaGPT的核心理念是將標準作業程序(SOP)應用於由大型語言模型(LLM)組成的團隊。最近的版本更新引入了多種新功能,如支持多種LLM、增量開發和多語言支持。MetaGPT自開源以來,已多次登上GitHub趨勢榜,並在2024年ICLR會議上獲得口頭報告的機會,顯示出其在LLM代理領域的領先地位。