Развёртывание сервисов
Схема
ModelsGate это внешний шлюз моделей с GPU. Сервисы ходят в него по HTTP и сами GPU не требуют.
Ресурсы
Значения из рабочей конфигурации, лимиты и запросы на контейнер.
| Сервис | CPU лимит | Память лимит | Запросы | Том |
|---|---|---|---|---|
| KnowledgeBase | 0.5 | 1 Gi | 0.2 CPU, 256 Mi | /app/data, 10 Gi: состояние синхронизации и временные файлы |
| Paleograph | 2 | 6 Gi | 0.5 CPU, 1 Gi | data/, 10 Gi: очередь и результаты |
| Hippocampus | 1 | 2 Gi | 0.3 CPU, 512 Mi | /app/data, 5 Gi: очередь индексации. Токенизатор BGE-M3 в /app/models/bge-m3 |
| Transcript | 0.3 | 256 Mi | 0.1 CPU, 128 Mi | Не нужен |
| Searcher | 0.3 | 256 Mi | 0.1 CPU, 128 Mi | Не нужен |
Paleograph разбирает большие PDF в памяти. Если контейнер убивается по памяти, поднимайте лимит.
Сколько нужно серверу целиком, вместе с EVA и моделями: Требования к ресурсам.
Инфраструктура
| Компонент | Для чего | Ресурсы | Том |
|---|---|---|---|
| Milvus | Векторы Hippocampus | 1 CPU, 8 Gi | 20 Gi |
| etcd | Метаданные Milvus | 0.2 CPU, 1 Gi | 5 Gi |
| S3-совместимое хранилище | Сегменты Milvus | 1 CPU, 2 Gi | 50 Gi |
| SearXNG | Метапоиск для Searcher | 0.2 CPU, 1 Gi | Конфиг |
Связи и адреса
KnowledgeBase получает адреса соседей переменными:
KNOWLEDGE_SERVICES__PALEOGRAPH__REST_URL=http://paleograph:8802
KNOWLEDGE_SERVICES__HIPPOCAMPUS__REST_URL=http://hippocampus:8810Hippocampus получает HIPPOCAMPUS_MILVUS_HOST=milvus. Paleograph, Hippocampus и Transcript получают адрес и ключ ModelsGate.
Ссылки на файлы
Сервисы выдают ссылки на загрузку и скачивание. Адрес в них берётся из заголовка X-Public-Base-Url, который присылает EVA, или из PUBLIC_BASE_URL сервиса. Ссылки должны открываться из контейнера Runtime EVA: если сервисы в другой сети, задайте PUBLIC_BASE_URL с доступным адресом.
Масштабирование
| Сервис | Можно ли несколько реплик |
|---|---|
| Searcher | Да, если балансировщик закрепляет MCP-сессию за одной репликой |
| Transcript | Одна реплика: задания живут в памяти процесса, статус спрашивается у того же экземпляра |
| Paleograph, Hippocampus | Одна реплика на том. Пропускная способность регулируется MAX_PARALLEL_JOBS |
| KnowledgeBase | Одна реплика: синхронизация и её состояние в локальной SQLite |
Проверка после развёртывания
GET /api/v1/healthу KnowledgeBase, Paleograph, Hippocampus и Transcript отвечает успехом.- В веб-интерфейсе Paleograph загрузите файл и получите Markdown.
- На странице статуса KnowledgeBase после первого тика растёт число проиндексированных документов.
- В EVA источники проходят проверку в Админ → MCP, а вопрос по базе знаний в чате находит документ.