Наш МЛ-сервис представляет собой веб-приложение, которое предоставляет API для взаимодействия с моделью машинного обучения. Он позволяет пользователям отправлять запросы с данными для предсказания и получать результаты обратно.
Логика запуска:
При запуске приложение инициализирует FastAPI, который обеспечивает обработку HTTP-запросов. Приложение также подключается к модели машинного обучения и загружает ее в память для использования при предсказаниях.
Вариант архитектуры сервиса:
Архитектура нашего МЛ-сервиса будет включать следующие компоненты:
.
├── .docker
│ └── Dockerfile # Файл Dockerfile для создания образа контейнера
├── pyproject.toml # Файл с зависимостями и настройками проекта
├── .env # Файл с переменными окружения
├── docker-compose.yml # Файл для управления контейнерами Docker
└── src
├── app.py # Основной файл приложения, инициализация FastAPI
├── api # Пакет с API роутами
│ ├── __init__.py # Инициализация пакета
│ ├── routes # Пакет с маршрутами API
│ │ ├── __init__.py # Инициализация пакета маршрутов
│ │ ├── healthcheck.py # Роут для проверки состояния сервиса
│ │ ├── predict.py # Роут для предсказаний модели
│ │ └── router.py # Основной маршрутизатор
├── schemas # Пакет с моделями данных
│ ├── __init__.py # Инициализация пакета
│ ├── healthcheck.py # Модель для ответов состояния сервиса
│ └── requests.py # Модель для входных запросов к API
└── services # Пакет с бизнес-логикой
├── __init__.py # Инициализация пакета
├── model.py # Логика работы с моделью машинного обучения
└── utils.py # Вспомогательные утилиты