Skip to content

Используемые инструменты и стек

В проекте используется современный ML/DS и MLOps стек, ориентированный на воспроизводимость, масштабируемость и промышленное применение.

Инструменты сгруппированы по зонам ответственности.


Управление кодом и качеством

Контроль версий и CI/CD

  • Git — контроль версий
  • GitLab — хостинг репозитория
  • GitLab CI/CD — автоматизация тестов, сборок и деплоя
  • GitLab Registry — хранение Docker-образов

Качество кода

  • ruff — линтер и форматирование Python-кода
  • pre-commit — автоматические проверки перед коммитом
  • pytest — модульное и интеграционное тестирование
  • Hypothesis — property-based testing

Управление зависимостями и окружением

  • pdm — управление Python-зависимостями и пакетами
  • mamba — управление conda-окружениями
  • Docker — контейнеризация приложений и сервисов

Оркестрация и пайплайны

Data / ML пайплайны

  • DVC — управление данными, версиями и ML-пайплайнами
  • Snakemake — декларативная оркестрация вычислительных графов
  • Airflow — оркестрация продакшн-пайплайнов и расписаний

Конфигурация

  • Hydra — управление конфигурациями экспериментов и сервисов

Эксперименты и модели

  • MLflow — трекинг экспериментов, метрик, артефактов и моделей
  • Feature Store (Feast) — управление и переиспользование фичей
  • Стандартные ML-библиотеки:
  • scikit-learn
  • XGBoost / LightGBM / CatBoost
  • PyTorch (при необходимости)

Качество данных и мониторинг моделей

Качество данных

  • Great Expectations — проверки качества данных и data contracts

Мониторинг моделей

  • Evidently — мониторинг data drift, prediction drift и качества моделей

Хранилища и инфраструктура данных

  • MinIO — объектное хранилище (S3-compatible)
  • PostgreSQL — основная реляционная БД
  • Redis — кэширование и быстрые key-value операции
  • RabbitMQ — брокер сообщений
  • Celery — асинхронная обработка задач

Backend и сервисы

  • FastAPI — REST API для inference и сервисов
  • SQLModel — ORM и модели данных
  • Alembic — миграции схемы БД

Визуализация и пользовательские интерфейсы

  • Streamlit — быстрые интерфейсы для демо, аналитики и MVP
  • Quarto — воспроизводимые отчёты, аналитика и документация исследований

Мониторинг и наблюдаемость

  • Prometheus — сбор метрик
  • Grafana — визуализация и алерты

Контейнеризация и оркестрация

  • Docker — упаковка сервисов
  • Kubernetes — оркестрация контейнеров
  • Helm — шаблоны и управление Kubernetes-деплоями

Назначение страницы

Данная страница описывает архитектурный стек проекта и служит:

  • точкой входа для новых участников,
  • справочником по используемым инструментам,
  • основой для архитектурных решений (ADR).

Подробные решения и обоснования выбора инструментов фиксируются в разделе ADR.