はじめに
AutoGenは、マイクロソフトの研究者チームによって開発されたオープンソースのフレームワークで、マルチインテリジェントな身体対話を通じて大規模言語モデル(LLM)アプリケーションの構築を簡素化することに重点を置いている。開発者は、互いに対話し、協力してタスクを解決するAIエージェントを作成することができます。このアプローチは、LLMのパフォーマンスを向上させるだけでなく、人間の入力とツールの使用を統合することで、システムの柔軟性と実用性を高めます。AutoGenは、あらゆる複雑さのワークフローに対応するため、単純な2つのインテリジェントエージェントの対話から複雑なマルチインテリジェントエージェントのグループチャットまで、あらゆるものをサポートします。
Microsoftは、AutoGenを完全に書き直した下位互換性のないバージョン、AutoGen 0.4を発表した。新しいAutoGen 0.4バージョンは、レイヤー化された拡張可能なモジュラーアーキテクチャを採用し、高度なAIインテリジェントボディシステムを構築するための非同期、メッセージ駆動、拡張可能なマルチエージェントフレームワークです。
機能一覧
- マルチインテリジェンス・コラボレーション複数のAIエージェントが対話を通じて協力し、複雑なタスクを解決する。
- カスタマイズと拡張性開発者は、インテリジェンスの行動や対話パターンを必要に応じてカスタマイズすることができます。
- 人間参加への支援インテリゲンチアは人間のユーザーと対話し、人間のフィードバックを受けて、タスクの実行を最適化することができる。
- ツール統合インテリジェント・ボディは、コードや外部ツールを直接使用して、タスク処理を強化することができる。
- 多様なアプリケーション・シナリオ数学的な問題解決からプログラミング、サプライチェーンの最適化まで、さまざまな分野での応用例があります。
- パフォーマンス最適化マルチコンフィギュレーション推論やキャッシングなどのメカニズムを通じて、LLMの効率を向上させる。
オートジェン・コア
AutoGen-Coreは、ActorモデルをベースとしたAutoGenフレームワークのコアAPIであり、インテリジェンス間の非同期メッセージングとイベント駆動型ワークフローをサポートします。AutoGen-Coreは、開発者が非常に柔軟でスケーラブルなマルチインテリジェント・ボディ・システムを作成するための基盤となるインフラストラクチャを提供します。主な機能は以下の通り:
- 非同期メッセージングインテリジェンティアは、効率的な並行処理を保証するために、非同期メッセージを介して相互に通信する。
- イベント駆動ワークフローイベントベースのワークフロー管理をサポートし、環境の変化やタスクの要求にシステムが対応できるようにします。
- 高い柔軟性上級ユーザーによる詳細なカスタマイズや最適化に適しています。
オートジェン・エージェント・チャット
AutoGen-AgentChatは、AutoGen-Coreの上に構築された高レベルAPIで、マルチ・インテリジェント・ボディ・ダイアログ・アプリケーションの構築に特化しています。マルチ・インテリジェント・ボディシステムの作成と管理を簡素化する、より高度な抽象化レベルを開発者に提供します。主な機能は以下の通りです:
- 使命感ダイアログ・インテリジェンスを定義し、特定のタスクを解決するためにチームを組むことができる。
- 定義済みの動作インテリジェンスのプリセット動作とマルチインテリジェンス・デザイン・モードが提供され、素早くスタートアップできます。
- ユーザーフレンドリー直感的な初期設定とわかりやすいインターフェイスで、初心者にも最適です。
ヘルプの使用
インストールとセットアップ
AutoGenを使い始めるには、まずPythonパッケージマネージャのPipからインストールする必要がある:
pip install -U "autogen-agentchat" "autogen-ext[openai]"
いくつかの機能を使うにはOpenAIのAPIキーが必要で、これは環境変数で設定できる:
export OPENAI_API_KEY='your-api-key-here'
オートジェンの使用
基本的知性の創造::
from autogen import アシスタントエージェント(AssistantAgent), ユーザプロキシエージェント(UserProxyAgent)
# アシスタントエージェントを定義する
assistant = AssistantAgent("assistant"、
llm_config={
"config_list": [{"model": "gpt-4", "api_key": os.environ["OPENAI_API_KEY"]}]。
})
#ユーザプロキシ作成
user_proxy = UserProxyAgent("user_proxy"、
code_execution_config={"work_dir": "coding", "use_docker": False})
# ダイアログの開始
user_proxy.initiate_chat(assistant, message="AutoGenとは何か説明してください")
マルチ・インテリジェンス・システムの構築::
AutoGenは、グループ・チャットなど、より複雑なマルチ・インテリジェンス・インタラクションをサポートします:
from autogen import GroupChat, GroupChatManager
# 複数のインテリジェンスを定義したと仮定した場合
group_chat = GroupChat(agents=[assistant, another_agent], messages=[], max_round=10)
manager = GroupChatManager(group_chat)
user_proxy.initiate_chat(manager, message="チームワークでこのプログラミング問題を解いてください:...")
ツールの使用::
インテリジェンシアは、コードの実行やウェブ検索などのツールを呼び出すことができる:
# コード実行環境の設定
user_proxy = UserProxyAgent("user_proxy", code_execution_config={"work_dir": "coding", "use_docker": True})
# コード実行のためのインテリジェントの取得
user_proxy.initiate_chat(assistant, message="シンプルなPythonスクリプトを書いて実行し、'Hello, AutoGen!'と表示する")
知的な身体行動のカスタマイズ::
特定の条件下での応答など、インテリジェンスの特定の動作を定義することができます:
defcustom_handler(message): if "error" in message.get("content", "").
if "error" in message.get("content", "").lower(): return "エラーが検出されました...".
return "エラーが検出されました、再試行します...".
returnNone
assistant.register_handler(custom_handler, event="on_message")
ワークフロー
- 対話を始めるスルーチャット開始方法は、知能間のコミュニケーションや、知能とユーザー間の相互作用を開始することができる。
- モニタリングと修正インテリゲンチアは対話の途中で追加したり変更したりすることができる。
- 結論と結果対話の最後には、生成されたコンテンツやインテリジェンスの実行結果を見ることができ、そのパフォーマンスや精度を分析することができます。
AutoGenを使用するには、基本的なPythonプログラミングのスキルが必要ですが、初心者でもすぐに使い始められるように、ドキュメントとサンプルが豊富に用意されています。これらの手順と例を参考に、AIアプリケーション開発のためのAutoGenのパワーを探ってみてください。
エコシステムはまた、2つの主要な開発者ツールをサポートしている:
オートジェン・スタジオ マルチエージェントアプリケーションを構築するためのコードフリーGUIを提供します。
AutoGen Benchは、エージェントのパフォーマンスを評価するためのベンチマーク・スイートを提供します。