Может кому-то будет интересно, расскажу как устроена наша МЛ архитектура (особенно всяким теоретикам).



Самое простое, это когда бекенд просто запускает пайтоновский скрипт, проще некуда. То, как у нас было долгое время, это небольшая абстракция МЛ скрипта через элементарный сервер fastAPI. fastAPI это очень удобная штука, типо фласка, которая в три строки (реально) дает создать апи для своего алгоритма. У нас такой один эндпоинт принимал от бекенда данные и возвращал рекомендации. Потом его еще обернули в докер.



Сейчас мы сделали пизже, потратив время, наши разрабы сделали АПИ к базе данных, и теперь МЛ скрипт может общаться с ней напрямую, считывая и записывая данные в базу сам, какие хочет, и сколько нужно. Мы только оставили эндпоинт чтобы запускать это процесс. Более того, с тем же АПИ мы можем получать это данные в других местах, например в ноутбуках где мы ресерчим и тестируем, что раньше было невозможно. Короче удобство это повышает запредельно. А еще, это первый шаг к тому, чтобы вынести МЛ на отдельный сервер, точнее это уже даже можно сделать, ведь все взаимодействие с бекендом идет через внешний апи. Возможно это и есть тем, что называют микросервис, но я не уверен, просто делаем то, что нужно делать.