Naar de inhoud springen

Zoek in de documentatie

Typ om elke pagina van de documentatie te doorzoeken.

Documentatiemenu
ReferentieDoelgroep · Beheerders & ontwikkelaars

Configuratiereferentie

Elke configuratiesleutel en omgevingsvariabele, en hoe de actieve bron wordt gekozen

Deze pagina is automatisch vanuit het Engels vertaald. Bij verschillen geldt het origineel.Het origineel in het Engels lezen

Hoe de configuratie wordt geladen

De configuratie is een gewone dictionary die door een ConfigSource wordt geladen (zie agent_lab/core/config.py) en aan de DI-container wordt gekoppeld. create_app() kiest een bron via default_config_source(), in precies deze volgorde — de eerste match wint:

# Voorwaarde (omgevingsvariabele ingesteld) Actieve bron
1 VAULT_K8S_ROLE KubernetesVaultConfigSource — Vault via het geprojecteerde ServiceAccount-token van de pod
2 DOCKER YamlConfigSource("config-docker.yml")
3 TESTING YamlConfigSource("config-test.yml")
4 DEVELOPING YamlConfigSource("config-dev.yml")
5 (geen van bovenstaande) VaultConfigSource — leest VAULT_URL / VAULT_TOKEN

Je kunt de keuze per app overschrijven:

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

Configuratiesleutels

De dictionary die de actieve bron moet teruggeven. De getoonde standaardwaarden komen uit config-dev.yml (ontwikkeling); de referentie-app bevat config-dev.yml, config-test.yml en config-docker.yml met precies deze structuur.

Sleutel Doel Voorbeeldwaarde
api_base_url Publieke basis-URL van deze API (gebruikt voor links in responses) http://localhost:8000
cdp_url Endpoint van headless Chrome (CDP) voor webagents (WebAgentBase) http://localhost:9222
auth.enabled Mount de auth-middleware en de /auth-routes als true false
auth.url Basis-URL van Keycloak https://auth.example.com
auth.realm Naam van de Keycloak-realm agent-lab
auth.client_id OIDC-client-id agent-lab-api
auth.client_secret OIDC-client-secret …
broker.url Redis-URL voor pub/sub-statusupdates bij langdurige bewerkingen redis://localhost:6379/0
db.url PostgreSQL — relationele data postgresql://postgres:postgres@localhost:5432/agent_lab
db.vectors PostgreSQL — database voor pgvector-embeddings postgresql://postgres:postgres@localhost:5432/agent_lab_vectors
db.checkpoints PostgreSQL — database voor LangGraph-checkpoints (geheugen van de agent) postgresql://postgres:postgres@localhost:5432/agent_lab_checkpoints
vault.url Vault-adres (ook teruggeschreven zodat services secrets kunnen lezen) http://localhost:8200
vault.token Vault-token dev-only-token
static.enabled Een SPA-build serveren (false als er geen frontend-build is) false
static.directory Directory met de SPA-build static/frontend/browser
static.index_file Fallbackbestand van de SPA index.html
static.mount_path Mountpunt van de SPA /

static is bijzonder: de YAML-bronnen configureren het expliciet, terwijl de Vault-bron het afleidt uit een codeconventie — ingeschakeld als er een SPA-build bestaat onder STATIC_DIR.

Secret-payload in Vault

VaultConfigSource leest één KV-v2-secret (standaard engine secret, pad app_secrets) en koppelt het aan de bovenstaande sleutels:

Secret-sleutel Wordt gekoppeld aan
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

Hoe je die payload provisiont (Docker Compose voor ontwikkeling, Kubernetes, Terraform) wordt behandeld in Secrets met Vault en de Deploymenthandleiding.

Omgevingsvariabelen

Keuze van de configuratiebron

Variabele Standaard Doel
DEVELOPING (niet ingesteld) Kiest config-dev.yml (debuggen in de IDE)
TESTING (niet ingesteld) Kiest config-test.yml (testsuite)
DOCKER (niet ingesteld) Kiest config-docker.yml (Compose)
VAULT_URL (niet ingesteld) Vault-adres voor de standaardbron
VAULT_TOKEN (niet ingesteld) Vault-token voor de standaardbron
VAULT_ENGINE_PATH secret Mountpunt van KV-v2
VAULT_SECRET_PATH app_secrets Pad van het secret
VAULT_K8S_ROLE (niet ingesteld) Rol voor Vault Kubernetes-authenticatie; schakelt de K8s-bron in en heeft voorrang
STATIC_DIR static/frontend/browser Waar de SPA-build wordt gezocht

Observability

Variabele Standaard Doel
OTEL_EXPORTER_OTLP_ENDPOINT (niet ingesteld — tracing uit) Basis-URL van de OTLP/HTTP-collector; traces → /v1/traces, metrics → /v1/metrics, logs → /v1/logs
SERVICE_NAME Agent-Lab Naam van de OTel-resource
SERVICE_VERSION snapshot Versie van de OTel-resource
LANGFUSE_HOST (niet ingesteld) Basis-URL van Langfuse; schakelt samen met de twee sleutels hieronder de Langfuse-backend in
LANGFUSE_PUBLIC_KEY (niet ingesteld) Langfuse-sleutel pk-lf-…
LANGFUSE_SECRET_KEY (niet ingesteld) Langfuse-sleutel sk-lf-…
LANGWATCH_ENDPOINT (niet ingesteld) LangWatch-endpoint; schakelt samen met de sleutel hieronder de LangWatch-backend in
LANGWATCH_API_KEY (niet ingesteld) API-sleutel voor LangWatch

Als een van de Langfuse-variabelen ontbreekt, wordt de Langfuse-backend stilzwijgend uitgeschakeld en start de app gewoon op (hetzelfde geldt voor LangWatch). Details en het uitbreidingspunt: Observability.

Authenticatie en integraties

Variabele Standaard Doel
AZURE_CLIENT_ID / AZURE_CLIENT_SECRET / AZURE_TENANT_ID (niet ingesteld) Microsoft Entra ID-gegevens voor /auth/exchange
EMBEDDINGS_ENDPOINT (niet ingesteld) Embeddingsservice die door retrieval-agents wordt gebruikt
OPENAI_API_KEY (niet ingesteld) OpenAI (audio-invoer voor voice memos; standaard voor de simulatie-judge)

Simulaties (alleen testsuite)

Variabele Standaard Doel
SIMULATION_LLM_MODEL (verplicht) Modeltag waarop de geteste agents draaien (bijv. qwen3:30b)
SIMULATION_LLM_API_BASE (verplicht) OpenAI-compatibel endpoint dat dat model aanbiedt
SIMULATION_LLM_API_KEY dummy-key API-sleutel voor het endpoint, indien vereist
SIMULATION_JUDGE_MODEL openai/gpt-5-nano litellm-model-id dat de LLM-as-judge gebruikt
SIMULATION_JUDGE_API_BASE standaard van provider Eigen OpenAI-compatibel endpoint voor de judge
SIMULATION_JUDGE_API_KEY standaard van provider API-sleutel voor het eigen judge-endpoint

Zie Testen & simulaties voor hoe deze worden gebruikt.

Eigen configuratiebronnen

Implementeer de ABC ConfigSource en geef die door aan create_app(config_source=...) — handig voor AWS Secrets Manager, deployments met alleen omgevingsvariabelen of om een andere bron te wrappen:

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())

De meegeleverde bronnen (YamlConfigSource, VaultConfigSource, KubernetesVaultConfigSource) en default_config_source() worden allemaal geëxporteerd vanuit het top-level package agent_lab.