GPT にさまざまな役割を割り当てることで、複雑なタスクのための共同ソフトウェアエンティティを形成します。
- MetaGPT は、1 行の要件 を入力とし、ユーザーストーリー / 競合分析 / 要件 / データ構造 / API / 文書など を出力します。
- MetaGPT には、プロダクト マネージャー、アーキテクト、プロジェクト マネージャー、エンジニア が含まれています。MetaGPT は、ソフトウェア会社のプロセス全体を、慎重に調整された SOP とともに提供します。
Code = SOP(Team)
が基本理念です。私たちは SOP を具体化し、LLM で構成されるチームに適用します。
ソフトウェア会社のマルチロール図式(順次導入)
例えば、python startup.py "Toutiao のような RecSys をデザインする"
と入力すると、多くの出力が得られます
解析と設計を含む 1 つの例を生成するのに、$0.2 (GPT-4 の api のコスト)程度、完全なプロジェクトには $2.0 程度が必要です。
# ステップ 1: NPM がシステムにインストールされていることを確認してください。次に mermaid-js をインストールします。
npm --version
sudo npm install -g @mermaid-js/mermaid-cli
# ステップ 2: Python 3.9+ がシステムにインストールされていることを確認してください。これを確認するには:
python --version
# ステップ 3: リポジトリをローカルマシンにクローンし、インストールする。
git clone https://github.com/geekan/metagpt
cd metagpt
python setup.py install
# ステップ 1: metagpt 公式イメージをダウンロードし、config.yaml を準備する
docker pull metagpt/metagpt:v0.1
mkdir -p /opt/metagpt/config && docker run --rm metagpt/metagpt:v0.1 cat /app/metagpt/config/config.yaml > /opt/metagpt/config/config.yaml
vim /opt/metagpt/config/config.yaml # 設定を変更する
# ステップ 2: metagpt イメージを実行
docker run --name metagpt -d \
-v /opt/metagpt/config:/app/metagpt/config \
-v /opt/metagpt/workspace:/app/metagpt/workspace \
metagpt/metagpt:v0.1
# ステップ 3: metagpt コンテナにアクセスする
docker exec -it metagpt /bin/bash
# ステップ 4: コンテナ内で遊ぶ
cd /app/metagpt
python startup.py "Write a cli snake game"
コマンド docker run ...
は以下のことを行います:
- デフォルトのコマンド
tail -f /dev/null
で metagpt コンテナを起動する - ホストディレクトリ
/opt/metagtp/config
をコンテナディレクトリ/app/metagpt/config
にマップする - ホストディレクトリ
/opt/metagpt/workspace
をコンテナディレクトリ/app/metagpt/workspace
にマップする
# また、自分で metagpt イメージを構築することもできます。
cd metagpt && docker build --network host -t metagpt:v0.1 .
OPENAI_API_KEY
をconfig/key.yaml / config/config.yaml / env
のいずれかで設定します。- 優先順位は:
config/key.yaml > config/config.yaml > env
の順です。
# 設定ファイルをコピーし、必要な修正を加える。
cp config/config.yaml config/key.yaml
変数名 | config/key.yaml | env |
---|---|---|
OPENAI_API_KEY # 自分のキーに置き換える | OPENAI_API_KEY: "sk-..." | export OPENAI_API_KEY="sk-..." |
OPENAI_API_BASE # オプション | OPENAI_API_BASE: "https://<YOUR_SITE>/v1" | export OPENAI_API_BASE="https://<YOUR_SITE>/v1" |
python startup.py "Write a cli snake game"
スクリプトを実行すると、workspace/
ディレクトリに新しいプロジェクトが見つかります。
from metagpt.software_company import SoftwareCompany
from metagpt.roles import ProjectManager, ProductManager, Architect, Engineer
async def startup(idea: str, investment: float = 3.0, n_round: int = 5):
"""スタートアップを実行する。ボスになる。"""
company = SoftwareCompany()
company.hire([ProductManager(), Architect(), ProjectManager(), Engineer()])
company.invest(investment)
company.start_project(idea)
await company.run(n_round=n_round)
examples
でシングル・ロール(ナレッジ・ベース付き)と LLM のみの例を詳しく見ることができます。
このプロジェクトに関するご質問やご意見がございましたら、お気軽にお問い合わせください。皆様のご意見をお待ちしております!
- Email: [email protected]
- GitHub Issues: 技術的なお問い合わせについては、GitHub リポジトリ に新しい issue を作成することもできます。
ご質問には 2-3 営業日以内に回答いたします。