Ожидание и реальность разошлись для пользователей Deepgram Browser Agent SDK: компания признала, что клиентское определение голосовой активности (VAD), подробно описанное в её документации, на самом деле никогда не существовало. Исправления внесены в официальную документацию и примеры кода, уточняя, что функция VAD Silero для клиента никогда не поставлялась.
Согласно исправлениям, в Browser Agent SDK никогда не было ни опции vad в MicrophoneOptions, ни связанных с ней speechThreshold и silenceThreshold. Также отсутствовали события speech-start и speech-end на AgentMicrophone, а поле vad в WidgetConfig и раздел конфигурации VAD виджета были ошибочно указаны. Это означает, что микрофон непрерывно передает аудиопоток, пока он не заглушен.
При этом Deepgram подтверждает, что функция barge-in (прерывание реплики агента речью пользователя) работает, но управляется полностью на стороне сервера. Voice Agent API генерирует событие user-started-speaking, которое разработчики могут использовать для прерывания воспроизведения агента (player.interrupt()). Для пользователей @deepgram/react это происходит автоматически.
Помимо VAD, Deepgram также исправила ошибку в примерах генерации токенов на стороне сервера. Ранее в запросе POST /v1/auth/grant ошибочно использовалось поле ttl вместо ttl_seconds. Запрос с ttl возвращал успешный ответ (200), но игнорировал запрошенное время жизни токена, устанавливая его по умолчанию на 30 секунд.
Таким образом, разработчикам, рассчитывавшим на клиентское VAD для оптимизации своих приложений, придётся либо реализовывать его самостоятельно, либо полностью полагаться на серверные механизмы Deepgram. Исправление ошибок в документации и примерах кода по токенам призвано обеспечить корректное управление сессиями, что критически важно для работы с API.