Справка по админке и сервису
Все параметры настраиваются в админке и в `config/projects.json`. Значения по умолчанию — проект `default`. Ключи OpenRouter берутся из `.env`.
Проекты и параметры
- Slug, название, описание — идентификатор проекта и его подпись. Slug используется во всех запросах API и в payload (поле
project). - chunk_max_tokens / chunk_min_tokens — размер чанков. 300–800 токенов балансируют между контекстом и количеством документов; min ставьте 40–120, чтобы резать мусор.
- dense_model — семантические эмбеддинги (например, text-embedding-3-large, bge-m3). Нужны для понимания смысла.
- sparse_model — лексический поиск (SPLADE). Помогает по ключевым словам и редким терминам.
- rerank_model — улучшает порядок результатов (Cohere Rerank 3.5 — хороший базовый вариант).
- llm_model — модель для ответов. Для техподдержки на русском лучше gpt-4o или claude-3.5-sonnet.
- hybrid_mix — вес гибридного поиска: 1 — только dense, 0 — только sparse; 0.4–0.6 универсально.
- Флаги enable_llm / rag / hybrid / rerank — включают/отключают соответствующие компоненты для проекта.
Как работать
- Создание проекта: нажмите «Создать проект», заполните slug и название, затем настройте параметры и сохраните.
- Ингест: можно загрузить текст напрямую или запустить парсинг URL (парсится одна страница). Проект выбирается в верхнем списке.
- Статистика: блок «Статистика и выгрузка» показывает количество точек/чанков и разрез по проектам с автообновлением.
- Выгрузка: кнопка «Выгрузить базу (zip)» — NDJSON всех точек выбранного проекта (векторы и payload), подходит для переноса в другой RAG.
- Проверки: «Проверить LLM» отправляет ping в /api/chat, «Проверить эмбеддинги/поиск» — ping в /api/search. Ошибка missing_openrouter_key означает отсутствующий OPENROUTER_API_KEY в `.env`.
API и переменные окружения
OPENROUTER_API_KEY— ключ OpenRouter, обязателен для LLM/эмбеддингов/реранка. Добавьте в `.env`, перезапустите `docker-compose up -d --build`.PROJECT_CONFIG_PATH— путь к `config/projects.json`. Менять параметры можно через админку или прямым редактированием файла.- Основные эндпоинты:
/api/ingest,/api/ingest_url,/api/search,/api/chat,/api/admin/export,/api/admin/stats. Всегда передавайтеproject, если нужен не default.
Сети и SSL
- При поднятом wg0 запустите
scripts/fix_routes.sh, чтобы Docker-сети шли в таблицу main (иначе недоступен сервис извне). - Сертификаты монтируются из
/etc/letsencrypt/archive/8task.ru-0001в nginx; обновление черезscripts/renew_cert.sh.
Типовые настройки
- Быстрый старт: chunk 500/80, dense text-embedding-3-large, sparse SPLADE, rerank Cohere 3.5, hybrid_mix 0.5.
- Эконом режим: chunk 400/60, dense bge-small, sparse SPLADE, rerank выключить, hybrid_mix 0.4.
- Точность: chunk 700/120, dense bge-m3, sparse SPLADE, rerank включён, hybrid_mix 0.6.
Рекомендуемые модели для русскоязычной техподдержки
- Dense эмбеддинги:
baai/bge-m3(баланс),text-embedding-3-large(макс. качество, дороже),thenlper/gte-large(эконом). - Sparse:
prithivida/Splade_PP_en_v1(SPLADE), ColBERTv2 если нужен продвинутый лексический сигнал, либо BM25 в Qdrant для простоты. - Rerank:
cohere/rerank-3.5(базовый выбор),bge-reranker-v2-m3(лёгкий fallback), LLM-rerank черезqwen2.5-72b-instructпри сложных запросах. - LLM для ответов:
anthropic/claude-3.5-sonnet(лучшее рассуждение),openai/gpt-4o(сильный мультиязычный baseline),qwen2.5-72b-instruct(хороший русский, бюджетнее). - Рекомендуемая связка (качество/стоимость): dense
bge-m3, sparse SPLADE, rerankcohere/rerank-3.5, LLMclaude-3.5-sonnetилиgpt-4o.
Новый функционал (админка проектов)
- Разделение на список проектов (
/admin) и страницы проектов (/admin/<slug>). Проекты и документы сохраняются вconfig/projects.jsonиconfig/documents.json(монтируются в api/worker). - Проверки: «Проверить модели» (LLM/dense/sparse/rerank), «Проверить базу проекта», «Проверить LLM» — выводят статус по выбранному проекту.
- Загрузка данных: текст («Обработка текста»), одна страница («Загрузить одну страницу»), корневая страница сайта («Загрузить весь сайт (от корневого URL)»), загрузка файлов (txt/md/html/pdf/docx), все загрузки получают
doc_idи статус. - Документы проекта: список с статусами (queued/processing/completed/error), кнопка «Удалить неполные» и удаление конкретных документов (включая векторы в Qdrant).
- Экспорт: «Выгрузить базу (zip)» экспортирует Qdrant записи выбранного проекта (векторы + payload) для бэкапа/переноса.