Используемые инструменты и стек¶
В проекте используется современный 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.