Hop til hovedindhold

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

SlutpunktFormål
GET /v1/modelsTilgængelige modeller (lokale og via udbyderplugins)
POST /v1/chat/completionsTilstandslø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