STT в production
Как мыслить speech-to-text как часть ИИ-платформы, а не отдельный сервис распознавания.
Проблема
STT часто считают preprocessing перед LLM. В production это отдельная инференс-нагрузка со своими очередями, задержкой, качеством и стоимостью.
Симптомы
- Summary звонка выглядит плохо, но причина в расшифровке, а не в LLM.
- Пакетная пропускная способность высокая, но интерактивная задержка не подходит продукту.
- Нет связи между метаданными аудио, качеством расшифровки и итоговым AI-результатом.
Ментальная модель
STT - полноценная модельная нагрузка. Для него нужны свои SLO, проверки качества, телеметрия, мощность и резервный маршрут.
Архитектура
Слой включает приём аудио, нормализацию, нарезку, воркеры моделей, языковые подсказки, диаризацию или метки спикеров, границу хранения расшифровок, проверки качества и связь трейса с последующим LLM-сценарием.
Метрики
Отслеживай длительность аудио, коэффициент реального времени, время в очереди, задержку сегмента, приближенную метрику WER, смесь языков, долю повторов, версию модели, загрузку GPU/CPU и стоимость принятой расшифровки.
Компромиссы
Пакетная пропускная способность и интерактивная задержка конфликтуют. Более точная модель может ломать профиль стоимости. Агрессивная нарезка ускоряет обработку, но может ухудшить пунктуацию, контекст и последующее summary.
Анти-паттерны
- Мерить только общее время обработки.
- Не связывать качество расшифровки со следующей задачей.
- Игнорировать смесь языков и шумное аудио.
- Считать STT "не частью ИИ-платформы".
Чеклист
- ✓Для STT есть отдельный бюджет задержки и пропускной способности.
- ✓Качество расшифровки связывается со следующим результатом.
- ✓Метаданные аудио попадают в трейс.
- ✓Версия модели и конфигурация запуска логируются.
- ✓Резервный путь известен для шумного или длинного аудио.
Пример
Если summary звонка деградирует, не меняй сразу LLM-промпт. Сначала проверь STT-маршрут, языковые подсказки, нарезку, диаризацию, коэффициент реального времени и качество расшифровки на ошибочных кейсах.
Self-hosted STT даёт не только контроль данных, но и возможность добавлять доменные сигналы: дополнительные классы, признаки качества, эмоции или специализированные подсказки. Такой эксперимент нужно оценивать не только по качеству, но и по latency regression, real-time factor и влиянию на следующий LLM-сценарий.
Шаблон решения
Для STT-маршрута зафиксируй: модель, железо, нарезку, языковую политику, SLO по задержке, приближенную метрику качества, резервный маршрут, поля трейса и владельца.