Публічний API
Libre WebUI надає сумісний з OpenAI API, тож наявним SDK, редакторам і скриптам достатньо змінити базовий URL.
Автентифікація
Створіть токен API з областю в Налаштування → Обліковий запис → Токени API (префікс lwk_, зберігається хеш). /v1 вимагає область chat. Передайте токен за схемою Bearer:
export OPENAI_BASE_URL="https://your-instance/v1"
export OPENAI_API_KEY="lwk_..."
Ліміт — 600 запитів на хвилину для токена плюс спільний ліміт чату.
Endpoints
| Endpoint | Призначення |
|---|---|
GET /v1/models | Доступні локальні та провайдерські моделі |
POST /v1/chat/completions | Чат без стану, зі streaming або без |
POST /v1/chat/completions приймає model, messages (system/user/assistant), stream, temperature, top_p, max_tokens/max_completion_tokens, seed, stop. Потік — SSE chat.completion.chunk до data: [DONE]; звичайна відповідь містить usage, якщо його повідомив постачальник.
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."}]
}'
Навмисні межі
/v1 — інференс без стану: не створює чати, не змінює базу знань і не запускає інструменти. Розмови зі станом, довговічні події, скасування за ідентичністю, ідемпотентна черга та нативний цикл інструментів містяться в /api/chat, доступному тим самим токеном з chat. Ролі крім system/user/assistant, наприклад tool, відхиляються.