Публичный 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 запросов в минуту, также действует общий лимит чата.
Конечные точки
| Точка | Назначение |
|---|---|
GET /v1/models | Доступные локальные и провайдерские модели |
POST /v1/chat/completions | Чат без состояния, со стримингом или без |
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, отклоняются.
Связанная документация
- Аутентификация — учётные записи, сессии, токены
- Инструменты чата — нативная петля событий