refine README.md

This commit is contained in:
geekan 2023-07-01 07:30:47 +08:00
parent f438631609
commit 6b068f38da
2 changed files with 20 additions and 100 deletions

View file

@ -4,23 +4,9 @@ # MetaGPT: The Multi-Role Meta Programming Framework
## Objective
1. Our ultimate goal is to enable GPT to train, fine-tune, and ultimately, utilize itself, aiming to achieve a level of **self-evolution.**
1. Once GPT can optimize itself, it will have the capacity to continually improve its own performance without the constant need for manual tuning. This kind of self-evolution enables an **autonomous cycle of growth** where the AI can identify areas for its own improvement, make necessary adjustments, and implement those changes to better achieve its objectives. **It could potentially lead to an exponential growth in the system's capabilities.**
2. Currently, we have managed to enable GPT to work in teams, collaborating to tackle more complex tasks.
1. For instance, `startup.py` consists of **product manager / architect / project manager / engineer**, it provides the full process of a **software company.**
2. The team can cooperate and generate **user stories / competetive analysis / requirements / data structures / apis / files etc.**
### Philosophy
The core assets of a software company are three: Executable Code, SOP (Standard Operating Procedures), and Team.
There is a formula:
```
Executable Code = SOP(Team)
```
We have practiced this process and expressed the SOP in the form of code,
and the team itself only used large language models.
1. Currently, we have managed to enable GPT to work in teams, collaborating to tackle more complex tasks.
1. The team can handle **Boss's one line Requirement** cooperate and generate **user stories / competetive analysis / requirements / data structures / apis / files etc.**
2. 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)
@ -29,11 +15,11 @@ ## Examples (fully generated by GPT-4)
1. It requires around **$0.2** (GPT-4 api's costs) to generate one example with analysis and design.
2. 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 game like Candy Crush Saga | Design a RecSys like Toutiao | Design a roguelike game like NetHack | Design a search algorithm framework | Design a minimal pomodoro timer |
|----------------------|---------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------|
| Competitive Analysis | ![LLMOps Competitive Analysis](resources/workspace/llmops_framework/resources/competitive_analysis.png) | ![Candy Crush Competitive Analysis](resources/workspace/match3_puzzle_game/resources/competitive_analysis.png) | ![Jinri Toutiao Recsys Competitive Analysis](resources/workspace/content_rec_sys/resources/competitive_analysis.png) | ![NetHack Game Competitive Analysis](resources/workspace/pyrogue/resources/competitive_analysis.png) | ![Search Algorithm Framework Competitive Analysis](resources/workspace/search_algorithm_framework/resources/competitive_analysis.png) | ![Minimal Pomodoro Timer Competitive Analysis](resources/workspace/minimalist_pomodoro_timer/resources/competitive_analysis.png) |
| Data & API Design | ![LLMOps Data & API Design](resources/workspace/llmops_framework/resources/data_api_design.png) | ![Candy Crush Data & API Design](resources/workspace/match3_puzzle_game/resources/data_api_design.png) | ![Jinri Toutiao Recsys Data & API Design](resources/workspace/content_rec_sys/resources/data_api_design.png) | ![NetHack Game Data & API Design](resources/workspace/pyrogue/resources/data_api_design.png) | ![Search Algorithm Framework Data & API Design](resources/workspace/search_algorithm_framework/resources/data_api_design.png) | ![Minimal Pomodoro Timer Data & API Design](resources/workspace/minimalist_pomodoro_timer/resources/data_api_design.png) |
| Sequence Flow | ![LLMOps Sequence Flow](resources/workspace/llmops_framework/resources/seq_flow.png) | ![Candy Crush Sequence Flow](resources/workspace/match3_puzzle_game/resources/seq_flow.png) | ![Jinri Toutiao Recsys Sequence Flow](resources/workspace/content_rec_sys/resources/seq_flow.png) | ![NetHack Game Sequence Flow](resources/workspace/pyrogue/resources/seq_flow.png) | ![Search Algorithm Framework Sequence Flow](resources/workspace/search_algorithm_framework/resources/seq_flow.png) | ![Minimal Pomodoro Timer Sequence Flow](resources/workspace/minimalist_pomodoro_timer/resources/seq_flow.png) |
| | Design an MLOps/LLMOps framework that supports GPT-4 and other LLMs | Design a RecSys like Toutiao | Design a search algorithm framework |
|----------------------|---------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------|
| Competitive Analysis | ![LLMOps Competitive Analysis](resources/workspace/llmops_framework/resources/competitive_analysis.png) | ![Jinri Toutiao Recsys Competitive Analysis](resources/workspace/content_rec_sys/resources/competitive_analysis.png) | ![Search Algorithm Framework Competitive Analysis](resources/workspace/search_algorithm_framework/resources/competitive_analysis.png) |
| Data & API Design | ![LLMOps Data & API Design](resources/workspace/llmops_framework/resources/data_api_design.png) | ![Jinri Toutiao Recsys Data & API Design](resources/workspace/content_rec_sys/resources/data_api_design.png) | ![Search Algorithm Framework Data & API Design](resources/workspace/search_algorithm_framework/resources/data_api_design.png) |
| Sequence Flow | ![LLMOps Sequence Flow](resources/workspace/llmops_framework/resources/seq_flow.png) | ![Jinri Toutiao Recsys Sequence Flow](resources/workspace/content_rec_sys/resources/seq_flow.png) | ![Search Algorithm Framework Sequence Flow](resources/workspace/search_algorithm_framework/resources/seq_flow.png) |
## Installation
@ -53,7 +39,7 @@ # Step 3: Clone the repository to your local machine, and install it.
## Configuration
- You can configure your `OPENAI_API_KEY` in `config/key.yaml / config/config.yaml / env`
- Configure your `OPENAI_API_KEY` in `config/key.yaml / config/config.yaml / env`
- Priority order: `config/key.yaml > config/config.yaml > env`
```bash
@ -94,31 +80,7 @@ ### Code walkthrough
await company.run(n_round=n_round)
```
## Tutorial: single role and LLM examples
### The framework support single role as well, here's a simple sales role use case
```python
from metagpt.const import DATA_PATH
from metagpt.document_store import FaissStore
from metagpt.roles import Sales
store = FaissStore(DATA_PATH / 'example.pdf')
role = Sales(profile='Sales', store=store)
result = await role.run('Which facial cleanser is good for oily skin?')
```
### The framework also provide llm interfaces
```python
from metagpt.llm import LLM
llm = LLM()
await llm.aask('hello world')
hello_msg = [{'role': 'user', 'content': 'hello'}]
await llm.acompletion(hello_msg)
```
You can check `examples` for more details on single role (with knowledge base) and LLM only examples.
## Contact Information
@ -129,12 +91,6 @@ ## Contact Information
We aim to respond to all inquiries within 2-3 business days.
## Demo
| blackjack | adventure-game | 2048 | pomodoro-timer |
|-----------|-----------|-----------|-----------|
| ![demo-cli-blackjack](https://github.com/geekan/MetaGPT/assets/2707039/a4769a6a-5f10-49b3-9b30-9a7aee23c331) | ![demo-adventure-game](https://github.com/geekan/MetaGPT/assets/2707039/28636e78-f30f-4aa2-998c-5dc1af94ce9c) | ![demo-py2048](https://github.com/geekan/MetaGPT/assets/2707039/7ca4b6be-87a3-45fe-a182-e15673282617) | ![pomodoro-timer-webpage](https://github.com/geekan/MetaGPT/assets/2707039/37f749ec-f0fa-45b0-a181-5651b3f172f2) |
https://github.com/geekan/MetaGPT/assets/2707039/5e8c1062-8c35-440f-bb20-2b0320f8d27d