Перейти к содержимому
Экосистема AI Vibe

Новости

Озвучка без паузы: Qwen3-TTS в vLLM-Omni на SageMaker AI

Редакция 28 сентября 2026 г.

Текст уходит в SageMaker по WebSocket, а PCM-чанки озвучки возвращаются в Gradio до конца генерации.

Голосовой агент, который молчит, пока не соберёт целую реплику, быстро теряет доверие пользователя. В walkthrough AWS собрали выходной контур для SageMaker AI: текст уходит в Qwen3-TTS через vLLM-Omni, PCM 24 кГц возвращается чанками по тому же двустороннему соединению — воспроизведение можно включать до конца генерации.

Образ vLLM-Omni DLC v1.5 добавляет middleware маршрутизации и метку bidirectional streaming. Клиент подключается к Runtime на порту 8443, inference sidecar прокидывает HTTP/2 WebSocket на нативный маршрут v1/audio/speech/stream внутри контейнера.

Рядом с прошлым материалом про Voxtral-Mini-4B Realtime это закрывает пару «микрофон → текст → ответ → речь»: распознавание уже было, связку между STT и TTS держит приложение. Скрипт деплоя, транспорт и Gradio-клиент лежат в sagemaker-genai-hosting-examples, каталог 03-features/bidirectional-streaming-vLLM-Omni.

Как идёт стрим

Gradio-клиент открывает полно-дуплексный канал: сначала session.config с голосом, языком, response_format: pcm и stream_audio: true, затем input.text и input.done. Ответ — события жизненного цикла аудио и куски PCM; UI проигрывает каждый чанк по мере прихода, в статусе видны счётчик чанков и суммарные байты.

Деплой без сюрпризов по квоте

  • deploy_bidi_stream.py создаёт модель из DLC, конфигурацию и real-time endpoint; SM_VLLM_MODEL задаёт загружаемую модель
  • Instance pool: сначала ml.g6.xlarge, при нехватке ёмкости — ml.g6e.xlarge, ml.g5.xlarge или ml.g4dn.xlarge; квоту проверяют для каждого типа из списка
  • После деплоя — smoke-тест с validation-output.wav; локально sagemaker_bidi_tts_client.py и браузер на http://127.0.0.1:6006

Тот же vLLM-Omni DLC умеет не только TTS — omni-модели, ASR, картинки и видео; вторая часть серии как раз про image/video. Живой GPU после эксперимента лучше снести флагом --delete-endpoint.

Источник: Build real-time voice applications with vLLM-Omni on SageMaker AI – Part 1.