英文原标题:Stream low-latency speech from AI agents using Kokoro TTS on Amazon SageMaker AI

本文为英文原文的机器翻译摘要,原文见:AWS Machine Learning Blog ↗

  • 文章针对AI语音代理响应延迟问题,提出在Amazon SageMaker AI上托管Kokoro-82M TTS模型,将代理生成的每个句子立即流式传输进行合成,而非等待完整响应。
  • Kokoro-82M仅有8200万参数,可在单个中端GPU实例(ml.g5.xlarge)上低成本运行,容器暴露两个路由:POST /invocations用于单次完整输入流式响应,WS /invocations-bidirectional-stream用于双向多消息长连接。
  • 部署通过两个CLI工具完成:speech-infra deploy kokoro-82m部署端点,agent-infra deploy部署托管Strands代理的Amazon Bedrock AgentCore运行时,需先部署端点。
  • 实现中需注意SageMaker AI双向传输以二进制WebSocket帧发送消息,Starlette的receive_text()会因缺少text键而报错,应显式处理二进制帧;同时会话应在消息间保持打开,仅在收到显式关闭消息时关闭。
  • 客户端使用IncrementalSentenceChunker类将文本流按句子分割,feed()方法在文本片段到达时返回完整句子,flush()在输入结束时释放剩余部分,确保不丢失最后一句。

关键数据

  • Kokoro-82M模型参数量为8200万
  • 运行在ml.g5.xlarge GPU实例上
  • 单句响应生成约600毫秒,完整响应需5秒
  • 示例容器固定了旧版PyTorch,存在已知漏洞PYSEC-2026-2286,已在torch 2.10.0修复
  • 需要Python 3.12或更高版本

引语

  • “Kokoro-82M holds only 82 million parameters”

为什么值得看:它提供了一种可落地的方案,通过逐句流式合成显著降低语音代理的感知延迟,并详细说明了SageMaker AI双向流传输中的常见陷阱与应对方法。

站内导航