ai_learning/modules/15_ml_engineering/assignments/02_model_api.md

2.2 KiB
Raw Blame History

API модели

Цель

Создать FastAPI-сервис с валидацией, healthcheck и batch prediction.

Теория перед выполнением

Что сделать

  1. Описать версионированные схемы одиночного и batch-запроса и ответа.
  2. Загрузить проверенный модельный bundle один раз при старте приложения.
  3. Реализовать prediction endpoint, liveness и readiness.
  4. Ограничить диапазоны, размер batch и недопустимые дополнительные поля.
  5. Добавить contract-тесты для корректных, граничных и ошибочных запросов.
  6. Привести команды запуска и примеры запросов в отчёте.

Результат

API, тесты контрактов и примеры запросов.

Решение разместите рядом в solution/. Не коммитьте большие данные, веса или секреты.

Критерии приёмки

  • Неверные данные дают 4xx; модель грузится один раз; ответы имеют версию.
  • Код читаем, разбит на функции и запускается по инструкции.
  • Выводы подтверждаются измерениями и не выходят за пределы эксперимента.

Вопросы для самопроверки

  • Чем liveness отличается от readiness?
  • Что произойдёт при неизвестном поле, NaN и слишком большом batch?
  • Как ответ позволяет установить версию модели?
  • Почему async не ускоряет CPU-bound инференс автоматически?