mirror of
https://github.com/FoundationAgents/MetaGPT.git
synced 2026-04-25 08:46:48 +02:00
5.3 KiB
5.3 KiB
MetaGPT: The Multi-Role Meta Programming Framework
Currently, we have managed to enable GPT to work in software company, collaborating to tackle more complex tasks.
- The team can handle Boss's one line Requirement cooperate and generate user stories / competetive analysis / requirements / data structures / apis / files etc.
- The team consists of product manager / architect / project manager / engineer, it provides the full process of a software company.
Examples (fully generated by GPT-4)
- Each column here is a requirement of using the command
python startup.py <requirement>. - By default, an investment of three dollars is made for each example and the program stops once this amount is depleted.
- It requires around $0.2 (GPT-4 api's costs) to generate one example with analysis and design.
- It requires around $2.0 (GPT-4 api's costs) to generate one example with a full project.
| Design an MLOps/LLMOps framework that supports GPT-4 and other LLMs | Design a RecSys like Toutiao | Design a search algorithm framework | |
|---|---|---|---|
| Competitive Analysis | ![]() |
![]() |
![]() |
| Data & API Design | ![]() |
![]() |
![]() |
| Sequence Flow | ![]() |
![]() |
![]() |
Installation
# Step 1: Ensure that Python 3.9+ is installed on your system. You can check this by using:
python --version
# Step 2: Ensure that NPM is installed on your system. You can check this by using:
npm --version
# Step 3: Clone the repository to your local machine, and install it.
git clone https://github.com/geekan/metagpt
cd metagpt
python setup.py install
Configuration
- Configure your
OPENAI_API_KEYin any ofconfig/key.yaml / config/config.yaml / env - Priority order:
config/key.yaml > config/config.yaml > env
# Copy the configuration file and make the necessary modifications.
cp config/config.yaml config/key.yaml
| Variable Name | config/key.yaml | env |
|---|---|---|
| OPENAI_API_KEY # Replace with your own key | OPENAI_API_KEY: "sk-..." | export OPENAI_API_KEY="sk-..." |
| OPENAI_API_BASE # Optional | OPENAI_API_BASE: "https://<YOUR_SITE>/v1" | export OPENAI_API_BASE="https://<YOUR_SITE>/v1" |
Tutorial: Initiating a startup
python startup.py "Write a cli snake game"
After running the script, you can find your new project in the workspace/ directory.
Code walkthrough
from metagpt.software_company import SoftwareCompany
from metagpt.roles import ProjectManager, ProductManager, Architect, Engineer
async def startup(idea: str, investment: str = '$3.0', n_round: int = 5):
"""Run a startup. Be a boss."""
company = SoftwareCompany()
company.hire([ProductManager(), Architect(), ProjectManager(), Engineer()])
company.invest(investment)
company.start_project(idea)
await company.run(n_round=n_round)
You can check examples for more details on single role (with knowledge base) and LLM only examples.
Contact Information
If you have any questions or feedback about this project, feel free to reach out to us. We appreciate your input!
- Email: alexanderwu@fuzhi.ai
- GitHub Issues: For more technical issues, you can also create a new issue in our GitHub repository.
We aim to respond to all inquiries within 2-3 business days.
Demo
https://github.com/geekan/MetaGPT/assets/2707039/5e8c1062-8c35-440f-bb20-2b0320f8d27d









