AgentVerseは、Large Language Model (LLM)に基づいたマルチインテリジェントボディシステムの迅速な導入を支援するために設計されたオープンソースプロジェクトです。タスク解決とシミュレーション環境という2つのコアフレームワークを提供します。タスク解決フレームワークは、ソフトウェア開発やコンサルティングサービスのような複雑なタスクを自動的に完了するために、複数のインテリジェンスのコラボレーションを通じて。agentVerseは、主要なLLM(GPT-3.5やLLaMAなど)をサポートし、コマンドラインとグラフィカルインターフェースの両方を提供します。OpenBMBチームによって開発されたこのプロジェクトは、ICLR 2024で発表され、ローカルモデルの統合やツールの使用などの追加機能をサポートするために継続的に更新されています。
機能一覧
- マルチタスクソフトウェア開発、データ分析、コンサルティングシステムなど、複数のインテリジェンスによる共同作業をサポート。
- シミュレーション環境の設定ゲームや社会調査に適した、インテリジェントな身体行動を観察したり対話したりするためのカスタムシナリオを作成できます。
- 主要言語モデルのサポートOpenAI API、Azure OpenAI、ネイティブモデル(LLaMA、Vicunaなど)に対応。
- コマンドラインとグラフィカル・インターフェースCLIとGUIには2つの操作モードがあり、ユーザーはすぐに使い始めることができる。
- ツール統合外部ツール(例:ウェブブラウザ、Jupyter Notebook)を使って複雑なタスクをこなす知能をサポートする。
- オープンソースと拡張性コードは完全にオープンソースであり、ユーザーは要求に応じて機能を変更したり拡張したりすることができます。
- 豊富な例とドキュメントこのプログラムでは、NLPクラス、囚人のジレンマ、ソフトウェア設計など、さまざまなデモ例を提供し、簡単に学習・使用できるようになっている。
ヘルプの使用
設置プロセス
AgentVerseはPython 3.9以上をサポートしており、最新の機能を得るためには手動でインストールすることをお勧めします。以下は詳細なインストール手順です:
- コードベースのクローン::
Gitを使用してAgentVerseコードベースをローカルにクローンします:git clone https://github.com/OpenBMB/AgentVerse.git --depth 1 cd AgentVerse
- 依存関係のインストール::
プロジェクト・ディレクトリで以下のコマンドを実行し、コアの依存関係をインストールする:pip install -e .
ローカルモデル(LLaMAなど)を使用する必要がある場合は、さらに以下の依存関係をインストールしてください:
pip install -r requirements_local.txt
- pipによるインストール(オプション):
コードベースをクローンしたくない場合は、pip経由で直接インストールできる:pip install -U agentverse
- 環境変数の設定::
OpenAI APIを使用するユーザーは、APIキーを設定する必要があります:export OPENAI_API_KEY="your_api_key_here"
Azure OpenAIサービスを使用する場合は、追加の設定が必要です:
export AZURE_OPENAI_API_KEY="your_api_key_here" export AZURE_OPENAI_API_BASE="your_api_base_here"
- ツールサポート(オプション)::
シミュレーションケースをツール(例えばnlp_classroom_3players_withtool
)、BMToolsをインストールする必要があります:git clone git+https://github.com/OpenBMB/BMTools.git cd BMTools pip install -r requirements.txt python setup.py develop
- vLLMサポート(オプション)::
大規模推論タスクにvLLMを使用するには、vLLMサーバーをインストールして起動し、環境変数を設定する必要がある:export VLLM_API_KEY="your_api_key_here" export VLLM_API_BASE="http://your_vllm_url_here"
タスクプロファイルのモデル設定を修正する:
model_type: vllm model: llama-2-7b-chat-hf
- FSChatのサポート(ローカルモデル)::
ローカルモデル(LLaMAなど)を使用している場合は、FSChat依存関係をインストールし、ローカルサーバーを起動する必要があります:pip install -r requirements_local.txt bash scripts/run_local_model_server.sh
の設定ファイルを修正する。
llm_type
歌で応えるmodel
例えば、こうだ:llm: llm_type: local model: llama-2-7b-chat-hf
使用方法
AgentVerseはタスク解決とシミュレーション環境という2つの主要なフレームワークを提供します。その仕組みは以下の通りです:
1.マンデート解決の枠組み
タスク解決フレームワークは、複数のインテリジェンスが複雑なタスクに協力する必要があるシナリオに適している。ユーザーはコマンドラインからプリセットまたはカスタマイズされたタスクを実行できる。
- ベンチマークテストの実行::
Humanevalデータセットを使用してAgentVerseのパフォーマンスをテストします:agentverse-benchmark --task tasksolving/humaneval/gpt-3.5 --dataset_path data/humaneval/test.jsonl --overwrite
- 単一タスクの実行::
プリセットのブレーンストーミングタスクを実行する:agentverse-tasksolving --task tasksolving/brainstorming
- ツール使用タスク::
ツールを使ってタスクを実行する(24点ゲームを解くなど):agentverse-tasksolving --task tasksolving/tool_using/24point
XAgent用のToolServerが起動していることを確認してください。
agentverse/tasks/tasksolving/tool_using/
カタログに掲載されている。
2.モデリング環境の枠組み
シミュレーションフレームワークは、知能の振る舞いを研究したり、インタラクションシナリオを作成したりするのに適しています。ユーザーはCLIまたはGUIを使ってシミュレーションを実行できます。
- コマンドライン操作::
NLPの教室(教授1人と生徒8人を含む9人の知能)を例にとってみよう:agentverse-simulation --task simulation/nlp_classroom_9players
- グラフィカル・ユーザー・インターフェース(GUI)操作::
シミュレーションを視覚化するために、ローカルWebサーバを起動します:agentverse-simulation-gui --task simulation/nlp_classroom_9players
起動後
http://127.0.0.1:7860/
シミュレーション環境を見る
3.タスクと環境のカスタマイズ
ユーザーは agentverse/tasks/
ディレクトリ内の設定ファイルはカスタムタスクやシミュレーション環境を作成します。設定ファイルは通常YAMLフォーマットで、モデルタイプ、タスクの説明、インテリジェントボディの役割などの情報が含まれています。例えばagentverse/tasks/tasksolving/commongen/llama-2-7b-chat-hf/config.yaml
はタスクプロファイルの完全な例である。
注目の機能操作
- マルチインテリジェンス・コラボレーションタスク解決フレームワークでは、インテリジェンスは役割分担(プランナー、エクゼキューターなど)に基づいてタスクを完了するために協力する。例えば、ソフトウェア開発タスクでは、ある知能が要求分析を担当し、別の知能がコードを生成し、最後の知能がテストを実行する。
- ツール使用インテリジェンティアは、複雑なタスクを処理するために外部ツール(Bing SearchやJupyter Notebookなど)を呼び出すことができる。例えば、24点ゲームのタスクでは、インテリジェンスはツールを使って数式を計算する。
- アナログ・インタラクションシミュレーションフレームワークでは、ユーザーはインテリジェンスの行動ルールを設定したり、特定のシナリオ(例:囚人のジレンマ)におけるインテリジェンスの意思決定プロセスを観察したり、GUIを通じてインテリジェンスと対話したりすることができます。
アプリケーションシナリオ
- ソフトウェア開発
AgentVerseのタスク解決フレームワークはソフトウェア開発の自動化に使用できます。複数のインテリジェンスが連携し,1つは要件を分析し,1つはコードを生成し,もう1つはデバッグとテストを行い,開発効率を大幅に向上させます。 - 教育研究
シミュレーションフレームワークのNLPクラスルームシナリオは、教育環境における大規模な言語モデルのパフォーマンスを研究するために使用することができます。ユーザーは教授と生徒の知能の相互作用を観察し、教育の効果を分析することができます。 - 社会行動研究
このシミュレーションフレームワークは、「囚人のジレンマ」のようなシナリオの作成をサポートし、競争環境や協調環境における知能の行動パターンを研究するもので、社会学やゲーム理論の研究に適している。 - ゲーム開発
このシミュレーションフレームワークにより、ユーザーは、インテリジェンスがキャラクターとなり、プレイヤーと対話するインタラクティブなゲーム環境(例:ポケモンゲームのデモ)を作成することができ、ゲームのプロトタイピングに適しています。
品質保証
- AgentVerseはどのような言語モデルをサポートしていますか?
AgentVerseは、OpenAI API(GPT-3.5など)、Azure OpenAI、ローカルモデル(LLaMA、Vicunaなど)をサポートしています。ユーザは適切なAPIキーまたはローカルサーバを設定する必要があります。 - ツールを使ってタスクを実行するには?
まずBMToolsまたはXAgentのToolServerをインストールし、それからagentverse-tasksolving --task tasksolving/tool_using/24point
などのコマンドを実行する。ツールサーバーが正しく機能していることを確認する。 - シミュレーション環境のGUIにはどのようにアクセスするのですか?
うごきだすagentverse-simulation-gui --task simulation/nlp_classroom_9players
を訪問した後http://127.0.0.1:7860/
グラフィカル・インターフェースを見ることができる。 - コードを投稿したり、課題に対するフィードバックを行うにはどうすればよいですか?
ユーザーはGitHub経由で課題またはプルリクエストを提出できる。PULL_REQUEST_TEMPLATE
コードを送信するか、AgentVerseチーム(agentverse2@gmail.com)までご連絡ください。