AI News HubLIVE
站内改写1 分钟阅读

使用 Amazon SageMaker AI 和 vLLM 构建实时语音应用

本文介绍如何结合 Amazon SageMaker AI 的双向流推理功能和 vLLM 的实时 API,部署实时语音转文本服务。通过 Voxtral-Mini-4B 模型,实现音频流输入与转录文本实时输出,适用于语音助手、实时字幕、联络中心分析等场景。

来源AWS Machine Learning Blog作者: Christian Kamwangala

实时语音转文本技术是语音助手、实时字幕、联络中心分析以及无障碍工具等应用的核心。传统请求-响应推理模式需要等待完整音频上传后才能开始转录,增加了延迟,无法满足实时工作负载的需求。

从2025年11月开始,Amazon SageMaker AI 推出了双向流推理功能,允许客户端与模型容器之间通过单一持久连接进行连续的双向数据流传输。同时,vLLM 的 Realtime API 利用 WebSocket 实现了客户端与服务器之间的双向流式音频转录。本文将结合这两项技术,展示如何将 Mistral AI 的 Voxtral-Mini-4B-Realtime-2602 模型部署到 SageMaker AI 端点,构建一个完全托管的实时语音转文本服务。

要构建生产级语音 AI 应用,需要多个基础设施组件协同工作,且必须满足严格的延迟要求。SageMaker AI 和 vLLM 各自解决了这一栈中的不同环节:vLLM 提供高效的开源模型服务,通过其 Realtime API 支持原生 WebSocket 流式传输,并采用分段式 CUDA 图执行来降低 GPU 内核启动开销;SageMaker AI 则提供托管基础设施,自动处理 HTTP/2 与 WebSocket 之间的协议转换,无需用户自行构建协议翻译层。

整个解决方案分为三层:客户端通过 HTTP/2 连接到 SageMaker AI 运行时端点,发送 JSON 格式的 vLLM Realtime 协议消息;SageMaker AI 自动将 HTTP/2 事件流桥接到容器内的 WebSocket;容器内部运行轻量级 FastAPI 应用,接收来自 SageMaker AI 的 WebSocket 连接并转发至 vLLM 的 Realtime API。

Realtime API 的协议流程包括:客户端连接 WebSocket 端点,接收 session.created 事件,然后发送 input_audio_buffer.append 事件(包含 base64 编码的 PCM16 音频块),服务器返回 transcription.delta 和 transcription.done 事件。模型在接收足够音频上下文后即开始流式返回转录文本,无需等待音频完整上传。

部署步骤包括:构建自定义 Docker 容器(基于 SageMaker AI vLLM 深度学习容器,添加双向流标签和 WebSocket 桥接器),配置模型环境变量(如最大上下文长度和 CUDA 图模式),然后创建 SageMaker AI 端点。用户可通过 Python 客户端或 Gradio 演示应用实时流式传输音频并获得转录结果。