<strong><em>Цена указана условно, обсуждается</em></strong><br><br>Универское дз<br><br>Серверная часть (описание)<br>В данной работе нужно написать веб-сервер для обучения и инференса ML моделей.<br><br>Серверная часть (требования)<br> Содержимое конфигов и форматы данных предлагается продумать и реализовать самостоятельно<br><br> Сервер должен корректно обрабатывать все граничные случаи (неправильный формат входных данных , запросы с несуществующими именами моделей, запросы с дублирующимися именами моделей)<br><br> Сервер должен быть реализован на FastAPI<br><br> Зависимости хранятся в requirements.txt<br><br>На сервер крутится одна модель. API должен предоставлять следующие методы:<br><br><ul><li>fit(X, y, config) – в конфиге должен быть идентификатор модели + гиперпараметры модели</li><li>load(config) – идентификатор модели для инференса (“выбираем” модель)</li><li>predict(X) – предикт загруженной моделью</li><li>list_models() – список обученных моделей (список идентификаторов моделей)</li><li>remove_all() – убрать все модели</li></ul>Клиентская часть (описание)<br><br>Клиентская часть должна демонстрировать работу с реализованным сервером с помощью библиотеки aiohttp (или httpx). <br><br>Клиент может быть реализован непосредственно в Jupyter Notebook, с описанием ожидаемого действия, или в отдельном(-ых) скрипте(-ах), с дублированием в Jupyter Notebook (тогда работоспособность в ноутбуке не требуется). <br><br>На клиенте должны быть реализованы следующие функции:<br><br><ul><li>Код вызова последовательного вызова обучения как минимум двух (N) различных моделей с таким набором данных и параметрами, чтобы обучение одной модели длилось не менее 60 секунд</li><li>Асинхронный вызов нескольких предсказаний</li><li>Код демонстрации остальных функций сервера <br>(загрузка, выгрузка, удаление)</li><li>Должны обрабатываться ошибки и исключения, возвращаемые сервером</li></ul>Убедительная просьба скрипт запуска клиентской части должен называться client.py и в случае jupyter ноутбука – client.ipynb!<br><br><br><br><br>