# MetaGPT: マルチエージェントフレームワーク
GPT にさまざまな役割を割り当てることで、複雑なタスクのための共同ソフトウェアエンティティを形成します。
1. MetaGPT は、**1 行の要件** を入力とし、**ユーザーストーリー / 競合分析 / 要件 / データ構造 / API / 文書など** を出力します。 2. MetaGPT には、**プロダクト マネージャー、アーキテクト、プロジェクト マネージャー、エンジニア** が含まれています。MetaGPT は、**ソフトウェア会社のプロセス全体を、慎重に調整された SOP とともに提供します。** 1. `Code = SOP(Team)` が基本理念です。私たちは SOP を具体化し、LLM で構成されるチームに適用します。 ソフトウェア会社のマルチロール図式(順次導入)
## MetaGPT の能力 https://github.com/geekan/MetaGPT/assets/34952977/34345016-5d13-489d-b9f9-b82ace413419 ## 例(GPT-4 で完全生成) 例えば、`python startup.py "Toutiao のような RecSys をデザインする"`と入力すると、多くの出力が得られます  解析と設計を含む 1 つの例を生成するのに約 **$0.2**(GPT-4 の API 使用料)、完全なプロジェクトでは約 **$2.0** かかります。 ## インストール ### インストールビデオガイド - [Matthew Berman: How To Install MetaGPT - Build A Startup With One Prompt!!](https://youtu.be/uT75J_KG_aY) ### 伝統的なインストール ```bash # ステップ 1: Python 3.9+ がシステムにインストールされていることを確認してください。これを確認するには: python --version # ステップ 2: リポジトリをローカルマシンにクローンし、インストールする。 git clone https://github.com/geekan/MetaGPT.git cd MetaGPT pip install -e. # ステップ 3: startup.py を実行する # config.yaml を key.yaml にコピーし、独自の OPENAI_API_KEY を設定します python3 startup.py "Write a cli snake game" # ステップ 4 [オプション]: 実行中に PRD ファイルなどのアーティファクトを保存する場合は、ステップ 3 の前にこのステップを実行できます。デフォルトでは、フレームワークには互換性があり、この手順を実行しなくてもプロセス全体を完了できます。 # NPM がシステムにインストールされていることを確認してください。次に mermaid-js をインストールします。(お使いのコンピューターに npm がない場合は、Node.js 公式サイトで Node.js https://nodejs.org/ をインストールしてください。) npm --version sudo npm install -g @mermaid-js/mermaid-cli ``` **注:** - すでに Chrome、Chromium、MS Edge がインストールされている場合は、環境変数 `PUPPETEER_SKIP_CHROMIUM_DOWNLOAD` を `true` に設定することで、 Chromium のダウンロードをスキップすることができます。 - このツールをグローバルにインストールする[問題を抱えている](https://github.com/mermaidjs/mermaid.cli/issues/15)人もいます。ローカルにインストールするのが代替の解決策です、 ```bash npm install @mermaid-js/mermaid-cli ``` - config.yml に mmdc のコンフィグを記述するのを忘れないこと ```yml PUPPETEER_CONFIG: "./config/puppeteer-config.json" MMDC: "./node_modules/.bin/mmdc" ``` - もし `pip install -e.` がエラー `[Errno 13] Permission denied: '/usr/local/lib/python3.11/dist-packages/test-easy-install-13129.write-test'` で失敗したら、代わりに `pip install -e. --user` を実行してみてください - Mermaid charts を SVG、PNG、PDF 形式に変換します。Node.js 版の Mermaid-CLI に加えて、Python 版の Playwright、pyppeteer、または mermaid.ink をこのタスクに使用できるようになりました。 - Playwright - **Playwright のインストール** ```bash pip install playwright ``` - **必要なブラウザのインストール** PDF変換をサポートするには、Chrominumをインストールしてください。 ```bash playwright install --with-deps chromium ``` - **modify `config.yaml`** config.yaml から MERMAID_ENGINE のコメントを外し、`playwright` に変更する ```yaml MERMAID_ENGINE: playwright ``` - pyppeteer - **pyppeteer のインストール** ```bash pip install pyppeteer ``` - **自分のブラウザを使用** pyppeteer を使えばインストールされているブラウザを使うことができます、以下の環境を設定してください ```bash export PUPPETEER_EXECUTABLE_PATH = /path/to/your/chromium or edge or chrome ``` ブラウザのインストールにこのコマンドを使わないでください、これは古すぎます ```bash pyppeteer-install ``` - **`config.yaml` を修正** config.yaml から MERMAID_ENGINE のコメントを外し、`pyppeteer` に変更する ```yaml MERMAID_ENGINE: pyppeteer ``` - mermaid.ink - **`config.yaml` を修正** config.yaml から MERMAID_ENGINE のコメントを外し、`ink` に変更する ```yaml MERMAID_ENGINE: ink ``` 注: この方法は pdf エクスポートに対応していません。 ### Docker によるインストール > Windowsでは、"/opt/metagpt"をDockerが作成する権限を持つディレクトリに置き換える必要があります。例えば、"D:\Users\x\metagpt"などです。 ```bash # ステップ 1: metagpt 公式イメージをダウンロードし、config.yaml を準備する docker pull metagpt/metagpt:latest mkdir -p /opt/metagpt/{config,workspace} docker run --rm metagpt/metagpt:latest cat /app/metagpt/config/config.yaml > /opt/metagpt/config/key.yaml vim /opt/metagpt/config/key.yaml # 設定を変更する # ステップ 2: コンテナで metagpt デモを実行する docker run --rm \ --privileged \ -v /opt/metagpt/config/key.yaml:/app/metagpt/config/key.yaml \ -v /opt/metagpt/workspace:/app/metagpt/workspace \ metagpt/metagpt:latest \ python startup.py "Write a cli snake game" # コンテナを起動し、その中でコマンドを実行することもできます docker run --name metagpt -d \ --privileged \ -v /opt/metagpt/config/key.yaml:/app/metagpt/config/key.yaml \ -v /opt/metagpt/workspace:/app/metagpt/workspace \ metagpt/metagpt:latest docker exec -it metagpt /bin/bash $ python startup.py "Write a cli snake game" ``` コマンド `docker run ...` は以下のことを行います: - 特権モードで実行し、ブラウザの実行権限を得る - ホスト設定ファイル `/opt/metagpt/config/key.yaml` をコンテナ `/app/metagpt/config/key.yaml` にマップします - ホストディレクトリ `/opt/metagpt/workspace` をコンテナディレクトリ `/app/metagpt/workspace` にマップするs - デモコマンド `python startup.py "Write a cli snake game"` を実行する ### 自分でイメージをビルドする ```bash # また、自分で metagpt イメージを構築することもできます。 git clone https://github.com/geekan/MetaGPT.git cd MetaGPT && docker build -t metagpt:custom . ``` ## 設定 - `OPENAI_API_KEY` を `config/key.yaml / config/config.yaml / env` のいずれかで設定します。 - 優先順位は: `config/key.yaml > config/config.yaml > env` の順です。 ```bash # 設定ファイルをコピーし、必要な修正を加える。 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://