本文へスキップ

ドキュメントを検索

入力すると、ドキュメントのすべてのページを検索できます。

ドキュメントメニュー
リファレンス対象読者 · 運用担当者 & 開発者

設定リファレンス

すべての設定キーと環境変数、および有効なソースの選択方法

このページは英語から機械翻訳されました。相違がある場合は原文が優先されます。英語の原文を読む

設定の読み込み方法

設定は、ConfigSource(agent_lab/core/config.py を参照)によって読み込まれるシンプルな辞書で、 DI コンテナにバインドされます。create_app() は default_config_source() を通じて、次の順序どおりにソースを選択します。最初に一致したものが採用されます。

# 条件(設定されている環境変数) 有効なソース
1 VAULT_K8S_ROLE KubernetesVaultConfigSource — Pod に投影された ServiceAccount トークン経由で Vault を使用
2 DOCKER YamlConfigSource("config-docker.yml")
3 TESTING YamlConfigSource("config-test.yml")
4 DEVELOPING YamlConfigSource("config-dev.yml")
5 (上記のいずれでもない) VaultConfigSource — VAULT_URL / VAULT_TOKEN を読み込む

アプリごとに選択を上書きすることもできます。

app = create_app(config_source=YamlConfigSource("config.yml"))  # explicit

設定キー

有効なソースが返す必要のある辞書です。記載のデフォルト値は config-dev.yml(開発用)のものです。リファレンスアプリには、これとまったく同じ構造の config-dev.yml、config-test.yml、 config-docker.yml が同梱されています。

キー 用途 値の例
api_base_url この API の公開ベース URL(レスポンス内のリンクに使用) http://localhost:8000
cdp_url Web エージェント(WebAgentBase)用のヘッドレス Chrome(CDP)エンドポイント http://localhost:9222
auth.enabled true のとき、認証ミドルウェアと /auth ルートをマウント false
auth.url Keycloak のベース URL https://auth.example.com
auth.realm Keycloak のレルム名 agent-lab
auth.client_id OIDC クライアント ID agent-lab-api
auth.client_secret OIDC クライアントシークレット …
broker.url 長時間処理のステータス更新を Pub/Sub で配信するための Redis URL redis://localhost:6379/0
db.url PostgreSQL — リレーショナルデータ postgresql://postgres:postgres@localhost:5432/agent_lab
db.vectors PostgreSQL — pgvector の埋め込み用データベース postgresql://postgres:postgres@localhost:5432/agent_lab_vectors
db.checkpoints PostgreSQL — LangGraph のチェックポイント(エージェントのメモリ)用データベース postgresql://postgres:postgres@localhost:5432/agent_lab_checkpoints
vault.url Vault のアドレス(サービスがシークレットを読み取れるよう書き戻しも行う) http://localhost:8200
vault.token Vault トークン dev-only-token
static.enabled SPA ビルドを配信する(フロントエンドのビルドが存在しない場合は false) false
static.directory SPA ビルドを含むディレクトリ static/frontend/browser
static.index_file SPA のフォールバックファイル index.html
static.mount_path SPA のマウントポイント /

static は特別です。YAML ソースでは明示的に設定しますが、Vault ソースではコード上の規約から導出されます。STATIC_DIR の下に SPA ビルドが存在する場合に有効になります。

Vault シークレットペイロード

VaultConfigSource は単一の KV-v2 シークレット(デフォルトではエンジン secret、パス app_secrets)を読み込み、上記のキーにマッピングします。

シークレットキー マッピング先
api_base_url api_base_url
cdp_url cdp_url
auth_enabled → auth.enabled auth.enabled
auth_url → auth.url auth.url
auth_realm → auth.realm auth.realm
auth_client_id → auth.client_id auth.client_id
auth_client_secret → auth.client_id auth.client_secret
broker_url broker.url
db_url db.url
db_vectors db.vectors
db_checkpoints db.checkpoints

このペイロードのプロビジョニング方法(開発用 Docker Compose、Kubernetes、Terraform)は、 Vault によるシークレット管理とデプロイガイドで説明しています。

環境変数

設定ソースの選択

