Если инструмент data science существует только на вашем ноутбуке, его ценность ограничена вашим временем и вашей способностью объяснять его результаты. Развернутый инструмент позволяет деловым партнерам, клиентам и коллегам напрямую использовать его прогнозы и рекомендации, без необходимости, чтобы вы были посредником.
Эта многочастная серия проводит путь от исходного кода на ноутбуке до полного развертывания инструмента оптимизации с помощью CI/CD. Первая статья посвящена классической проблеме «у меня на компьютере работает, а у тебя нет». В ней рассматриваются клонирование кода из GitHub, виртуальные окружения Python, Docker и контейнеризация, а также представляется пример инструмента, который будет развертываться.
Примером служит Cutting Stock Planner, который решает задачу раскроя материала. Используя линейное программирование и простой пользовательский интерфейс на основе FastAPI, он формирует оптимальный план раскроя, минимизирующий количество заготовок, которые нужно купить. Например, если вы хотите сделать стул из 8-футового материала с несколькими нужными отрезками, вы вводите длину заготовки и список отрезков, нажимаете Create Cut Plan и получаете на экране оптимальную схему раскроя.
Самый простой способ поделиться инструментом — распространять его код через систему контроля версий на GitHub. Пользователи могут клонировать репозиторий, перейти в его корневой каталог и запустить команду uvicorn, чтобы локально открыть интерфейс. Это хорошо работает для совместной разработки, но как способ развертывания имеет существенные недостатки. Основная часть ответственности и сложности развертывания ложится на пользователя, которому нужно установить Git, клонировать репозиторий и правильно настроить окружение, прежде чем инструмент заработает.
Источник: Towards Data Science · Сводку подготовил HeadlinesBriefing