Skip to content
2.12.0

Развёртывание сервисов ​

Сводка для DevOps: какие контейнеры нужны сервисам экосистемы, какие ресурсы и тома им закладывать и как они связаны с инфраструктурой. Ориентир для Kubernetes и Docker Compose.

Схема ​

ModelsGate это внешний шлюз моделей с GPU. Сервисы ходят в него по HTTP и сами GPU не требуют.

Ресурсы ​

Значения из рабочей конфигурации, лимиты и запросы на контейнер.

СервисCPU лимитПамять лимитЗапросыТом
KnowledgeBase0.51 Gi0.2 CPU, 256 Mi/app/data, 10 Gi: состояние синхронизации и временные файлы
Paleograph26 Gi0.5 CPU, 1 Gidata/, 10 Gi: очередь и результаты
Hippocampus12 Gi0.3 CPU, 512 Mi/app/data, 5 Gi: очередь индексации. Токенизатор BGE-M3 в /app/models/bge-m3
Transcript0.3256 Mi0.1 CPU, 128 MiНе нужен
Searcher0.3256 Mi0.1 CPU, 128 MiНе нужен

Paleograph разбирает большие PDF в памяти. Если контейнер убивается по памяти, поднимайте лимит.

Сколько нужно серверу целиком, вместе с EVA и моделями: Требования к ресурсам.

Инфраструктура ​

КомпонентДля чегоРесурсыТом
MilvusВекторы Hippocampus1 CPU, 8 Gi20 Gi
etcdМетаданные Milvus0.2 CPU, 1 Gi5 Gi
S3-совместимое хранилищеСегменты Milvus1 CPU, 2 Gi50 Gi
SearXNGМетапоиск для Searcher0.2 CPU, 1 GiКонфиг

Связи и адреса ​

KnowledgeBase получает адреса соседей переменными:

text
KNOWLEDGE_SERVICES__PALEOGRAPH__REST_URL=http://paleograph:8802
KNOWLEDGE_SERVICES__HIPPOCAMPUS__REST_URL=http://hippocampus:8810

Hippocampus получает 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

Проверка после развёртывания ​

  1. GET /api/v1/health у KnowledgeBase, Paleograph, Hippocampus и Transcript отвечает успехом.
  2. В веб-интерфейсе Paleograph загрузите файл и получите Markdown.
  3. На странице статуса KnowledgeBase после первого тика растёт число проиндексированных документов.
  4. В EVA источники проходят проверку в Админ → MCP, а вопрос по базе знаний в чате находит документ.

Документация экосистемы EVA 2.1