[Cloud] deepseek-v4.1-flash silently discards all image input while advertising `vision` in capabilities

当你在 Ollama 中调用 deepseek-v4.1-flash:cloud 并传入图片时,模型会在 capabilities 中声明 vision ,但实际会静默丢弃所有图片输入,不报错,并回复“看不到图片”。核心报错为:[Cloud] deepseek-v4.1-flash silently

快速结论:当你在 Ollama 中调用 deepseek-v4.1-flash:cloud 并传入图片时,模型会在 capabilities 中声明 vision,但实际会静默丢弃所有图片输入,不报错,并回复“看不到图片”。核心报错为:[Cloud] deepseek-v4.1-flash silently discards all image input while advertising `vision` in capabilities。优先排查该模型的路由节点或服务端渲染逻辑,而非客户端或网络。

适用环境:Ollama 客户端版本 0.32.0 和 0.34.2(均复现);直连 https://ollama.com 并携带 bearer token;出口节点包括 Frankfurt (DataPacket)、Adelaide (hostuniversal)、Tallinn;测试图片格式涵盖 PNG、JPEG、data URL、raw base64;API 表面涵盖 /api/chat/api/generate/v1/chat/completions/v1/messages。未提及操作系统、Python、CUDA、显卡或本地依赖版本。

最快修复方案:暂无确认的一步修复方案。Issue 中报告者与维护者均未给出已验证的修复步骤;维护者仅表示“可能路由到了损坏的节点”,但报告者用同一 daemon、同一节点、同一秒内三个模型对比(仅 deepseek-v4.1-flash 失败)反驳了节点故障假设。

注意事项:该问题最终被标记为 closed,但评论摘要中未包含明确的修复提交、配置变更或服务端修复说明。若你遇到相同现象,可优先尝试切换模型(如 qwen3.5:397bkimi-k2.6)绕过,或向 Ollama 反馈以获得服务端确认。

问题场景

用户在 Ollama 中调用 deepseek-v4.1-flash:cloud 模型并附带图片输入,期望模型能读取图片内容。调用方式包括 ollama run deepseek-v4.1-flash:cloud "describe this image ./image1.jpg",以及直接向 https://ollama.com 发送 API 请求(/api/chat/api/generate/v1/chat/completions/v1/messages)。模型在 capabilities 中报告支持 vision,但实际不读取图片,也不返回任何错误,而是回复“没有看到图片”。

报错原文

[Cloud] deepseek-v4.1-flash silently discards all image input while advertising `vision` in capabilities

模型自身回复(芬兰语):En näe tässä kuvaa(“我看不到这张图片”)。推理 trace 中包含 no image provided

原因分析

可能原因:问题出在服务端模型渲染或路由层,而非客户端、网络或图片格式。关键证据:prompt_eval_count 的增量不随图片尺寸缩放。无论发送 20×16 px 还是 2500×2000 px 图片,deepseek-v4.1-flashprompt_eval_count 增量均为 +2;而对照组 qwen3.5:397b 在同一测试中增量从 +74 增长到 +2522。这说明图片从未被 tokenize,而是被一个固定标记替代。同一 daemon、同一节点、同一秒内,qwen3.5:397bkimi-k2.6 均能正常读取同一张图片,仅 deepseek-v4.1-flash 失败,因此可排除节点整体故障。发送 raw base64(不带 data: 前缀)到 /v1 会返回 {"error":{"message":"invalid image input"}},说明请求解析器能解码并验证 payload,但在验证之后的下游流程中图片被丢弃。

环境排查

  • 确认 Ollama 客户端版本:报告者在 0.32.0 和 0.34.2 上均复现,且执行过 fresh ollama pull 并重新获取 manifest。
  • 确认 daemon 是否已重载:通过 ps 和实时 /api/version 确认运行版本为 0.34.2。
  • 确认网络路径:在 Frankfurt (DataPacket)、Adelaide (hostuniversal)、Tallinn 三个出口节点测试,结果一致。
  • 确认 API 表面:/api/chat/api/generate/v1/chat/completions/v1/messages 均复现。
  • 确认消息角色:userassistanttool 均复现。
  • 确认模型标签::cloud:latest、bare name 均复现。
  • 确认图片格式:PNG、JPEG、data URL、raw base64 均复现。
  • 确认图片文件完整性:同一图片字节可被其他 5 个模型正常读取。
  • 确认 context 状态:全新会话、空历史、41 kB 小图,结果一致。

解决步骤

  1. 如果当前必须使用图片理解功能,可优先尝试切换到已验证可读取图片的模型,如 qwen3.5:397bminimax-m3kimi-k2.6mistral-large-3:675bgemma4:31b
  2. 使用 prompt_eval_count 对比测试:发送同一 prompt 一次不带图片、一次带图片,观察增量是否随图片尺寸变化。如果增量固定为 +2 左右且不随尺寸缩放,说明图片未被 tokenize。
  3. 在同一 daemon、同一节点、同一时间窗口内,用另一个已知支持 vision 的模型(如 qwen3.5:397b)发送同一张图片,确认该节点本身能正常处理图片。
  4. 直接向 https://ollama.com 发送带 bearer token 的请求,绕过本地 daemon,确认问题是否依然存在。
  5. 向 Ollama 官方反馈该模型的服务端渲染问题,并附上 prompt_eval_count 对比数据和同节点多模型对比结果。

验证方法

使用同一张图片和同一 prompt,分别对 deepseek-v4.1-flash:cloudqwen3.5:397b 发起请求,对比 prompt_eval_count。如果 deepseek-v4.1-flash 的增量固定为约 +2 且不随图片尺寸变化,而对照组增量随图片尺寸显著增长,则可确认问题复现。如果模型回复中包含“看不到图片”或推理 trace 中出现 no image provided,同样可确认图片被静默丢弃。

参考来源

ollama/ollama #18527

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 24441

发表回复

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