# PR #39086 完整报告

- 仓库：`vllm-project/vllm`
- 标题：[Bug] Fix mistral version dependency
- 合并时间：2026-04-07 01:31
- 原文链接：http://prhub.com.cn/vllm-project/vllm/pull/39086

---

# 执行摘要

本次 PR 统一了 `mistral_common` 依赖包在多个测试环境文件中的版本至 1.11.0，修复了因版本不一致导致的 API 服务器启动时 `ImportError` 问题。变更涉及三个依赖文件，属于低风险的基础设施维护，确保依赖一致性以支持 Mistral 相关功能（如工具调用）的正常运行。

# 功能与动机

**问题背景**：在启动 OpenAI API 服务器时，出现 `ImportError: cannot import name 'NamedToolChoice' from 'mistral_common.protocol.instruct.tool_calls'` 错误。根本原因是 `mistral_common` 依赖版本不一致：`requirements/common.txt` 已要求 `mistral_common[image] >= 1.11.0`，但测试依赖文件（如 `requirements/test.in`）仍使用旧版本（1.9.1 或 1.10.0），导致实际安装的版本可能不包含所需 API。

**解决目标**：通过将所有测试环境中的 `mistral_common` 版本统一提升至 1.11.0，消除版本不一致，确保导入成功。

# 实现拆解

变更仅涉及三个依赖文件的版本号更新，均为单行替换：

| 文件路径 | 变更前版本 | 变更后版本 | 说明 |
|----------|-------------|-------------|------|
| `requirements/nightly_torch_test.txt` | `>= 1.9.1` | `>= 1.11.0` | 更新 nightly 测试环境依赖 |
| `requirements/rocm-test.in` | `>= 1.10.0` | `>= 1.11.0` | 更新 ROCm 测试环境依赖 |
| `requirements/test.in` | `>= 1.9.1` | `>= 1.11.0` | 更新通用测试环境依赖 |

所有变更均与 `common.txt` 中的版本保持一致，确保依赖一致性。

# 评论区精华

Review 讨论非常简短：
- **gemini-code-assist[bot]**仅确认变更内容，无反馈。
- **robertgshaw2-redhat**直接批准。

关联 Issue 评论中有一段关键讨论：
> **bbrowning**: "We bumped mistral_common in one place, so it should be safe to bump in everywhere?"
> **juliendenize**: "Thx !"

这反映了团队对全局版本提升安全性的确认，但未深入讨论技术细节。

# 风险与影响

**风险分析**：
1. **版本兼容性**：从 1.9.1/1.10.0 升级到 1.11.0 可能引入 API 变更，但鉴于 `common.txt` 已使用 1.11.0，且 PR 旨在修复不一致问题，风险可控。
2. **测试稳定性**：修改测试依赖可能影响 CI，但仅版本号提升，且目标版本已在使用中，影响有限。
3. **缺少回归测试**：未添加测试验证修复后功能，但变更简单，风险低。

**影响分析**：
- **用户**：修复 API 服务器启动错误，确保 Mistral 工具调用等功能正常。
- **系统**：统一测试环境依赖，避免运行时导入失败。
- **团队**：简化依赖管理，减少调试开销。影响程度低，属于常规维护。

# 关联脉络

与近期 PR 的关联：
- **PR #38150 ([Mistral Grammar] Support Grammar Factory)**：该 PR 添加了 Mistral 语法工厂支持，涉及 `mistral_common` 的使用。本次版本更新可能确保该功能在测试环境中正常运行，避免因版本不一致导致工具调用异常。

整体来看，本次 PR 是 vLLM 项目依赖管理维护的一部分，反映了团队在支持 Mistral 模型和工具调用功能时对依赖一致性的重视。