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 演示應用即時流式傳輸音訊並獲得轉錄結果。