Prhub

#48873 [CI] Extend max-model-len for `test_parsable_context` to allow reasoning to finish

原始 PR 作者 micah-wil 合并时间 2026-07-17 11:36 文件变更 1 提交数 1 评论 0 代码增减 +1 / -1

执行摘要

延长测试模型长度上限,修复推理不完整

CI 中 test_parsable_context.py::test_basic[Qwen/Qwen3-8B] 频繁报错:response.status 为 'incomplete',原因是 max_model_len 设为 5000 时不足以容纳推理所需的全部 token,导致响应被截断。PR body 附有 CUDA 和 ROCm 上的 flaky 失败链接。

可作为临时修复合入,但建议尽快跟进分析推理 token 用量波动的原因,并考虑是否完全移除 max_model_len 限制以彻底解决 flaky 问题。

讨论亮点

审核人 AndreasKaratzas 同意作为快速稳定方案,但指出需在后续 PR 中调查 token 用量的非确定性波动。

实现拆解

修改测试 fixture 中 server 启动参数,将 max_model_len 从 5000 调整为 6000。

  • 文件: tests/entrypoints/openai/responses/test_parsable_context.py 第 41 行
  • 仅变更一个数字,+1/-1
  • 该值仍为任意选择的宽松值,作者提到可考虑完全移除该参数,由 vLLM 自动选择默认值
文件 模块 状态 重要度
tests/entrypoints/openai/responses/test_parsable_context.py 测试 modified 3.42

关键源码片段

tests/entrypoints/openai/responses/test_parsable_context.py test-coverage

唯一变更文件,将 max_model_len 从 5000 改为 6000 以稳定 flaky 测试

# tests/entrypoints/openai/responses/test_parsable_context.py (line 37-49)
@pytest.fixture(scope="module")
def server():
    args = [
        "--reasoning-parser",
        "qwen3",
        "--max_model_len",
        "6000", # 从 5000 增加到 6000,确保推理能完整输出(有时需约 5423 tokens)
        "--structured-outputs-config.backend",
        "xgrammar",
        "--enable-auto-tool-choice",
        "--tool-call-parser",
        "hermes",
        "--tool-server",
        "demo",
    ]

评论区精华

临时修复与后续调查 other

审核人 AndreasKaratzas 认为快速合入以稳定测试组是好的,但需要在后续 PR 中探究 token 用量的非确定性行为。

结论:同意当前 PR 作为临时修复,后续需调查波动根源。 · 已解决

风险与影响

风险极低:仅修改测试配置参数,不影响任何生产代码或测试逻辑。增大 max_model_len 可能增加单次测试内存占用,但 6000 对 Qwen3-8B 影响可忽略。

仅影响 CI 中 test_parsable_context.py::test_basic 测试的稳定性,使其在 ROCm 和 CUDA 上更可靠地通过。无其他影响。

临时修复

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论