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

Развёртывание и инфраструктура

Note

Данный раздел описывает требования к инфраструктуре и конфигурацию сервисов. Конкретная среда развёртывания может отличаться.

Компоненты системы

Компонент Назначение Порт
Backend (FastAPI) API-сервер 8000
Frontend (React/Nginx) Веб-интерфейс 80
Redis Кэш, прогресс, дедупликация 6379
Qdrant Векторная БД (ОКПД2) 6333
Reverse Proxy TLS-терминация, маршрутизация 443

Требования к окружению

Минимальные ресурсы:

  • Backend: 2+ CPU, 4+ GB RAM (LLM-вызовы асинхронны, основная нагрузка на сеть)
  • Qdrant: 1+ GB RAM (зависит от объёма коллекции ОКПД2)
  • Redis: 512+ MB RAM

Внешние зависимости:

  • OpenAI API (обязательно) — доступ к gpt-4.1, gpt-4.1-mini, gpt-5.1
  • LangSmith (опционально) — трейсинг ML-вызовов

Переменные окружения

Backend

Переменная Обязательная По умолчанию Описание
OPENAI_TOKEN Да API-ключ OpenAI
OPENAI_MODEL Нет gpt-4.1 Основная LLM-модель
OPENAI_MODEL_SMALL Нет gpt-4.1-mini Облегчённая модель
OPENAI_MODEL_TZ_AGENT Нет gpt-5.1 Модель для чатового окна
OPENAI_MAX_CONCURRENCY Нет 12 Лимит параллельных LLM-запросов
REDIS_URL Нет memory:// URL подключения к Redis
REDIS_PASSWORD Нет Пароль Redis
QDRANT_URL Нет URL подключения к Qdrant
QDRANT_API_KEY Нет API-ключ Qdrant
AUTH_ENABLED Нет true Включить авторизацию
AUTH_PROXY_STATIC_TOKEN Да* Статический токен от прокси заказчика
AUTH_IP_WHITELIST Нет Список разрешённых IP (через запятую)
ALLOWED_ORIGINS Нет Разрешённые CORS-домены
CORS_ENABLED Нет true Включить CORS
LANGSMITH_TRACING Нет false Включить трейсинг LangSmith
LANGSMITH_API_KEY Нет API-ключ LangSmith
PROMETHEUS_MULTIPROC_DIR Нет Директория для мультипроцессных метрик

* Обязательная при AUTH_ENABLED=true.

Frontend

Переменная Описание
VITE_FRONTEND_BASEURL URL backend API
VITE_AUTH_URL URL сервиса авторизации (OAuth, если используется)
VITE_AUTH_REDIRECT URL редиректа после авторизации
VITE_AUTH_CLIENT_ID Client ID для OAuth

Стек мониторинга

Компонент Назначение Ретенция
VictoriaMetrics Хранение метрик (time-series) 90 дней
Victoria Logs Хранение логов 30 дней
VMAgent Сбор метрик (scrape Prometheus)
Vector Агрегация логов контейнеров
Grafana Визуализация и алертинг

CI/CD пайплайн

Этап Описание
Lint Проверка форматирования (black, isort, ruff)
Test Запуск тестов (pytest с coverage)
Build Сборка Docker-образов
Deploy Деплой на staging/production через GitLab CD

Docker-образы

Backend:

Python 3.12-slim → pip install requirements.txt → uvicorn (4 workers)

Frontend:

Node 20 → yarn install → vite build → nginx (статическая раздача)