[Bug]: Streaming output segmentation (Qwen3-ASR)

用户在 vLLM 中部署 Qwen3-ASR 模型,并开启流式推理(streaming output)。期望获得连续的 ASR 转录文本,但实际输出却被切割为多个 5 秒长度的分段片段,需要额外的后处理才能合并完整结果。

快速结论:该问题发生在使用 vLLM 流式部署 Qwen3-ASR 模型时,输出被切割为多个 5 秒长的文本片段,而非连贯的文本流。优先排查流式后处理策略是否缺少分段合并逻辑。

问题场景

用户在 vLLM 中部署 Qwen3-ASR 模型,并开启流式推理(streaming output)。期望获得连续的 ASR 转录文本,但实际输出却被切割为多个 5 秒长度的分段片段,需要额外的后处理才能合并完整结果。

报错原文

场景描述,非代码报错:
流式输出被分割成 5 秒一个的文本片段(streaming output segmentation),例如:
[0-5s]: "今天天气"
[5-10s]: "很好我们去"
[10-15s]: "公园散步"

原因分析

可能原因:ASR 模型在进行流式推理时,内部音频处理逻辑默认以固定时长(如 5 秒)为粒度切分音频并进行增量解码,导致输出文本也被自然切分为对应时间段的片段。这不是 vLLM 本身的流式接口问题,而是模型处理逻辑+后处理策略缺失所致。

环境排查

  • vLLM 版本(未在 Issue 中明确提供,需用户自行确认)
  • 推理后端及音频处理库(如 whisper、Paraformer 等 ASR 引擎的版本)
  • 是否存在自定义的流式输出后处理脚本或中间件
  • 音频分片策略的参数(如 chunk_duration、max_segment_length 等)

解决步骤

  1. 检查 ASR 模型的音频分片配置:确认是否设置了固定窗口(如 5 秒)进行连续推理。
  2. 在流式输出后处理环节添加合并逻辑:当相邻片段的时间戳连续且语义可衔接时,自动拼接文本。
  3. 如使用自定义流式管道,可在应用层实现缓存队列,延迟输出直到确认片段完整或语义段落结束。
  4. 可优先尝试调整 vLLM 的 --max-model-len--block-size 参数,观察是否影响分段粒度(此为推测性建议,Issue 未明确验证)。

验证方法

启动流式推理,检查输出是否为连贯的连续文本,不再出现固定时长切割的痕迹;同时确保合并后的文本时间戳对齐正确。

参考来源

vllm-project/vllm #47421

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 16214

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注