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
| Endpoint | Scop |
|---|---|
GET /v1/models | Modele disponibile, locale și prin plugin |
POST /v1/chat/completions | Completare 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ă
- Autentificare — conturi, sesiuni și tokenuri
- Unelte Chat — bucla nativă din API-ul de evenimente