Skip to content

Latest commit

 

History

History
259 lines (185 loc) · 12 KB

README_JA.md

File metadata and controls

259 lines (185 loc) · 12 KB

MetaGPT: マルチエージェントフレームワーク

MetaGPT ロゴ: GPT がソフトウェア会社で働けるようにし、協力してより複雑な仕事に取り組む。

GPT にさまざまな役割を割り当てることで、複雑なタスクのための共同ソフトウェアエンティティを形成します。

CN doc EN doc JA doc Discord Follow License: MIT roadmap Twitter Follow

AgentStore Waitlist Open in Dev Containers Open in GitHub Codespaces Hugging Face

  1. MetaGPT は、1 行の要件 を入力とし、ユーザーストーリー / 競合分析 / 要件 / データ構造 / API / 文書など を出力します。
  2. MetaGPT には、プロダクト マネージャー、アーキテクト、プロジェクト マネージャー、エンジニア が含まれています。MetaGPT は、ソフトウェア会社のプロセス全体を、慎重に調整された SOP とともに提供します。
    1. Code = SOP(Team) が基本理念です。私たちは SOP を具体化し、LLM で構成されるチームに適用します。

ソフトウェア会社は LLM ベースの役割で構成されている

ソフトウェア会社のマルチロール図式(順次導入)

MetaGPTの能力

customized_tasks_by_MetaGPT_v2.mp4

例(GPT-4 で完全生成)

例えば、python startup.py "Toutiao のような RecSys をデザインする"と入力すると、多くの出力が得られます

Jinri Toutiao Recsys データと API デザイン

解析と設計を含む 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
pip install -e.

注:

  • すでに Chrome、Chromium、MS Edge がインストールされている場合は、環境変数 PUPPETEER_SKIP_CHROMIUM_DOWNLOADtrue に設定することで、 Chromium のダウンロードをスキップすることができます。

  • このツールをグローバルにインストールする問題を抱えている人もいます。ローカルにインストールするのが代替の解決策です、

    npm install @mermaid-js/mermaid-cli
  • config.yml に mmdc のコンフィギュレーションを記述するのを忘れないこと

    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 を実行してみてください

Docker によるインストール

# ステップ 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 をコンテナディレクトリ /app/metagpt/config にマップする
  • ホストディレクトリ /opt/metagpt/workspace をコンテナディレクトリ /app/metagpt/workspace にマップする
  • デモコマンド python startup.py "Write a cli snake game" を実行する

自分でイメージをビルドする

# また、自分で metagpt イメージを構築することもできます。
git clone https://github.com/geekan/MetaGPT.git
cd MetaGPT && docker build -t metagpt:custom .

設定

  • OPENAI_API_KEYconfig/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"
# プロジェクトの実施にエンジニアを雇わないこと
python startup.py "Write a cli snake game" --implement False
# エンジニアを雇い、コードレビューを行う
python startup.py "Write a cli snake game" --code_review True

スクリプトを実行すると、workspace/ ディレクトリに新しいプロジェクトが見つかります。

プラットフォームまたはツールの設定

要件を述べるときに、どのプラットフォームまたはツールを使用するかを指定できます。

python startup.py "pygame をベースとした cli ヘビゲームを書く"

使用方法

会社名
    startup.py - 私たちは AI で構成されたソフトウェア・スタートアップです。私たちに投資することは、無限の可能性に満ちた未来に力を与えることです。

シノプシス
    startup.py IDEA <flags>

説明
    私たちは AI で構成されたソフトウェア・スタートアップです。私たちに投資することは、無限の可能性に満ちた未来に力を与えることです。

位置引数
    IDEA
        型: str
        あなたの革新的なアイデア、例えば"スネークゲームを作る。"など

フラグ
    --investment=INVESTMENT
        型: float
        デフォルト: 3.0
        投資家として、あなたはこの AI 企業に一定の金額を拠出する機会がある。
    --n_round=N_ROUND
        型: int
        デフォルト: 5

注意事項
    位置引数にフラグ構文を使うこともできます

コードウォークスルー

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 のみの例を詳しく見ることができます。

クイックスタート

ローカル環境のインストールや設定は、ユーザーによっては難しいものです。以下のチュートリアルで MetaGPT の魅力をすぐに体験できます。

Hugging Face Space で試す

引用

現時点では、Arxiv 論文を引用してください:

@misc{hong2023metagpt,
      title={MetaGPT: Meta Programming for Multi-Agent Collaborative Framework},
      author={Sirui Hong and Xiawu Zheng and Jonathan Chen and Yuheng Cheng and Jinlin Wang and Ceyao Zhang and Zili Wang and Steven Ka Shing Yau and Zijuan Lin and Liyang Zhou and Chenyu Ran and Lingfeng Xiao and Chenglin Wu},
      year={2023},
      eprint={2308.00352},
      archivePrefix={arXiv},
      primaryClass={cs.AI}
}

お問い合わせ先

このプロジェクトに関するご質問やご意見がございましたら、お気軽にお問い合わせください。皆様のご意見をお待ちしております!

ご質問には 2-3 営業日以内に回答いたします。

デモ

demo-cli-blackjack-compress.mp4

参加する

📢 Discord チャンネルに参加してください! https://discord.gg/ZRHeExS6xv

お会いできることを楽しみにしています! 🎉