Перейти к основному содержимому

Публичный 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, отклоняются.

Связанная документация