For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /nl/docs/web/ai.md (or send Accept: text/markdown).
AI-functionaliteit
Chat, taken, modelbeleid en bring-your-own-key.
Probeer nep-AI en kies vervolgens een echte provider
Voor uw eerste resultaat volgt u de taak /dashboard van de webtutorial: start de lokale stroom, zet een prompt in de wachtrij, voer deze uit en bekijk het resultaat. AI_PROVIDER=fake retourneert een herhaalbaar demonstratieantwoord zonder gegevens naar een extern model te sturen of een betaalde API-sleutel te gebruiken.
Voor echte generatie configureert u eerst de persistente accounts, kiest u een AI-provider en volgt u de AI-configuratie hieronder. Voeg een model en de bijbehorende prijs toe aan de databasecatalogus, kies de toegestane modellen voor elke alias en verleen de werkruimte de vereiste toegang. Een alias zoals snel is een vriendelijke keuze die aan de gebruiker wordt getoond; het is zelf niet de model-ID van een externe provider.
Een achtergrond AI task heeft ook de geconfigureerde banenservice nodig. Als er geen modelkeuzes worden weergegeven, controleer dan het catalogus- en aliasbeleid voordat u het opnieuw probeert. Als de toegang wordt geweigerd, controleer dan de rechten van de actieve werkruimte. Bewaar alle API-sleutels van de provider in de configuratie van de webserver, niet in het browser-, mobiele app- of desktopvenster.
Volg de taaklifecycle
De productietaak-API valideert de geauthenticeerde workspace en entitlement voordat een taak wordt gepersisteerd en de ai.generate Trigger.dev-workflow wordt gedispatched. De router past capability-eisen en geconfigureerd modelbeleid toe.
POST /api/ai/tasks
→ authenticated workspace + entitlement
→ durable task record
→ Trigger.dev ai.generate
→ model routing + generation
→ usage record + result
→ transactional completion deliveryConfigureer aliasen en budgetten
De gebruiker selecteert een ingeschakelde alias: cheap, fast of smart. De server beheerst de onderliggende model-ID's, providercredentials, workspacebeleid en budgethandhaving. Versleutelde bring-your-own-key-ondersteuning moet dezelfde server-only grens bewaren.
Houd workflowsemantiek expliciet
JobRunner belooft alleen enqueue, status en cancel. Trigger.dev-workflowsemantiek is expliciet, inclusief duurzaam executiegedrag. Leid geen retries of schedulinggaranties af uit het generieke contract.
Het productie-submissionpad gebruikt idempotentie en opgeslagen taakrecovery om ambigue dispatch af te handelen. Voltooiing van generatie staat los van aflevering van de voltooiingsmail.
Setup en configuratie
AI_PROVIDER=fake houdt de ontwikkeling deterministisch. Productieproviders configureren server-side (OpenAI, Anthropic of een OpenAI-compatibel endpoint) met sleutels die nooit in client-bundels terechtkomen. AI_MODEL_POLICY mapt de gebruikersgerichte aliassen — cheap, fast, smart — naar catalogusmodel-ids; een lege alias verwijdert de keuze uit de interface.
De modelcatalogus (ai-model-catalog) draagt capability- en onveranderlijke prijsmetadata zodat usage-records verklaarbaar blijven na prijswijzigingen.
POST /api/ai/tasks → durable task + Trigger.dev dispatch
GET /api/ai/tasks/{taskId} → status + result
/chat → streaming assistant surfaceImplementatieworkflow
Het chatoppervlak houdt threads per workspace-lid bij en streamt tokens via chat-stream-runtime. Langere generaties draaien als taken: geautoriseerd aan de API-grens, uitgevoerd door de ai.generate-workflow en herstelbaar via de idempotente submission-store.
De bring-your-own-key-modus slaat provider-sleutels op als AES-GCM-envelopes (CREDENTIAL_ENCRYPTION_KEY, byok-key-vault.ts); decryptie gebeurt alleen binnen het server-executiepad. Verbruik en geschatte kosten worden per request gelogd voor workspace-budgetten.
Verificatie en probleemoplossing
Verifieer dat een uitgeschakelde alias afwezig is uit de interface, dat entitlement- en budget-denials vóór de dispatch plaatsvinden, dat een opnieuw geprobeerde submission zijn taak hergebruikt en dat een opgeslagen BYOK-sleutel nooit naar de client terugkeert. Houd acceptatie met echte modellen op de gedocumenteerde provider-smoke-route.