Sari la conținutul principal

API public

Libre WebUI expune un API compatibil OpenAI, astfel încât SDK-urile, editoarele și scripturile existente să indice instanța schimbând doar URL-ul de bază.

Autentificare

Creați un token API cu domeniu limitat în Settings → Account → API tokens (prefix lwk_, stocat ca hash). Suprafața /v1 cere domeniul chat. Trimiteți tokenul ca bearer:

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

Se aplică limita per token (600 cereri/minut) și limita comună de chat.

Endpoint-uri

EndpointScop
GET /v1/modelsModele disponibile, locale și prin plugin
POST /v1/chat/completionsCompletare stateless, cu sau fără streaming

POST /v1/chat/completions acceptă model, messages (system/user/assistant; părțile multimodale se aplatizează), stream, temperature, top_p, max_tokens/max_completion_tokens, seed, stop. Streaming-ul folosește cadre SSE chat.completion.chunk încheiate cu data: [DONE]; răspunsul obișnuit include usage când furnizorul îl raportează.

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."}]
}'

Limite deliberate

/v1 oferă inferență fără stare: nu creează chat-uri, nu atinge baza de cunoștințe și nu rulează unelte. Conversațiile cu stare, evenimente persistente redate ulterior, anulare legată de identitate, cozi idempotente și bucla nativă sunt în /api/chat, apelabil cu același domeniu chat. Rolurile în afară de system/user/assistant (de exemplu tool) sunt refuzate, nu acceptate în tăcere.

Documentație asociată