変数 デフォルト 用途
DEVELOPING (未設定) config-dev.yml を選択(IDE でのデバッグ)
TESTING (未設定) config-test.yml を選択(テストスイート)
DOCKER (未設定) config-docker.yml を選択(Compose)
VAULT_URL (未設定) デフォルトソース用の Vault アドレス
VAULT_TOKEN (未設定) デフォルトソース用の Vault トークン
VAULT_ENGINE_PATH secret KV-v2 のマウントポイント
VAULT_SECRET_PATH app_secrets シークレットのパス
VAULT_K8S_ROLE (未設定) Vault の Kubernetes 認証ロール。K8s ソースを有効にし、最優先される
STATIC_DIR static/frontend/browser SPA ビルドを探す場所

オブザーバビリティ

変数 デフォルト 用途
OTEL_EXPORTER_OTLP_ENDPOINT (未設定 — トレース無効) OTLP/HTTP コレクターのベース URL。トレース → /v1/traces、メトリクス → /v1/metrics、ログ → /v1/logs
SERVICE_NAME Agent-Lab OTel のリソース名
SERVICE_VERSION snapshot OTel のリソースバージョン
LANGFUSE_HOST (未設定) Langfuse のベース URL。以下の 2 つのキーと組み合わせると Langfuse バックエンドが有効になる
LANGFUSE_PUBLIC_KEY (未設定) Langfuse の pk-lf-… キー
LANGFUSE_SECRET_KEY (未設定) Langfuse の sk-lf-… キー
LANGWATCH_ENDPOINT (未設定) LangWatch のエンドポイント。以下のキーと組み合わせると LangWatch バックエンドが有効になる
LANGWATCH_API_KEY (未設定) LangWatch の API キー

Langfuse の変数のいずれかが欠けている場合、Langfuse バックエンドは何も通知されずに無効化され、アプリはそのまま起動します(LangWatch も同様です)。詳細と拡張ポイントについてはオブザーバビリティを参照してください。

認証とインテグレーション

変数 デフォルト 用途
AZURE_CLIENT_ID / AZURE_CLIENT_SECRET / AZURE_TENANT_ID (未設定) /auth/exchange 用の Microsoft Entra ID 認証情報
EMBEDDINGS_ENDPOINT (未設定) 検索系エージェントが使用する埋め込みサービス
OPENAI_API_KEY (未設定) OpenAI(ボイスメモの音声入力、シミュレーションのジャッジのデフォルト)

シミュレーション(テストスイート専用)

変数 デフォルト 用途
SIMULATION_LLM_MODEL (必須) テスト対象のエージェントを実行するモデルタグ(例:qwen3:30b)
SIMULATION_LLM_API_BASE (必須) そのモデルを提供する OpenAI 互換エンドポイント
SIMULATION_LLM_API_KEY dummy-key エンドポイントの API キー(必要な場合)
SIMULATION_JUDGE_MODEL openai/gpt-5-nano LLM-as-judge が使用する litellm のモデル ID
SIMULATION_JUDGE_API_BASE プロバイダーのデフォルト ジャッジ用のカスタム OpenAI 互換エンドポイント
SIMULATION_JUDGE_API_KEY プロバイダーのデフォルト カスタムジャッジエンドポイントの API キー

これらの使われ方については、テストとシミュレーションを参照してください。

カスタム設定ソース

ConfigSource ABC を実装し、create_app(config_source=...) に渡します。 AWS Secrets Manager の利用、環境変数のみによるデプロイ、別のソースのラップなどに便利です。

from agent_lab import ConfigSource, create_app


class MyConfigSource(ConfigSource):
    def load(self) -> dict:
        return {
            "api_base_url": "https://api.example.com",
            "db": {"url": "postgresql://…", "vectors": "…", "checkpoints": "…"},
            "auth": {"enabled": True, "url": "…", "realm": "…", "client_id": "…", "client_secret": "…"},
            "broker": {"url": "redis://…"},
            # … remaining keys as in the table above
        }


app = create_app(config_source=MyConfigSource())

同梱のソース(YamlConfigSource、VaultConfigSource、 KubernetesVaultConfigSource)と default_config_source() は、すべてトップレベルの agent_lab パッケージからエクスポートされています。