LLMを活用したマルチエージェントアプリケーションをより簡単に構築する。
-
私たちの仕事が役に立った場合は、論文を引用してください。
-
agentscope.ioにアクセスして、ドラッグアンドドロップでマルチエージェントアプリケーションを構築してください。
- 私たちのコミュニティに参加してください
Discord | DingTalk |
---|---|
-
[2024-09-03] AgentScopeはWebブラウザ制御をサポートしています。詳細については、例を参照してください。
- [2024-07-18] AgentScopeはストリーミングモードをサポートしています。詳細については、チュートリアルおよびストリーミングモードでの会話の例を参照してください。
-
[2024-07-15] AgentScopeはMixture-of-Agentsアルゴリズムを実装しました。詳細については、MoAの例を参照してください。
-
[2024-06-14] 新しいプロンプトチューニングモジュールがAgentScopeに追加され、開発者がエージェントのシステムプロンプトを生成および最適化するのに役立ちます。詳細については、チュートリアルを参照してください。
-
[2024-06-11] RAG機能がAgentScopeに追加されました。エージェントに外部知識を装備するためのAgentScopeのRAGの簡単な紹介を参照してください。
-
[2024-06-09] AgentScope v0.0.5がリリースされました。この新しいバージョンでは、AgentScope Workstation(オンラインバージョンはagentscope.ioで実行されています)がリファクタリングされたAgentScope Studioとともにオープンソース化されました。
完全なニュース
-
[2024-05-24] AgentScope Workstationに関連する機能がまもなくオープンソース化されることをお知らせします。オンラインウェブサイトサービスは一時的にオフラインになっています。オンラインウェブサイトサービスはアップグレードされ、まもなく再開されます。お楽しみに...
-
[2024-05-15] フォーマットされた応答のための新しいパーサーモジュールがAgentScopeに追加されました。詳細については、チュートリアルを参照してください。
DictDialogAgent
および人狼ゲームの例も同時に更新されました。 -
[2024-05-14] 親愛なるAgentScopeユーザーの皆様、AgentScope Workstation & Copilotのユーザーエクスペリエンスに関するアンケートを実施しています。現在、AgentScopeのドラッグアンドドロップマルチエージェントアプリケーション開発とCopilotのエクスペリエンスを改善するために、貴重なフィードバックが必要です。フィードバックは貴重であり、アンケートには約3〜5分かかります。アンケート調査に参加するには、URLをクリックしてください。ご支援とご協力に感謝します。
-
[2024-05-14] AgentScopeはgpt-4oおよび他のOpenAIビジョンモデルをサポートしています。gpt-4oをモデル構成と新しい例Conversation with gpt-4oで試してください。
-
[2024-04-30] AgentScope v0.0.4がリリースされました。
-
[2024-04-27] AgentScope Workstationがオンラインになりました。ドラッグアンドドロッププラットフォームを使用してマルチエージェントアプリケーションを構築し、copilotにAgentScopeに関する質問をすることができます。
-
[2024-04-19] AgentScopeはLlama3をサポートしています。クイックセットアップのためのスクリプトとモデル構成を提供しています。例でllama3を試してみてください。
-
[2024-04-06] AgentScope v0.0.3がリリースされました。
-
[2024-04-06] 新しい例五目並べ、ReActエージェントとの会話、RAGエージェントとの会話、および分散並列最適化が利用可能になりました。
-
[2024-03-19] AgentScope v0.0.2がリリースされました。この新しいバージョンでは、AgentScopeはollama(ローカルCPU推論エンジン)、DashScopeおよびGoogleGeminiAPIをサポートしています。
-
[2024-03-19] 新しい例「メンション付きの自律会話」および「LangChainライブラリを使用した基本的な会話」が利用可能になりました。
-
[2024-03-19] AgentScopeの中国語チュートリアルがオンラインになりました。
-
[2024-02-27] AgentScope v0.0.1がリリースされました。これはPyPIでも利用可能です。
-
[2024-02-14] 私たちは論文「AgentScope: A Flexible yet Robust Multi-Agent Platform」をarXivに発表しました。
AgentScopeは、開発者が大規模モデルを使用してマルチエージェントアプリケーションを構築する能力を提供する革新的なマルチエージェントプラットフォームです。 それは3つの高レベルの機能を備えています:
-
🤝 使いやすさ:開発者向けに設計されており、豊富なコンポーネント、包括的なドキュメント、および広範な互換性を提供します。さらに、AgentScope Workstationは、初心者向けのドラッグアンドドロッププログラミングプラットフォームとcopilotを提供します。
-
✅ 高い堅牢性:カスタマイズ可能なフォールトトレランス制御と再試行メカニズムをサポートし、アプリケーションの安定性を向上させます。
-
🚀 アクターベースの分散:集中型プログラミング方式で分散マルチエージェントアプリケーションを構築し、開発を簡素化します。
サポートされているモデルライブラリ
AgentScopeは、ローカルモデルサービスとサードパーティのモデルAPIの両方をサポートするためのModelWrapper
のリストを提供します。
API | タスク | モデルラッパー | 構成 | サポートされているモデルの一部 |
---|---|---|---|---|
OpenAI API | チャット | OpenAIChatWrapper |
ガイダンス テンプレート |
gpt-4o, gpt-4, gpt-3.5-turbo, ... |
埋め込み | OpenAIEmbeddingWrapper |
ガイダンス テンプレート |
text-embedding-ada-002, ... | |
DALL·E | OpenAIDALLEWrapper |
ガイダンス テンプレート |
dall-e-2, dall-e-3 | |
DashScope API | チャット | DashScopeChatWrapper |
ガイダンス テンプレート |
qwen-plus, qwen-max, ... |
画像生成 | DashScopeImageSynthesisWrapper |
ガイダンス テンプレート |
wanx-v1 | |
テキスト埋め込み | DashScopeTextEmbeddingWrapper |
ガイダンス テンプレート |
text-embedding-v1, text-embedding-v2, ... | |
マルチモーダル | DashScopeMultiModalWrapper |
ガイダンス テンプレート |
qwen-vl-max, qwen-vl-chat-v1, qwen-audio-chat | |
Gemini API | チャット | GeminiChatWrapper |
ガイダンス テンプレート |
gemini-pro, ... |
埋め込み | GeminiEmbeddingWrapper |
ガイダンス テンプレート |
models/embedding-001, ... | |
ZhipuAI API | チャット | ZhipuAIChatWrapper |
ガイダンス テンプレート |
glm-4, ... |
埋め込み | ZhipuAIEmbeddingWrapper |
ガイダンス テンプレート |
embedding-2, ... | |
ollama | チャット | OllamaChatWrapper |
ガイダンス テンプレート |
llama3, llama2, Mistral, ... |
埋め込み | OllamaEmbeddingWrapper |
ガイダンス テンプレート |
llama2, Mistral, ... | |
生成 | OllamaGenerationWrapper |
ガイダンス テンプレート |
llama2, Mistral, ... | |
LiteLLM API | チャット | LiteLLMChatWrapper |
ガイダンス テンプレート |
litellmがサポートするモデル... |
Yi API | チャット | YiChatWrapper |
ガイダンス テンプレート |
yi-large, yi-medium, ... |
Post Request based API | - | PostAPIModelWrapper |
ガイダンス テンプレート |
- |
サポートされているローカルモデルのデプロイ
AgentScopeは、次のライブラリを使用してローカルモデルサービスを迅速にデプロイするためのサポートを提供します。
サポートされているサービス
- ウェブ検索
- データクエリ
- 検索
- コード実行
- ファイル操作
- テキスト処理
- マルチモーダル生成
- Wikipedia検索と検索
- TripAdvisor検索
- ウェブブラウザ制御
例のアプリケーション
-
モデル
-
会話
-
ゲーム
-
分散
さらに多くのモデル、サービス、および例が近日公開予定です。
AgentScopeはPython 3.9以上が必要です。
注:このプロジェクトは現在アクティブに開発中であり、AgentScopeをソースからインストールすることをお勧めします。
- AgentScopeを編集モードでインストールします:
# GitHubからソースコードを取得
git clone https://github.com/modelscope/agentscope.git
# パッケージを編集モードでインストール
cd agentscope
pip install -e .
- pipからAgentScopeをインストールします:
pip install agentscope
さまざまなデプロイメントシナリオをサポートするために、AgentScopeはいくつかのオプションの依存関係を提供します。オプションの依存関係の完全なリストは、チュートリアルを参照してください。分散モードを例にとると、次のように依存関係をインストールできます:
# ソースから
pip install -e .[distribute]
# pypiから
pip install agentscope[distribute]
# ソースから
pip install -e .\[distribute\]
# pypiから
pip install agentscope\[distribute\]
AgentScopeでは、モデルのデプロイメントと呼び出しはModelWrapper
によってデカップリングされています。
これらのモデルラッパーを使用するには、次のようなモデル構成ファイルを準備する必要があります。
model_config = {
# 構成の識別子と使用されるモデルラッパー
"config_name": "{your_config_name}", # 構成を識別する名前
"model_type": "{model_type}", # モデルラッパーを識別するタイプ
# モデルラッパーを初期化するための詳細なパラメータ
# ...
}
OpenAI Chat APIを例にとると、モデル構成は次のようになります:
openai_model_config = {
"config_name": "my_openai_config", # 構成を識別する名前
"model_type": "openai_chat", # モデルラッパーを識別するタイプ
# モデルラッパーを初期化するための詳細なパラメータ
"model_name": "gpt-4", # OpenAI APIで使用されるモデル名(例:gpt-4、gpt-3.5-turboなど)
"api_key": "xxx", # OpenAI APIのAPIキー。設定されていない場合、環境変数OPENAI_API_KEYが使用されます。
"organization": "xxx", # OpenAI APIの組織。設定されていない場合、環境変数OPENAI_ORGANIZATIONが使用されます。
}
ローカルモデルサービスのセットアップ方法やモデル構成の準備方法の詳細については、チュートリアルを参照してください。
次のように組み込みのユーザーエージェントとアシスタントエージェントを作成します。
from agentscope.agents import DialogAgent, UserAgent
import agentscope
# モデル構成を読み込む
agentscope.init(model_configs="./model_configs.json")
# ダイアログエージェントとユーザーエージェントを作成する
dialog_agent = DialogAgent(name="assistant",
model_config_name="my_openai_config")
user_agent = UserAgent()
AgentScopeでは、メッセージはエージェント間の橋渡しであり、dictであり、2つの必要なフィールドname
とcontent
、およびローカルファイル(画像、ビデオ、またはオーディオ)またはウェブサイトへのオプションのフィールドurl
を含みます。
from agentscope.message import Msg
x = Msg(name="Alice", content="Hi!")
x = Msg("Bob", "What about this picture I took?", url="/path/to/picture.jpg")
次のコードを使用して、2つのエージェント(例:dialog_agentとuser_agent)間の会話を開始します:
x = None
while True:
x = dialog_agent(x)
x = user_agent(x)
if x.content == "exit": # ユーザーが"exit"と入力して会話を終了する
break
AgentScopeは、テキスト、画像、オーディオ、ビデオなどのマルチモーダル出力をフロントエンドで表示できる使いやすいランタイムユーザーインターフェースを提供します。
詳細については、チュートリアルを参照してください。
- AgentScopeについて
- インストール
- クイックスタート
- モデル
- プロンプトエンジニアリング
- エージェント
- メモリ
- 応答パーサー
- ツール
- パイプラインとMsgHub
- 分散
- AgentScope Studio
- ログ
- モニター
- 例:人狼ゲーム
AgentScopeはApache License 2.0の下でリリースされています。
貢献は常に歓迎されます!
公式バージョンと比較して、追加のプリコミットフックを使用してチェックを実行する開発者バージョンを提供します:
# Windowsの場合
pip install -e .[dev]
# Macの場合
pip install -e .\[dev\]
# プリコミットフックをインストール
pre-commit install
詳細については、貢献ガイドを参照してください。
私たちの仕事があなたの研究やアプリケーションに役立つ場合は、私たちの論文を引用してください。
-
AgentScope: A Flexible yet Robust Multi-Agent Platform
@article{agentscope, author = {Dawei Gao and Zitao Li and Xuchen Pan and Weirui Kuang and Zhijian Ma and Bingchen Qian and Fei Wei and Wenhao Zhang and Yuexiang Xie and Daoyuan Chen and Liuyi Yao and Hongyi Peng and Ze Yu Zhang and Lin Zhu and Chen Cheng and Hongzhu Shi and Yaliang Li and Bolin Ding and Jingren Zhou} title = {AgentScope: A Flexible yet Robust Multi-Agent Platform}, journal = {CoRR}, volume = {abs/2402.14034}, year = {2024}, }