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 живут в ОДНОЙ коллекции Qdrant — open-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 не мониторится — надо подписаться на релизы репозитория
Связанные файлы¶
- rag-sync.md — как обновляется knowledge из git
- rag-platform-docker.md — docker-стек
- qdrant.md — векторное хранилище
- ollama.md — модели