AutoGenにおけるモデル設定の完全ガイド
公式チュートリアル「Models」解説(2024年最新版)
概要
AutoGenは、複数の大規模言語モデル(LLMs)を抽象化して統一的に扱うことができるマルチエージェントフレームワークである。本記事では、AutoGenが提供するモデルラッパーの一覧、設定方法、および拡張の仕組みについて、公式チュートリアル「Models」ページをもとに整理する。
1. モデル設定の基本構文
AutoGenでは、各エージェントに対して使用するモデルの構成を llm_config という辞書型オブジェクトで指定する。最小限の設定例は以下の通りである。
pythonCopyEditllm_config = {
"model": "gpt-4"
}
この設定により、AutoGenは内部的に OpenAIWrapper を利用して OpenAI API にアクセスする。明示的にラッパーを指定する必要はなく、model キーの指定だけで動作するのが特徴である。
2. 対応ラッパー一覧
AutoGenは、以下のモデルラッパー(wrapper classes)を標準で提供しており、各種クラウドサービスおよびローカル実行環境に対応している。
| ラッパー名 | 主な対象モデル・サービス |
|---|---|
OpenAIWrapper | GPT-4, GPT-3.5 (OpenAI API) |
AzureOpenAIWrapper | Azure OpenAI サービスの GPT 系モデル |
AnthropicWrapper | Claude 1, Claude 2, Claude 3 |
HuggingFaceWrapper | Hugging Face 上の LLaMA, Mistral など |
vLLMWrapper | vLLM 推論エンジン(ローカル推論) |
LiteLLMWrapper | LiteLLM を介した複数モデル切り替え |
PetalsWrapper | Petals 分散推論ネットワーク |
ReplicateWrapper | Replicate API 上の各種 LLM |
LMStudioWrapper | LM Studio アプリ経由でのローカル実行 |
OllamaWrapper | Ollama によるローカルモデル推論 |
GoogleWrapper | Gemini (PaLM 2), Google API 経由 |
各ラッパーは、統一された generate インターフェースを実装しており、ユーザーはモデルの違いを意識せずにエージェントを構築できる。
3. 環境変数によるAPIキーの管理
AutoGenでは、各プロバイダが要求するAPIキーを環境変数経由で安全に管理できる。代表的なキー名は以下の通り。
| サービス | 環境変数名 |
|---|---|
| OpenAI | OPENAI_API_KEY |
| Azure OpenAI | AZURE_OPENAI_API_KEY, AZURE_OPENAI_ENDPOINT |
| Anthropic | ANTHROPIC_API_KEY |
| Hugging Face | HUGGINGFACE_API_KEY |
| Replicate | REPLICATE_API_TOKEN |
| Google Gemini | GOOGLE_API_KEY |
これらのキーはOS環境にあらかじめ設定しておくことで、コード中に直接記述せずともモデルにアクセス可能となる。
4. 実装例:GPT-4を使用するエージェント
以下は、GPT-4を使用したエージェントの定義例である。
pythonCopyEditfrom autogen import AssistantAgent, UserProxyAgent
llm_config = {
"model": "gpt-4",
"temperature": 0.7,
"max_tokens": 2048
}
assistant = AssistantAgent(name="assistant", llm_config=llm_config)
user = UserProxyAgent(name="user")
この構成により、OpenAIのGPT-4モデルをベースとしたアシスタントエージェントを生成できる。temperature, max_tokens などの追加パラメータも利用可能である。
5. 任意パラメータの一覧
llm_config に指定できる代表的な追加パラメータは以下の通り。
| パラメータ名 | 概要 |
|---|---|
model | 使用するモデル名(例:gpt-4) |
temperature | 出力の多様性(0.0〜1.0) |
max_tokens | 最大応答トークン数 |
timeout | API応答待機時間(秒) |
api_base | OpenAI互換API用のベースURL(任意) |
api_type | APIタイプの明示(例:azure) |
6. 独自モデルへの拡張
AutoGenは、BaseLLMWrapper を継承して独自のモデルラッパークラスを実装することで、社内LLMや未対応プロバイダへの対応も可能である。この拡張により、企業内環境や特殊用途のモデルにも柔軟に適用できる。
結論
AutoGenのモデル設定機能は、標準的なOpenAI APIだけでなく、ローカル環境やサードパーティ製のLLMサービスとも連携可能であり、非常に拡張性が高い。エージェント定義においては、llm_config を中心にモデルや各種動作パラメータを制御する設計となっており、環境変数によるセキュアなAPI管理も可能である。
マルチエージェント構成に進む前提として、本モデル設定の仕組みを理解しておくことは極めて重要である。


コメント