Hoppa till innehållet

Devportalen /portal/dev

Startsideportalens ekosystem för människa och agent

Dokumentationen / API

AI-adaptern

APIGemensam

Kapslar in modellanropet så att turkontraktet garanteras av API:et och providern kan bytas utan kodändring.

källa: packages/ai/src/strukturerat.ts, apps/portal/src/ai/anthropic.ts, apps/portal/src/ai/chatt.tsuppdaterad: 2026-08-28

Ansvar

  • Anropa modellen med structured outputs byggda ur flödesdefinitionen.
  • Validera svaret mot samma zod-schema och göra ett omtag om formatet brister.
  • Hålla nyckeln på servern – server-only är importerad överst av det skälet.
  • Falla tillbaka på regelmotorn när nyckel eller provider saknas.

Filer

Tabell: Sökväg, Roll
SökvägRoll
app/../ai/anthropic.tskoraAnthropicTur och anthropicArKonfigurerad. Importerar server-only.
app/../ai/ratelimit.tsinomTakgrans: 40 anrop per användare per 5 minuter, i minnet.
app/../ai/chatt.tsstrommaChatt: fri chatt med verktygsloop, webbsök och MCP-connector via beta-API:t, effort low, avbrytbar via signal. Lägger till en rad vid refusal eller max_tokens.

API

Tabell: Namn, Signatur, Beskrivning
NamnSignaturBeskrivning
koraAnthropicTur({ flow, meddelanden, profil, faltHittills }) => Promise<TurnResult>En tur enligt kontraktet. Kastar om modellen inte svarar enligt formatet efter ett omtag.
anthropicArKonfigurerad() => booleanOm ANTHROPIC_API_KEY finns. Avgör om providern kan användas.
inomTakgrans(userId: string, nu?: number) => booleanTakgränsen. Nollställs per fönster.
strommaChatt({ system, meddelanden, signal, webbsok?, egna?, mcp?, utfor? }) => AsyncGenerator<Handelse>Svaret som händelser medan det skrivs: text, status och källor. Kör verktygsloopen (högst åtta varv, fortsätter efter pause_turn), ger webbsök, egna verktyg med strict och MCP-connectorn, och låter utfor validera och utföra egna verktyg.

Kontrakt

Tabell: Miljövariabel, Värden, Betydelse
MiljövariabelVärdenBetydelse
AI_PROVIDERmock | anthropicStandard mock. anthropic kräver dessutom att nyckeln finns.
AI_MODELLmodell-idStandard claude-sonnet-5.
ANTHROPIC_API_KEYhemlighetBara på servern, satt som Environment i Dokploy.

Beroenden och beslut

Kvarstår

  • Bara en provider. Eneo via WSO2 blir ett tredje värde när det är dags.
  • Ingen loggning av turer, och ingen kostnadsmätning.