[Feature / Question]:: /v1/systemone rejects image inputs on standard multimodal VLMs with “this model does not take image inputs”

在 vLLM 的 /v1/systemone 端点上提交带 images 的多模态请求时,标准 VLM(如 Qwen 系列多模态权重或 NVFP4 量化变体)会立即返回 HTTP 400;该问题已由 PR #62181 修复,允许 NextTokenStrategy 在 /v1/systemone

快速结论:在 vLLM 的 /v1/systemone 端点上提交带 images 的多模态请求时,标准 VLM(如 Qwen 系列多模态权重或 NVFP4 量化变体)会立即返回 HTTP 400;该问题已由 PR #62181 修复,允许 NextTokenStrategy 在 /v1/systemone 上接收多模态图像输入,因此优先升级到包含该 PR 的 vLLM 版本。

适用环境:Issue 已确认:vLLM 提供的 vllm/vllm-openai:v0.32.0 与 vllm/vllm-openai:nightly Docker 镜像均出现相同行为;服务运行在 RunPod 的 Ubuntu 容器、NVIDIA GPU 上;模型为 Vishva007/Qwen3.5-9B-NVFP4(多模态 VLM 架构)。Issue 未提供 Python、CUDA、PyTorch 的具体版本。

最快修复方案:暂无针对旧版本的确认一步修复方案;请使用包含 PR #62181 的 vLLM 版本(该 PR 使 NextTokenStrategy 在 /v1/systemone 上支持多模态图像输入),再重试带 images 的请求。

注意事项:Issue 中未明确给出具体发布版本号,也未说明该修复是否覆盖其他架构或量化变体;升级前应核对目标版本是否确实包含 PR #62181。若升级后仍报错,需继续排查模型配置、--limit-mm-per-prompt 等多模态相关参数。

问题场景

用户通过 vllm serve 启动标准多模态 VLM(Vishva007/Qwen3.5-9B-NVFP4,启动时带 --limit-mm-per-prompt image=4),随后向 /v1/systemone 端点提交结构化决策请求。纯文本的 state 决策请求可以正常返回结构化分类结果;但只要 payload 里带上 images(base64 data URI),请求就会立即失败。同一模型在 /v1/chat/completions 中是具备多模态 processor 支持能力的。

报错原文

HTTP 400 Bad Request

{
  "error": {
    "message": "this model does not take image inputs",
    "type": "BadRequestError",
    "param": null,
    "code": 400
  }
}

原因分析

可能原因:/v1/systemone 走的是 pooling / 分类式前向路径,Issue 发生时所使用的 vLLM 版本中,该路径使用的 NextTokenStrategy 未支持多模态图像输入,因此在请求校验阶段就判定“该模型不接受图像输入”,返回 400。/v1/chat/completions 使用的是另一套生成式多模态处理链路,所以同一模型在那边可以正常处理图像,这种差异容易让人误以为是模型本身不支持视觉。

根据 Issue 关闭说明,该问题已由 PR #62181 解决,修复方向正是让 NextTokenStrategy 在 /v1/systemone 上接受 Qwen3.5 等模型的多模态图像输入。

环境排查

  • 确认 vLLM 版本或镜像标签:Issue 中 vllm/vllm-openai:v0.32.0 与 nightly 均可复现,需确认所用版本是否已包含 PR #62181。
  • 确认 /v1/chat/completions 下同一模型能否正常处理图像,以区分“模型多模态能力问题”与“/v1/systemone 路径支持问题”。
  • 确认启动参数中的 --limit-mm-per-prompt image=4 是否生效,以及模型是否被识别为多模态架构。
  • NVIDIA GPU、驱动与 CUDA 的具体版本 Issue 未提供,可先确认容器内 GPU 正常可用。

解决步骤

  1. 记录当前使用的 vLLM 版本或 Docker 镜像标签,确认其是否早于包含 PR #62181 的版本。
  2. 升级到包含 PR #62181 的 vLLM 版本(可优先尝试);升级前先核对目标版本的变更记录中是否包含该 PR。
  3. 按 Issue 中的方式重新启动服务:vllm serve Vishva007/Qwen3.5-9B-NVFP4 --host 0.0.0.0 --port 8000 --trust-remote-code --limit-mm-per-prompt image=4。
  4. 先发一个纯文本的 /v1/systemone 请求,确认文本决策路径仍然正常。
  5. 再发送带 images 的多模态 payload,观察是否仍返回 this model does not take image inputs。

验证方法

使用 Issue 中的 Python 请求脚本向 /v1/systemone 发送带 images 的 payload:若返回 HTTP 200 且得到结构化的 choice 结果(如 is_cat 的 yes/no),说明修复已生效;若仍返回 HTTP 400 和 this model does not take image inputs,说明所用版本未包含 PR #62181,或还需进一步排查模型配置与多模态参数。

参考来源

vllm-project/vllm #62804

Issue 关闭说明中提及的修复 PR:#62181

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 29751

发表回复

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