Экономичный, легко поддерживаемый API-сервис распознавания русской речи с крайне высоким качеством — на боевой очереди задач, полностью синхронизированной с общей инфраструктурой флота.
Сервис принимает аудиозапись по ссылке, распознаёт речь и отдаёт готовый текст — через очередь задач с повторными попытками и защитой от потери запроса, на боевой GPU-карте. В основе — модель GigaAM-v3 от Сбербанка, специализированная на русском языке, с точной настройкой под работу с записями разной длины: от короткой реплики до пятнадцатиминутного разговора.
Архитектура спроектирована так, чтобы сервис было легко поддерживать: единый прокси доступа к моделям, узкий и явно задокументированный публичный контракт API, полная синхронизация с общей очередью и инфраструктурой флота — без собственных, ничем не оправданных особых случаев.
В основе сервиса — конкретный, отобранный по результатам проверки чекпоинт GigaAM-v3, специализированный именно на русской речи. Вокруг этой модели построена вся остальная архитектура:
Модель обучена на коротких фразах — сервис делит длинную запись на фрагменты, а не подаёт её целиком.
Голосовая активность (Silero VAD) определяет границы речи — фрагменты режутся по паузам, а не произвольно.
Соседние куски записи слегка перекрываются — слово на границе фрагмента не теряется и не режется пополам.
Длина фрагмента, перекрытие, отступ по паузе — подобраны опытным путём и защищены от случайной правки.
RTF (Real-Time Factor) — отношение времени обработки к длительности самой записи. RTF 0.5 значит: запись длиной в минуту распознаётся за 30 секунд, вдвое быстрее реального времени. Ниже — измеренный результат по всему диапазону длин записи, от короткой реплики до пятнадцати минут разговора:
На любой длине записи — от 15 секунд до 15 минут — результат держится в 1.6—6.7 раза быстрее цели.
Модель GigaAM-v3 выбрана и интегрирована как основа сервиса — с самого начала с прицелом на промышленную эксплуатацию.
Деление аудио на фрагменты по голосовой активности — сервис уверенно держит записи любой длины.
Сборка, публикация образа и выкладка на GPU-карту — единым автоматическим конвейером.
Метрики Prometheus и авторизация по токену — сервис виден в общем мониторинге флота и закрыт от случайного доступа.
Переход на асинхронную очередь с несколькими токенами доступа и ограничением нагрузки.
Повторные попытки с нарастающей паузой, отдельная очередь для сложных случаев, ограничение 1000 запросов в минуту — задокументировано отчётом с реальными цифрами тестов на боевой карте.
Прод-деплой переведён на явный ручной запуск с проверкой — дополнительный барьер качества перед боевым обновлением.
Аудит доступа привёл к более строгому поведению по умолчанию: отсутствие настройки теперь закрывает доступ, а не открывает его.
Наружу — только необходимый минимум эндпоинтов, внутренние детали инфраструктуры скрыты из публичной схемы и ответов.
Новая версия видеокарт-библиотеки конфликтовала с драйвером боевой карты и роняла обработку. Устранено переводом на последовательную обработку и фиксацией рабочих версий библиотек.
Одна буква в названии окружения развела префиксы очереди задач и обработчика. Найдено и закрыто в тот же день.
Найдено при аудите: отсутствие конфигурации аутентификации по умолчанию давало доступ вместо того, чтобы его блокировать. Переведено на безопасное по умолчанию поведение.
Сервис не получил отдельную видеокарту — модель адаптирована так, чтобы работать на карте, уже обслуживающей сервис распознавания дефектов, без конфликта по памяти и без потери отзывчивости ни одного из двух сервисов.
Следующий шаг — новые методы коррекции распознавания: точечная работа над специальными строительными терминами, которые чаще других распознаются с ошибкой, и над типовыми дефектами речи в записи (шум, перебивания, нечёткая дикция). Отдельное направление — дальнейшее повышение стабильности сервиса под растущей нагрузкой.