Skip to content

Commit 2fcb2a1

Browse files
committed
Merge branch 'dev' into code_intepreter
2 parents a8b4dfb + 9e49e22 commit 2fcb2a1

File tree

282 files changed

+6977
-3194
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

282 files changed

+6977
-3194
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Build and upload python package
2+
3+
on:
4+
release:
5+
types: [created]
6+
7+
jobs:
8+
deploy:
9+
runs-on: ubuntu-latest
10+
11+
steps:
12+
- uses: actions/checkout@v4
13+
- name: Set up Python
14+
uses: actions/setup-python@v4
15+
with:
16+
python-version: '3.9'
17+
cache: 'pip'
18+
- name: Install dependencies
19+
run: |
20+
python -m pip install --upgrade pip
21+
pip install -r requirements.txt
22+
pip install -e.
23+
pip install setuptools wheel twine
24+
- name: Set package version
25+
run: |
26+
export VERSION="${GITHUB_REF#refs/tags/v}"
27+
sed -i "s/version=.*/version=\"${VERSION}\",/" setup.py
28+
- name: Build and publish
29+
env:
30+
TWINE_USERNAME: __token__
31+
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
32+
run: |
33+
python setup.py bdist_wheel sdist
34+
twine upload dist/*

.github/workflows/unittest.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ jobs:
5050
run: |
5151
export ALLOW_OPENAI_API_CALL=0
5252
echo "${{ secrets.METAGPT_KEY_YAML }}" | base64 -d > config/key.yaml
53+
mkdir -p ~/.metagpt && echo "${{ secrets.METAGPT_CONFIG2_YAML }}" | base64 -d > ~/.metagpt/config2.yaml
5354
pytest tests/ --doctest-modules --cov=./metagpt/ --cov-report=xml:cov.xml --cov-report=html:htmlcov --durations=20 | tee unittest.txt
5455
- name: Show coverage report
5556
run: |

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,5 +176,6 @@ htmlcov.*
176176
cov.xml
177177
*.dot
178178
*.pkl
179+
*.faiss
179180
*-structure.csv
180181
*-structure.json

README.md

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,16 @@
66
</p>
77

88
<p align="center">
9-
<b>Assign different roles to GPTs to form a collaborative software entity for complex tasks.</b>
9+
<b>Assign different roles to GPTs to form a collaborative entity for complex tasks.</b>
1010
</p>
1111

1212
<p align="center">
1313
<a href="docs/README_CN.md"><img src="https://img.shields.io/badge/文档-中文版-blue.svg" alt="CN doc"></a>
1414
<a href="README.md"><img src="https://img.shields.io/badge/document-English-blue.svg" alt="EN doc"></a>
1515
<a href="docs/README_JA.md"><img src="https://img.shields.io/badge/ドキュメント-日本語-blue.svg" alt="JA doc"></a>
16-
<a href="https://discord.gg/DYn29wFk9z"><img src="https://dcbadge.vercel.app/api/server/DYn29wFk9z?style=flat" alt="Discord Follow"></a>
1716
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License: MIT"></a>
1817
<a href="docs/ROADMAP.md"><img src="https://img.shields.io/badge/ROADMAP-路线图-blue" alt="roadmap"></a>
18+
<a href="https://discord.gg/DYn29wFk9z"><img src="https://dcbadge.vercel.app/api/server/DYn29wFk9z?style=flat" alt="Discord Follow"></a>
1919
<a href="https://twitter.com/MetaGPT_"><img src="https://img.shields.io/twitter/follow/MetaGPT?style=social" alt="Twitter Follow"></a>
2020
</p>
2121

@@ -25,19 +25,31 @@
2525
<a href="https://huggingface.co/spaces/deepwisdom/MetaGPT" target="_blank"><img alt="Hugging Face" src="https://img.shields.io/badge/%F0%9F%A4%97%20-Hugging%20Face-blue?color=blue&logoColor=white" /></a>
2626
</p>
2727

28+
## News
29+
🚀 Jan. 16, 2024: Our paper [MetaGPT: Meta Programming for A Multi-Agent Collaborative Framework
30+
](https://arxiv.org/abs/2308.00352) accepted for oral presentation **(top 1.2%)** at ICLR 2024, **ranking #1** in the LLM-based Agent category.
31+
32+
🚀 Jan. 03, 2024: [v0.6.0](https://github.com/geekan/MetaGPT/releases/tag/v0.6.0) released, new features include serialization, upgraded OpenAI package and supported multiple LLM, provided [minimal example for debate](https://github.com/geekan/MetaGPT/blob/main/examples/debate_simple.py) etc.
33+
34+
🚀 Dec. 15, 2023: [v0.5.0](https://github.com/geekan/MetaGPT/releases/tag/v0.5.0) released, introducing some experimental features such as **incremental development**, **multilingual**, **multiple programming languages**, etc.
35+
36+
🔥 Nov. 08, 2023: MetaGPT is selected into [Open100: Top 100 Open Source achievements](https://www.benchcouncil.org/evaluation/opencs/annual.html).
37+
38+
🔥 Sep. 01, 2023: MetaGPT tops GitHub Trending Monthly for the **17th time** in August 2023.
39+
40+
🌟 Jun. 30, 2023: MetaGPT is now open source.
41+
42+
🌟 Apr. 24, 2023: First line of MetaGPT code committed.
43+
44+
## Software Company as Multi-Agent System
45+
2846
1. MetaGPT takes a **one line requirement** as input and outputs **user stories / competitive analysis / requirements / data structures / APIs / documents, etc.**
2947
2. Internally, MetaGPT includes **product managers / architects / project managers / engineers.** It provides the entire process of a **software company along with carefully orchestrated SOPs.**
3048
1. `Code = SOP(Team)` is the core philosophy. We materialize SOP and apply it to teams composed of LLMs.
3149

3250
![A software company consists of LLM-based roles](docs/resources/software_company_cd.jpeg)
3351

34-
<p align="center">Software Company Multi-Role Schematic (Gradually Implementing)</p>
35-
36-
## News
37-
🚀 Jan 03: Here comes [v0.6.0](https://github.com/geekan/MetaGPT/releases/tag/v0.6.0)! In this version, we added serialization and deserialization of important objects and enabled breakpoint recovery. We upgraded OpenAI package to v1.6.0 and supported Gemini, ZhipuAI, Ollama, OpenLLM, etc. Moreover, we provided extremely simple examples where you need only 7 lines to implement a general election [debate](https://github.com/geekan/MetaGPT/blob/main/examples/debate_simple.py). Check out more details [here](https://github.com/geekan/MetaGPT/releases/tag/v0.6.0)!
38-
39-
40-
🚀 Dec 15: [v0.5.0](https://github.com/geekan/MetaGPT/releases/tag/v0.5.0) is released! We introduced **incremental development**, facilitating agents to build up larger projects on top of their previous efforts or existing codebase. We also launched a whole collection of important features, including **multilingual support** (experimental), multiple **programming languages support** (experimental), **incremental development** (experimental), CLI support, pip support, enhanced code review, documentation mechanism, and optimized messaging mechanism!
52+
<p align="center">Software Company Multi-Agent Schematic (Gradually Implementing)</p>
4153

4254
## Install
4355

config/config.yaml

Lines changed: 0 additions & 149 deletions
This file was deleted.

config/config2.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
llm:
2+
api_key: "YOUR_API_KEY"
3+
model: "gpt-3.5-turbo-1106"

config/config2.yaml.example

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
llm:
2+
api_type: "openai"
3+
base_url: "YOUR_BASE_URL"
4+
api_key: "YOUR_API_KEY"
5+
model: "gpt-3.5-turbo-1106" # or gpt-4-1106-preview
6+
7+
proxy: "YOUR_PROXY"
8+
9+
search:
10+
api_type: "google"
11+
api_key: "YOUR_API_KEY"
12+
cse_id: "YOUR_CSE_ID"
13+
14+
mermaid:
15+
engine: "pyppeteer"
16+
path: "/Applications/Google Chrome.app"
17+
18+
redis:
19+
host: "YOUR_HOST"
20+
port: 32582
21+
password: "YOUR_PASSWORD"
22+
db: "0"
23+
24+
s3:
25+
access_key: "YOUR_ACCESS_KEY"
26+
secret_key: "YOUR_SECRET_KEY"
27+
endpoint: "YOUR_ENDPOINT"
28+
secure: false
29+
bucket: "test"
30+
31+
32+
AZURE_TTS_SUBSCRIPTION_KEY: "YOUR_SUBSCRIPTION_KEY"
33+
AZURE_TTS_REGION: "eastus"
34+
35+
IFLYTEK_APP_ID: "YOUR_APP_ID"
36+
IFLYTEK_API_KEY: "YOUR_API_KEY"
37+
IFLYTEK_API_SECRET: "YOUR_API_SECRET"
38+
39+
METAGPT_TEXT_TO_IMAGE_MODEL_URL: "YOUR_MODEL_URL"
40+
41+
PYPPETEER_EXECUTABLE_PATH: "/Applications/Google Chrome.app"
42+

docs/ROADMAP.md

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -9,24 +9,22 @@ Enable MetaGPT to self-evolve, accomplishing self-training, fine-tuning, optimiz
99

1010
1. Become the multi-agent framework with the highest ROI.
1111
2. Support fully automatic implementation of medium-sized projects (around 2000 lines of code).
12-
3. Implement most identified tasks, reaching version 0.5.
12+
3. Implement most identified tasks, reaching version 1.0.
1313

1414
### Tasks
1515

16-
To reach version v0.5, approximately 70% of the following tasks need to be completed.
17-
1816
1. Usability
1917
1. ~~Release v0.01 pip package to try to solve issues like npm installation (though not necessarily successfully)~~ (v0.3.0)
20-
2. Support for overall save and recovery of software companies
18+
2. ~~Support for overall save and recovery of software companies~~ (v0.6.0)
2119
3. ~~Support human confirmation and modification during the process~~ (v0.3.0) New: Support human confirmation and modification with fewer constrainsts and a more user-friendly interface
2220
4. Support process caching: Consider carefully whether to add server caching mechanism
2321
5. ~~Resolve occasional failure to follow instruction under current prompts, causing code parsing errors, through stricter system prompts~~ (v0.4.0, with function call)
2422
6. Write documentation, describing the current features and usage at all levels (ongoing, continuously adding contents to [documentation site](https://docs.deepwisdom.ai/main/en/guide/get_started/introduction.html))
2523
7. ~~Support Docker~~
2624
2. Features
27-
1. Support a more standard and stable parser (need to analyze the format that the current LLM is better at)
28-
2. ~~Establish a separate output queue, differentiated from the message queue~~
29-
3. Attempt to atomize all role work, but this may significantly increase token overhead
25+
1. ~~Support a more standard and stable parser (need to analyze the format that the current LLM is better at)~~ (v0.5.0)
26+
2. ~~Establish a separate output queue, differentiated from the message queue~~ (v0.5.0)
27+
3. ~~Attempt to atomize all role work, but this may significantly increase token overhead~~ (v0.5.0)
3028
4. Complete the design and implementation of module breakdown
3129
5. Support various modes of memory: clearly distinguish between long-term and short-term memory
3230
6. Perfect the test role, and carry out necessary interactions with humans
@@ -43,10 +41,10 @@ To reach version v0.5, approximately 70% of the following tasks need to be compl
4341
4. Actions
4442
1. ~~Implementation: Search~~ (v0.2.1)
4543
2. Implementation: Knowledge search, supporting 10+ data formats
46-
3. Implementation: Data EDA (expected v0.6.0)
47-
4. Implementation: Review
48-
5. ~~Implementation~~: Add Document (v0.5.0)
49-
6. ~~Implementation~~: Delete Document (v0.5.0)
44+
3. Implementation: Data EDA (expected v0.7.0)
45+
4. Implementation: Review & Revise (expected v0.7.0)
46+
5. ~~Implementation: Add Document~~ (v0.5.0)
47+
6. ~~Implementation: Delete Document~~ (v0.5.0)
5048
7. Implementation: Self-training
5149
8. ~~Implementation: DebugError~~ (v0.2.1)
5250
9. Implementation: Generate reliable unit tests based on YAPI
@@ -64,23 +62,22 @@ To reach version v0.5, approximately 70% of the following tasks need to be compl
6462
3. ~~Support Playwright apis~~
6563
7. Roles
6664
1. Perfect the action pool/skill pool for each role
67-
2. Red Book blogger
68-
3. E-commerce seller
69-
4. Data analyst (expected v0.6.0)
70-
5. News observer
71-
6. ~~Institutional researcher~~ (v0.2.1)
65+
2. E-commerce seller
66+
3. Data analyst (expected v0.7.0)
67+
4. News observer
68+
5. ~~Institutional researcher~~ (v0.2.1)
7269
8. Evaluation
7370
1. Support an evaluation on a game dataset (experimentation done with game agents)
7471
2. Reproduce papers, implement full skill acquisition for a single game role, achieving SOTA results (experimentation done with game agents)
75-
3. Support an evaluation on a math dataset (expected v0.6.0)
72+
3. Support an evaluation on a math dataset (expected v0.7.0)
7673
4. Reproduce papers, achieving SOTA results for current mathematical problem solving process
7774
9. LLM
7875
1. Support Claude underlying API
7976
2. ~~Support Azure asynchronous API~~
8077
3. Support streaming version of all APIs
8178
4. ~~Make gpt-3.5-turbo available (HARD)~~
8279
10. Other
83-
1. Clean up existing unused code
84-
2. Unify all code styles and establish contribution standards
85-
3. Multi-language support
86-
4. Multi-programming-language support
80+
1. ~~Clean up existing unused code~~
81+
2. ~~Unify all code styles and establish contribution standards~~
82+
3. ~~Multi-language support~~
83+
4. ~~Multi-programming-language support~~

0 commit comments

Comments
 (0)