Przejdź do głównej zawartości

Publiczne API

Libre WebUI udostępnia API zgodne z OpenAI, dzięki czemu istniejące SDK, edytory i skrypty mogą wskazywać instancję po zmianie tylko bazowego adresu URL.

Uwierzytelnianie

Utwórz token API o określonym zakresie w Ustawienia → Konto → Tokeny API (tokeny mają prefiks lwk_ i są przechowywane jako skróty). Powierzchnia /v1 wymaga zakresu chat. Przekaż token jako zwykły klucz bearer:

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

Żądania podlegają limitowi tokenu (600 żądań na minutę) i wspólnemu limitowi czatu.

Punkty końcowe

Punkt końcowyCel
GET /v1/modelsDostępne modele lokalne i z wtyczek dostawców
POST /v1/chat/completionsBezstanowe uzupełnianie czatu, strumieniowe lub nie

POST /v1/chat/completions przyjmuje znaną treść: model, messages (system/user/assistant; multimodalne części tekstowe są spłaszczane), stream, temperature, top_p, max_tokens/max_completion_tokens, seed i stop. Odpowiedzi strumieniowe to ramki SSE chat.completion.chunk zakończone data: [DONE]; pozostałe zawierają liczbę tokenów usage, jeśli dostawca ją zgłosi.

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

Zamierzone granice

Powierzchnia /v1 służy do bezstanowego wnioskowania: nigdy nie tworzy czatów, nie zmienia bazy wiedzy i nie uruchamia narzędzi. Rozmowy ze stanem, trwałe odtwarzalne zdarzenia, anulowanie według tożsamości, idempotentne kolejkowanie i natywna pętla narzędzi znajdują się w API zdarzeń /api/chat, które te same tokeny mogą wywoływać z zakresem chat. Role inne niż system/user/assistant, np. tool, są odrzucane, a nie cicho akceptowane.

Powiązana dokumentacja