Перейти к содержанию

Open WebUI на ragserver

Автоматически составлено агентом 06.08.2026 из rag-sync.md, rag-platform-docker.md, 00_INDEX.md. Требует ревью: проверить список моделей и knowledge collections (это меняется через UI).

Быстрая справка

Параметр Значение
URL внутренний http://192.168.1.200:3000
URL внешний https://rag.alatyr-service.ru (через nginx на ragserver)
Контейнер rag-openwebui (см. rag-platform-docker.md)
База метаданных Postgres (rag-postgres)
Векторное хранилище Qdrant (rag-qdrant)
Движок эмбеддингов Ollama на host (nomic-embed-text)
Data volume /opt/rag-platform/data/openwebui/ (bind mount)

Конфигурация через /admin UI

Все настройки Open WebUI редактируются через web-интерфейс. Административная панель доступна пользователю с ролью admin (первый зарегистрированный пользователь автоматически получает эту роль).

Вкладки настроек

  • Settings → Connections — Ollama, OpenAI-совместимые API
  • Settings → Models — какие модели показывать в интерфейсе, дефолты
  • Settings → Documents — RAG-настройки (chunk size, embedding engine, top_k)
  • Settings → Users — управление пользователями и ролями
  • Settings → Interface — тема, язык, welcome message

Подключённые модели (снимок 05.08.2026)

Автогенерируется по curl http://192.168.1.200:11434/api/tags — нужно ревью с сервера.

Известные из Ollama на host: - nomic-embed-text:latest — эмбеддинги для RAG (768-dim) - Другие LLM модели — см. ollama.md

Knowledge collections

Все knowledge из UI живут в ОДНОЙ коллекции Qdrantopen-webui_knowledge. Это архитектурный дефолт OpenWebUI, не наш выбор. Разделение knowledge между собой — только через метаданные точек в Qdrant.

Как посмотреть список knowledge

Через UI: Workspace → Knowledge

Через API:

curl -H "Authorization: Bearer $OPENWEBUI_API_TOKEN" \
  https://rag.alatyr-service.ru/api/v1/knowledge/

Актуальные knowledge (снимок 05.08.2026)

  • alatyr-infra-kb — синхронизировано из git-репозитория через sync-to-openwebui.sh

Обновляется через задачу 6 (cron sync) в TODO. Пока запускается вручную.

Настройки RAG

Актуальные значения в контейнере (снимок 07.08.2026, docker exec rag-openwebui env):

RAG_EMBEDDING_ENGINE=ollama
RAG_EMBEDDING_MODEL=nomic-embed-text:latest
RAG_CHUNK_SIZE=1000                # символов на чанк
RAG_CHUNK_OVERLAP=200              # перекрытие (шаг чанка = 800)
RAG_EMBEDDING_BATCH_SIZE=32        # ✅ поднято 07.08.2026 (задача 7, было 4, ускорение х2)
RAG_TOP_K=5                        # найти топ-5 при поиске
RAG_RERANKING_MODEL=               # без реранкинга
VECTOR_DB=qdrant
QDRANT_URI=http://qdrant:6333
AUXILIARY_EMBEDDING_MODEL=TaylorAI/bge-micro-v2       # вспомогательная, для быстрых операций
USE_EMBEDDING_MODEL_DOCKER=sentence-transformers/all-MiniLM-L6-v2   # fallback в кеше

Важно: эти переменные захардкожены в секции environment: сервиса openwebui в /opt/rag-platform/docker-compose.yml. Правим сам compose-файл, не .env (.env игнорируется для RAG_*). После правки — sudo docker compose up -d openwebui (compose увидит diff в environment и пересоздаст контейнер).

Альтернатива — через UI: Admin Panel → Настройки → Документы (тогда значение лежит в Postgres config, не в compose-файле — теряется при пересоздании volume Postgres).

Пользователи и права

  • Роли: admin, user, pending
  • Первый регистрант становится admin автоматически
  • Новые пользователи попадают в pending до одобрения администратором (если так настроено в WEBUI_AUTH_TRUSTED_EMAIL_HEADER)
  • Пароли хранятся в Postgres (rag-postgres), хешированы bcrypt

API-токены

  • Генерируются в Settings → Account → API Keys
  • Формат Bearer-токена: Bearer sk-...
  • OPENWEBUI_API_TOKEN используется для sync-скрипта (/opt/rag-sync/.env на ragserver)
  • ⚠ Токен НЕ в Vaultwarden (задача 3 в TODO — продублировать)

Экспорт/импорт настроек

Через UI: Settings → Documents → Export/Import

Через файловую систему: - Все настройки в Postgres (таблица config) → бэкап /opt/rag-platform/data/postgres/ - Загруженные файлы (.md, .pdf) → /opt/rag-platform/data/openwebui/uploads/

Внешний доступ

Через nginx на ragserver:

server {
    listen 443 ssl http2;
    server_name rag.alatyr-service.ru;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        client_max_body_size 100M;
    }
}

Полная конфигурация → nginx-ragserver-config.md.

Известные проблемы

  • Двойная индексация: upload + attach индексируют одно и то же дважды (задача 8)
  • API-токен не в Vaultwarden (задача 3)
  • Плавающий тег :main — риск ломающих обновлений (задача 23)
  • CVE не мониторится — надо подписаться на релизы репозитория

Связанные файлы