Hoppa till huvudinnehåll

Publikt API

Libre WebUI exponerar ett OpenAI-kompatibelt API så att befintliga SDK:er, redigerare och skript kan riktas mot din instans genom att endast ändra bas-URL.

Autentisering

Skapa en avgränsad API-token under Settings → Account → API tokens (tokenen har prefixet lwk_ och lagras hashad). Ytan /v1 kräver omfånget chat. Skicka token som en vanlig bearer-nyckel:

export OPENAI_BASE_URL="https://your-instance/v1"
export OPENAI_API_KEY="lwk_..."

Förfrågningar styrs av gränsen per token (600 förfrågningar per minut) och den gemensamma hastighetsgränsen för chatt.

Slutpunkter

SlutpunktSyfte
GET /v1/modelsTillgängliga modeller (lokala och via leverantörsplugin)
POST /v1/chat/completionsTillståndslös chattkomplettering, strömmad eller inte

POST /v1/chat/completions tar emot den välkända kroppen: model, messages (system/user/assistant; multimodala textdelar plattas ut), stream, temperature, top_p, max_tokens/max_completion_tokens, seed och stop. Strömmade svar är SSE-ramar av typen chat.completion.chunk som avslutas med data: [DONE]. Icke-strömmade svar innehåller antalet token i usage när leverantören rapporterar 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."}]
}'

Avsiktliga gränser

Ytan /v1 är tillståndslös inferens: den skapar aldrig chattar, rör aldrig din kunskapsbas och kör inga verktyg. Tillståndsbevarande konversationer med beständiga, återuppspelningsbara händelser, identitetsbunden avbrytning, idempotenta köläggningar och den inbyggda verktygsloopen finns i det inbyggda händelse-API:et /api/chat. Samma token kan anropa det med omfånget chat. Andra roller än system/user/assistant (till exempel tool) avvisas i stället för att accepteras i tysthet.

Relaterad dokumentation