Offentligt API
Libre WebUI udstiller et OpenAI-kompatibelt API, så eksisterende SDK'er, editorer og scripts kan pege på din instans ved kun at ændre basis-URL'en.
Godkendelse
Opret en afgrænset API-token under Settings → Account → API tokens (tokenen
bruger præfikset lwk_ og gemmes som en hash). /v1-grænsefladen kræver
omfanget chat. Send tokenen som en almindelig bearer-nøgle:
export OPENAI_BASE_URL="https://your-instance/v1"
export OPENAI_API_KEY="lwk_..."
Anmodninger styres af hastighedsgrænsen pr. token (600 anmodninger pr. minut) og den fælles hastighedsgrænse for chat.
Slutpunkter
| Slutpunkt | Formål |
|---|---|
GET /v1/models | Tilgængelige modeller (lokale og via udbyderplugins) |
POST /v1/chat/completions | Tilstandsløs chat completion, med eller uden streaming |
POST /v1/chat/completions accepterer den velkendte body: model,
messages (system/user/assistant; multimodale tekstdele flades ud),
stream, temperature, top_p, max_tokens/max_completion_tokens,
seed og stop. Streamede svar er SSE-frames af typen
chat.completion.chunk, der afsluttes af data: [DONE]. Ikke-streamede svar
indeholder tokenantal i usage, når udbyderen rapporterer dem.
curl "$OPENAI_BASE_URL/chat/completions" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "llama3.2",
"messages": [{"role": "user", "content": "One sentence on herons."}]
}'
Bevidste grænser
/v1-grænsefladen er tilstandsløs inferens: den opretter aldrig chats,
rører aldrig din vidensbase og kører ingen værktøjer. Tilstandsbevarende samtaler
med vedvarende hændelser, der kan afspilles igen, identitetsbundet annullering,
idempotent køplacering og den indbyggede værktøjsløkke findes i det indbyggede
hændelses-API /api/chat. De samme tokens kan kalde det med omfanget chat.
Andre roller end system/user/assistant (for eksempel tool) afvises i
stedet for at blive accepteret lydløst.
Relateret dokumentation
- Godkendelse — konti, sessioner og API-tokens
- Chatværktøjer — den indbyggede værktøjsløkke i hændelses-API'et