# Размещение модуля на основе шаблона

## Процесс подключения модуля

1. Существует программа, решающая прикладные задачи. Для простоты - проект на Python. Разработчик хочет развернуть эту программу на фреймворке, чтобы через веб-запросы можно было с ней взаимодействовать. Разработчик определяет, какие из элементов программы подходят для такого взаимодействия, и какой из вариантов организации лучше подходит для каждого элемента - ML-компонент или пайплайн. Например, программа распознавания объектов может содержать ML-компонент для работы с отдельными изображениями и пайплайн для работы с видео.
2. Разработчик реализует интерфейс взаимодействия с фреймворком, соответствующий выбранному компоненту.
   - Для ML-компонента необходимо реализовать функцию inference.
   - Для пайплайна необходимо организовать передачу входных и выходных данных через файлы и переменные окружения.
   - В обоих случаях создается образ Docker с основной программой и интерфейсом взаимодействия с фреймворком.
   - Работу интерфейса можно протестировать без подключения модуля к фреймворку, запуская модуль из образа Docker.
3. Разработчик готовит манифесты компонентов модуля и размещает их в репозитории.
4. Приложение разворачивается на платформе с помощью системных компонентов.
5. Разработчик загружает необходимые для работы данные в DataBox приложения, если нужно.
6. Приложение готово к использованию.

При создании приложения через личный кабинет с использованием шаблонов приложение сразу разворачивается на платформе с базовым набором компонентов. После этого шаблонные части необходимо заменить на актуальный код решения.

