Prhub

#39292 [CI Failure] pin nomic-embed-text-v1 revision

原始 PR 作者 noooop 合并时间 2026-04-08 19:43 文件变更 5 提交数 5 评论 0 代码增减 +50 / -8

执行摘要

修复因 nomic-embed-text-v1 更新导致的 CI 失败,通过 pin 特定 revision。

PR body 指出:'nomic-ai/nomic-embed-text-v1 was just updated to support transformers v5, but it caused CI failure.' 目的是修复 CI 失败,确保测试通过,引用 buildkite 日志链接。

该 PR 变更简单,主要是测试修复,无需精读。值得关注的是 ModelInfo 类的扩展和 Fixme 注释,提醒未来需要更新模型代码以支持 transformers v5,可作为临时修复案例参考。

讨论亮点

review 中没有争议性讨论。gemini-code-assist[bot] 确认更改一致实现所需功能;DarkLight1337 直接批准。这表明团队对修复方案达成共识,无未解决疑虑。

实现拆解

在 tests/models/utils.py 的 ModelInfo 类中添加可选 revision 字段。然后,在多个测试文件中(如 test_nomic_max_model_len.py、mteb_embed_utils.py、mteb_score_utils.py、test_nomic.py)更新 vllm_runner 和 hf_runner 调用,传递 revision 参数。特别为 nomic-embed-text-v1 模型设置 revision='720244025c1a7e15661a174c63cce63c8218e52b',并添加 Fixme 注释说明未来需要更新代码以支持最新 HF 版本。

文件 模块 状态 重要度
tests/models/language/pooling/test_nomic_max_model_len.py testing modified 4.0
tests/models/utils.py testing utilities modified 5.0
tests/models/language/pooling_mteb_test/test_nomic.py testing modified 3.0

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

关键符号

ModelInfo.__init__ test_default mteb_test_embed_models mteb_test_rerank_models

评论区精华

确认更改一致 other

gemini-code-assist[bot] 评论说:'This pull request updates the ModelInfo dataclass to include an optional revision field and propagates this revision information across various test utility functions and model configurations, specifically for the nomic-ai/nomic-embed-text-v1 model. I have no feedback to provide as the changes consistently implement the required revision tracking across the test suite.'

结论:更改被批准,无争议,团队对修复方案达成共识。 · 已解决

风险与影响

主要风险是 pin revision 为临时解决方案,可能导致测试落后于模型最新版本,长期可能产生兼容性问题。Fixme 注释提示需要未来更新,但缺乏具体时间表。此外,修改涉及多个测试文件,需确保所有调用点都正确传递 revision,否则可能遗漏导致测试失败。风险具体到文件如 tests/models/language/pooling/test_nomic_max_model_len.py 中的调用逻辑。

对用户无直接影响,因为变更仅限于测试代码。对系统影响是恢复 CI 稳定性,防止构建失败。对团队来说,减少了 CI 中断,但增加了维护负担,需要后续移除 revision pin。影响范围小,仅限于测试环境。

临时修复 测试覆盖依赖外部模型

关联 Issue

未识别关联 Issue

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

完整报告

执行摘要

本 PR 通过 pin nomic-embed-text-v1 模型的特定 revision,修复了因模型更新支持 transformers v5 导致的 CI 测试失败。变更仅限于测试代码,是临时解决方案,旨在恢复 CI 稳定性,对用户无直接影响。

功能与动机

动机源于 nomic-ai/nomic-embed-text-v1 模型更新支持 transformers v5 后引发 CI 失败。PR body 明确引用 buildkite 日志,指出:'nomic-ai/nomic-embed-text-v1 was just updated to support transformers v5, but it caused CI failure.' 目的是快速修复 CI 中断,确保测试通过。

实现拆解

实现围绕测试代码调整展开:

  • 核心数据结构变更:在 tests/models/utils.pyModelInfo 类中添加 revision 字段,使其可选,支持传递模型版本信息。

  • 测试调用更新:在多个测试文件中更新 vllm_runnerhf_runner 调用,传递 revision 参数。例如,在 tests/models/language/pooling/test_nomic_max_model_len.py 中:

    with vllm_runner(
        model_info.name,
        revision=model_info.revision, # 新增参数
        runner="pooling",
        max_model_len=None
    )
    

  • 特定模型修复:为 nomic-embed-text-v1 设置 revision="720244025c1a7e15661a174c63cce63c8218e52b",并添加 Fixme 注释提醒未来移除。

关键文件如下:
| 文件路径 | 修改内容 | 重要性 |
|----------|----------|--------|
| tests/models/utils.py | 添加 revision 字段到 ModelInfo | 高,数据结构基础 |
| tests/models/language/pooling/test_nomic_max_model_len.py | 更新多个测试调用传递 revision | 中,直接影响测试执行 |
| tests/models/language/pooling_mteb_test/test_nomic.py | 为 nomic 模型设置特定 revision | 低,特定模型修复 |

评论区精华

review 中无深度讨论,仅 gemini-code-assist[bot] 确认更改一致实现所需功能,DarkLight1337 批准。这表明团队对修复方案无争议,快速推进以解决 CI 问题。

gemini-code-assist[bot]: "I have no feedback to provide as the changes consistently implement the required revision tracking across the test suite."

风险与影响

  • 技术风险:pin revision 是临时修复,可能导致测试落后于模型最新版本,长期引发兼容性问题。Fixme 注释提示未来更新,但缺乏时间表,存在维护债务。修改涉及多个测试文件,需确保所有调用点正确传递 revision,否则遗漏可能导致测试失败。
  • 影响分析:对用户无影响,变更限于测试代码。对系统恢复 CI 稳定性,防止构建失败。对团队减少 CI 中断,但增加后续更新负担,影响程度小。

关联脉络

与历史 PR 关联显示 CI 和测试修复的常见模式:

  • PR 37025:添加推理解析器测试到 CI,共享关注测试稳定性和 CI 集成。
  • PR 39284:修复文档构建崩溃,类似解决外部依赖更新导致的构建问题。

这些 PR 共同反映 vLLM 项目在快速演进中,需频繁调整测试以适应外部模型更新,强调了 CI 维护的重要性。

参与讨论