Стек:
Python, PostgreSQL, Git, Airflow, FastAPI, Psycopg, SQL, Pandas, Scikit-learn, Numpy, Matplotlib, Seaborn, Catboost, Pytorch, ClearML, MLFlow, Pytest, RabbitMQ
Проекты:
- Сервис оценки контрагентов
Стек: Python, XGBoost, Pytest, RabbitMQ, FastAPI, SQLAlchemy, Uvicorn, Streamlit, Docker
Цель: сервис для оценки контрагентов.
Описание: Приложение на FastAPI с пользоватлеьским интерфейсом в Streamlit. Запрос в модель и предсказания передаются через брокер сообщений. В основе XGBoost, обученный на датасете с Kaggle с финансовыми признаками компаний. В качестве основной метрики для бинарной классификации RocAuc.
Результат: реализовано приложение, с помощью которого можно предсказывать вероятность банкротства компаний по экономическим признакам.
https://github.com/SPI315/bankruptcy_predictor
- Чат-бот
Стек: Python, Transformers, Pytest, PyTelegramBotAPI, RabbitMQ, FastAPI, SQLAlchemy, Uvicorn, Streamlit, Docker
Цель: реализовать приложение для работы с LLM в качестве бота.
Описание: Реализовано приложение на FastAPI. Интерфейсы для приложение в Sreamlit и Telegram. Запросы для обработки направляются через RabbitMQ. БД реализована на PostgreSQL.
В приложении реализованы базовые функции - можно завести учетную запись, пополнить баланс, направить запрос для обработки моделью, посмотреть историю запросов и транзакций.
Результат: реализовано приложение с базовой логикой чат-бота.
https://github.com/SPI315/chatbot_service
- Сервис определения качества вина.
Стек: Python, Scikit-learn, Pandas, ClearML, DVC, Airflow, FastAPI, Streamlit, CI, Docker.
Цель: построить ML приложение с автоматизированным пайплайном обучения и автотестами при интеграции.
Описание: Провел выбор моделей для задачи классификации вина. Для трекинга моделей пользовался ClearML. Настроил трекинг данных с помощью DVC. Далее настроил ежедневный автозапуск процесса обучения модели в Airflow (хранение модели и основных метрик в s3 хранилище). В случае улучшения ключевой метрики, модель автоматически заменяется в хранилище. Так же реализовал FastAPI приложение с оберткой в Streamlit для сервиса предсказания. Реализовал автоматическое lint и unit тестирование при выполнении merge request в main ветку.
Результат: реализовал готовое ML приложение c автоматической оркестрацией обучения и интеграцией.
https://github.com/SPI315/vine_quality_service
- Рекомендательная система соцсети.
Стек: Python, FastAPI, Psycopg, PostgreSQL, Pandas, Seaborn, Catboost, BERT
Цель: рекомендация пользователям релевантных постов.
Описание: На основании данных о пользователях и их активности провел исследование и подготовку данных для обучения модели (проверка пропусков, one hot и mean target encoding для категориальных признаков, tf-idf для выделения ключевых слов в постах, токенизация текстов постов с помощью BERT и дальнейшее понижение признакового пространства PCA), подобрал модель и гиперпараметры, реализовал скрипт для предсказания и эндпойнт для вывода наиболее интересных постов.
Результат: реализовал готовый рекомендательный сервис.
- Веб-сервис для запроса данных из PostgreSQL
Стек: Python, FastAPI, Psycopg, PostgreSQL, Uvicorn
Цель: Реализовать эндпоинты FastAPI для получения из БД требуемой информации в веб-интерфейсе.
Описание: Написал эндпоинты с необходимыми функциями, запустил локальный сервер для тестирования.
Результат: реализовал простой веб-сервис для запросов данных в базе
В компании прошел путь от младшего разработчика до ведущего. Принял участие в разработке и тестировании нескольких проектов. Последние два года вел проект федерального уровня (разработка системы очистки для строящегося газохимического комплекса).
Задачи:
- разработка задания на программирование логики работы станций очистки воды (текстовое описание алгоритма работы, блок-схемы);
- оптимизация алгоритма работы действующей установки очистки воды;
- аналитика данных по качеству воды (базовые формулы Excel для статистических расчетов и построения графиков);
- защита принятых технических решений перед Заказчиком;
- разработка технических заданий, документации;
- выполнение расчетов оборудования;
- координация работы группы инженеров из 5 человек.
Достижения:
- разработал требуемые комплекты документов для реализации объектов в рамках сжатых договорных сроков;
- подготовил и защитил перед заказчиком расчетные и аналитические обоснования принятых решений, что позволило исключить потенциальные затраты на дополнительные системы;
- оптимизировал алгоритм работы систем промышленного оборудования, чем предотвратил преждевременный выход из строя и затраты на замену дорогостоящего оборудования.
- моделировал в 3D небольшие станции очистки воды,
- разрабатывал комплекты проектной документации.