ДС-Софт
Backend-разработчикРазрабатывал сервисы корпоративного архива для обработки и поиска документов, а также инфраструктуру обучения CV-моделей. Архив проходил пилотирование.
Сервис обучения CV-моделей с восстановлением по чекпоинтам
Разработал сервис обучения моделей для MLOps-платформы: интегрировал обучение моделей детекции и сегментации, сохранение состояния и чекпоинтов в S3, возобновление после сбоев, идемпотентность, повторные попытки и сохранение метрик. Подготовил CPU- и GPU-версии Docker-образа с отдельными зависимостями через DI-контейнер и lazy-импорт. Сервис поддерживал обучение на CPU и GPU, восстановление при сбоях и кеширование моделей; измеренная утилизация GPU составила 85%.
Интеграция RAG-агента и надёжная обработка запросов
Интегрировал RAG-агента на LangGraph в корпоративный архив: реализовал поиск фрагментов документов в Weaviate, надёжную доставку сообщений и повторные попытки с backoff, сообщения об ошибках для фронтенда и сохранение промежуточных результатов. При нагрузочном тестировании сервис поддерживал одновременную работу с агентом ~100 пользователей без ощутимых задержек.
Управление межсервисными процессами через RabbitMQ
Переработал межсервисное взаимодействие через RabbitMQ и разработал отдельный сервис управления процессами на основе конечных автоматов, с хранением стадий в БД и единым механизмом идемпотентности.
Асинхронная синхронизация архива с Яндекс.Диском и SMB
Реализовал синхронизацию архива с Яндекс.Диском и SMB: обнаружение новых и изменённых файлов, асинхронная загрузка с ограничением параллелизма через семафор для предотвращения OOM и возобновление после сбоев. Архив из ~2500 файлов общим объёмом ~5 ГБ загружался за несколько минут.
Ускорение поиска по графу тегов с помощью кеширования
Оптимизировал сервис графа тегов: применил кеширование узлов и обхода в ширину с эвристиками. Время запроса к графу из ~56 000 тегов сократилось с ~5 с до ~20 мс.