Prhub

#39409 [UX] Improve error message for MM input too long

原始 PR 作者 DarkLight1337 合并时间 2026-04-09 21:20 文件变更 1 提交数 1 评论 0 代码增减 +3 / -3

执行摘要

改进多模态输入过长错误信息,避免长度与音视频时长混淆。

根据关联Issue #39408,用户在使用Qwen3-ASR-1.7B模型时遇到错误信息“The decoder prompt contains a(n) audio item with length 3476, which exceeds the pre-allocated encoder cache size 2048”,其中“length”可能被误解为音频时长而非嵌入令牌数,导致困惑。PR body明确说明目的是“Improve the wording of the error message to avoid confusion”,引用该Issue作为背景。

该PR变更简单,无需精读,但可作为错误信息设计的最佳实践参考:使用明确术语(如“embedding tokens”)避免歧义。对于关注多模态输入处理或错误处理设计的工程师,可快速浏览以了解如何优化用户反馈。

讨论亮点

Review中无实质性技术讨论。gemini-code-assist[bot]的评论仅确认了变更内容为“更新变量命名和错误信息以提升嵌入令牌计数的清晰度”,Isotr0py直接批准。未出现争议或深度设计权衡。

实现拆解

仅修改vllm/v1/engine/input_processor.py文件中的_validate_model_input函数:

  1. 将局部变量embed_length重命名为num_embeds;
  2. 将错误信息中的“with length {embed_length}”改为“with {num_embeds} embedding tokens”。变更聚焦于错误信息文本和变量命名,不涉及核心逻辑调整。
文件 模块 状态 重要度
vllm/v1/engine/input_processor.py engine modified 5.0

关键符号

_validate_model_input

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

错误信息清晰度改进 设计

无实质性讨论,仅 gemini-code-assist[bot] 确认变更内容。

结论:变更被接受并合并。 · 已解决

风险与影响

风险极低:

  1. 仅修改错误信息文本和局部变量名,不影响核心验证逻辑或性能;
  2. 无回归风险,因为验证条件(num_embeds > self.mm_encoder_cache_size)保持不变;
  3. 兼容性无影响,错误类型仍为ValueError;
  4. 安全风险无新增。

影响范围小但直接:

  1. 对用户:提升错误信息可读性,减少多模态输入超限时的困惑,改善用户体验;
  2. 对系统:无功能或性能影响;
  3. 对团队:变更简单,易于维护,可作为类似UX改进的参考。
无实质性风险

关联 Issue

#39408 [Usage]: qwen3-asr-1.7b pre-allocated encoder cache size limit

完整报告

参与讨论