LLMフレームワークAutoGenにおける「YAML形式による設定ファイルの記述」は、各種コンポーネント(Agent、LLM、Task、Workflowなど)の構成や振る舞いを柔軟に制御するための中心的な手段です。以下に、YAML設定ファイルの役割、基本構造、記述例、主要パラメータについて詳述します。
1. 役割と目的
AutoGenでは、設定ファイル(通常 .yaml 拡張子)を用いて以下の項目を定義・制御します:
-
使用するLLM(OpenAI, Claude, 自前モデルなど)の設定
-
各Agentの種類、機能、会話戦略
-
TaskやPromptの定義
-
Generator / Filter / Criticの連携
-
出力制御(temperature、max_tokensなど)
これにより、Pythonコードに依存せず設定の差し替えや環境の再現性が高まります。
2. YAML設定ファイルの基本構造
以下はAutoGenで使用される代表的な設定ブロックです。
3. 主要セクションの解説
llms
llms-
使用するLLMのプロバイダ、モデル名、APIキー、生成パラメータなどを定義。
-
temperatureやmax_tokensなどの生成制御もここで指定。
agents
agents-
AutoGenのエージェントを定義。
-
typeは主に"assistant"(出力生成)、"critic"(評価)、"user_proxy"(人間のような挙動)など。 -
llmで上記llmsで定義したモデルを指定。 -
system_messageでプロンプト全体に適用される役割付けを記述。
tasks
tasks-
各エージェントに実行させるタスクの定義。
-
prompt_templateにより入力文をテンプレート化。 -
input_fromによって他のタスクの出力を入力として利用可能。
4. 環境変数との連携
YAML設定内で ${ENV_VAR} 形式を使うと、システムの環境変数を参照できます。セキュリティや環境差異に柔軟に対応可能です。
例:
5. YAMLファイルの適用方法
AutoGenの実行スクリプトにおいて以下のように読み込みます:
または、CLIで直接指定できるプロジェクトもあります。
6. 記述上の注意点
-
インデントはスペース2つまたは4つで統一(Tab不可)。
-
コメントは
#を使用。 -
YAMLスカラー(文字列)の中でコロン
:や波括弧{}を使う場合は引用符" "で囲む。
7. 応用例
以下のように複数のモデルやCriticを連携させる構成も可能です:
結論
AutoGenにおけるYAML形式の設定ファイルは、モジュール構成を柔軟かつ再利用可能に設計できる強力な手段です。LLMの切り替えやパラメータ調整をコードレスで実行できるため、再現性と運用効率の両面で大きな利点があります。
ChatGPT4o 生成日:2025/06/15