Вопрос с собеседования · AI и LLM

Как уложить голосового ассистента в задержку ответа около секунды?

SeniorLLM в продакшене
Ещё спрашивают так:
  • Почему голосовой бот отвечает с долгой паузой и как это исправить?
Коротко

Задержка складывается из звеньев: определение конца фразы + финальное распознавание + время до первого токена модели + синтез первой фразы + сеть. Уложиться можно только потоково: распознавание идёт во время речи, модель начинает генерировать сразу, синтез озвучивает первое предложение, пока генерируется второе. Плюс быстрая модель, короткий промпт с кэшированием, близкие к пользователю серверы.

  • Определение конца фразы — главный компромисс: рано — перебиваем, поздно — пауза
  • Speech-to-speech модели убирают часть звеньев, но сложнее в контроле
  • Заполнители («Секунду, проверяю заказ…») скрывают задержку инструментов

А ещё Измерять p50 и p95 задержки от конца фразы до начала ответа на реальных звонках

Подробно

Бюджет (пример):

звеновремя
конец фразы (VAD, пауза)200–500 мс
финальный результат ASR100–300 мс
первый токен LLM200–600 мс
первый звук TTS100–300 мс
сеть50–150 мс

Приёмы:

  • потоковое распознавание с промежуточными результатами;
  • семантическое определение конца фразы (модель оценивает, закончил ли человек мысль), а не только пауза;
  • быстрая модель для первого ответа, сложная работа — асинхронно;
  • кэширование префикса промпта, короткая история;
  • синтез по предложениям, первым — короткая реплика;
  • обработка перебивания: остановить синтез и генерацию, учесть сказанное.

Что хотят услышать

  • Разложение задержки по звеньям.
  • Потоковая обработка на каждом звене.
  • Определение конца фразы, перебивание и измерение.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✗Распознавать фразу целиком, затем генерировать весь ответ и только потом синтезировать речь
  • ✗Главное — самая мощная модель, остальные звенья почти не влияют
  • ✗Определять конец фразы как можно позже, чтобы не перебивать
  • ✓Потоково на всех звеньях: синтез первой фразы, пока пишется вторая

Связанные вопросы

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования