Ga naar inhoud

Configuratie

Alle instellingen worden beheerd via het .env bestand. Kopieer .env.example naar .env en pas de waarden aan.

Verplichte instellingen

Variabele Beschrijving
MODEL Model in LiteLLM-formaat: provider/model-naam — zie Providers & modellen
API key Afhankelijk van de provider: ANTHROPIC_API_KEY, OPENAI_API_KEY, etc.

Minimale configuratie voor Anthropic:

MODEL=anthropic/claude-sonnet-4-6
ANTHROPIC_API_KEY=sk-ant-...

Optionele instellingen

Variabele Standaard Beschrijving
MAX_TOKENS 40960 Maximum tokens per LLM-aanroep
MAX_TOOL_ITERATIONS 100 Maximum tool-aanroepen per vraag
CBS_ROW_LIMIT 200 Maximum rijen uit CBS-datasets
RIO_PAGE_SIZE 50 Maximum records per RIO-aanroep

Chatgeschiedenis & authenticatie

Variabele Standaard Beschrijving
CHAINLIT_AUTH_SECRET (niet ingesteld) JWT-secret voor sessiebeheer. Genereer met chainlit create-secret. Zonder dit geen login en geen history.
CHAT_USERS (niet ingesteld) Wachtwoord-authenticatie: user:pass,user2:pass2. Vereist dat CHAINLIT_AUTH_SECRET is ingesteld.
CHAT_HEADER_SECRET (niet ingesteld) Header-authenticatie voor reverse proxy: stuur X-Chat-Secret: <waarde> mee. Optioneel ook X-Chat-User: <identifier>.
DATABASE_URL sqlite+aiosqlite:///./chat_history.db Database voor gespreksopslag. Standaard lokale SQLite. Voor productie: postgresql+asyncpg://user:pass@host/db.

Authenticatie is optioneel

Zonder CHAINLIT_AUTH_SECRET werkt de app volledig zonder login. Chatgeschiedenis vereist zowel het secret als minimaal één authenticatiemethode.


SURF Willma AI-Hub

Willma is de AI-Hub van SURF voor het Nederlandse onderwijs. Om via Willma te draaien:

MODEL=openai/<model-naam>
WILLMA_API_KEY=<jouw-willma-key>
WILLMA_BASE_URL=<endpoint-url>

Gebruik willma_poc.py om beschikbare modelnamen op te halen:

uv run python willma_poc.py

Hoe werkt dit in de code?

Wanneer WILLMA_API_KEY is ingesteld, worden api_base, api_key en een X-API-KEY header automatisch meegegeven aan elke LiteLLM-aanroep (zie agent.py). Voor alle andere providers regelt LiteLLM de authenticatie op basis van standaard omgevingsvariabelen.


Zie Providers & modellen voor een overzicht van alle ondersteunde providers met voorbeeldconfiguraties.