微信扫码
添加专属顾问
我要投稿
Ollama v0.17.6带来关键修复与Qwen3.5全面支持,大幅优化模型渲染与工具调用体验。核心内容: 1. 重点修复GLM-OCR和Qwen3.5模型的关键问题 2. 移除过时功能并优化配置兼容性 3. 引入全新Qwen3.5渲染模块支持thinking模式
2026 年 3 月 5 日,Ollama 正式发布了 v0.17.6 版本。这是一次极具实用价值的改进版本,在保持系统稳定的基础上,重点修复了多个长期存在的细节性问题,包括 GLM-OCR 的 Prompt 渲染错误、Qwen 3.5 工具调用与解析逻辑, 并带来了对模型渲染、工具链、配置兼容性等方面的进一步完善。
本篇文章将全面解析 v0.17.6 的变更列表、核心代码结构调整、测试覆盖改进及潜在影响,帮助开发者清晰理解此次升级的深度与意义。
发布日期: 2026 年 3 月 5 日
版本号: v0.17.6
更新重点:
GLM-OCR 模型因 prompt 渲染错误导致无法工作的问题Qwen 3.5 模型工具调用的解析与渲染问题Ollama (local) 自动迁移为 Ollamaimagegen LLM 模型与 peak memory API 字段thinking 模式此次更新共包含 12 次提交、修改 51 个文件,由 7 名开发人员完成。从 diff 记录看,涉及到新增代码超过 3900 行,同时删除旧逻辑 4010 行,可见是一次覆盖范围较大的“重构 + 修复”整合版本。
PeakMemory 字段
api/types.go 文件中删除了 Metrics 结构体中的 PeakMemory 相关字段与输出逻辑。
其原始功能用于在模型推理时统计峰值内存占用,但由于 mlx(Memory Layout Executor)层的 API 已移除此项指标,因此不再返回该值。
旧结构:
type Metrics struct {
TotalDuration time.Duration `json:"total_duration,omitempty"`
PeakMemory uint64 `json:"peak_memory,omitempty"`
}
删除后:
type Metrics struct {
TotalDuration time.Duration `json:"total_duration,omitempty"`
}
同时删除了相关的格式化函数 formatPeakMemory、控制台输出内容,更新后的日志输出更加简洁,避免“空指标”误导用户。
这也意味着未来 Ollama 将更聚焦 性能时间维度指标,而非硬件状态统计。
imagegen 运行参数
cmd/cmd.go 文件中删除了 --imagegen 标志相关逻辑,不再通过 CLI 参数控制图像生成模型使用内部 Runner。
这体现了 v0.17.6 开始逐步统一模型调用接口,将生成型与多模态模型整合至统一 runner 体系中,从设计上简化用户调用路径。
在配置管理模块 cmd/config/opencode.go 中新增了名称迁移逻辑,解决了配置兼容问题。
许多开发者此前使用本地 provider 时,其配置如下:
{
"provider":{
"ollama":{
"name":"Ollama (local)",
"npm":"@ai-sdk/openai-compatible",
"options":{"baseURL":"http://localhost:11434/v1"}
}
}
}
新版本中,当检测到 Ollama (local) 名称时会自动迁移为 Ollama,保证现有配置无需手动修改即可被识别。
同时,新单元测试验证逻辑如下:
这确保了升级后配置文件兼容性 100%,不会破坏旧有项目结构。
v0.17.6 最为关键的更新在于模型解析器部分。
新增文件 model/parsers/qwen35.go(238 行新增)正式引入了 Qwen3.5 专属解析器 Qwen35Parser,取代原有的通用 Qwen3Parser。
thinking 推理标签 <think> ... </think><tool_call>,避免错把 reasoning 内部结构误识别为工具调用新增状态:
const (
qwen35ParserStateCollectingThinking
qwen35ParserStateThinkingDoneEatingWhitespace
qwen35ParserStateCollectingContent
)
解析逻辑以有限状态机(FSM)形式实现。当遇到 <think> 起始标签进入思考模式,遇到 </think> 切换到内容模式。
与此同时,对流式数据的分段处理更加精准,支持不完整的关闭标签(如 </thi + nk> 分两次到达),确保输出不会断裂。
<think> 未关闭,自动将后续内容视为思考过程输出;<think> 嵌套、空格、换行符自动剔除,输出纯净的 reasoning 文本。测试文件新增 382 行,覆盖以下场景:
<think> 标签的 reasoning 内容提取;<think> 标签被分片情况;这些测试使 Qwen 3.5 解析流程从多线程推理到断流恢复都具备强鲁棒性。
渲染器层:model/renderers/ 目录新增了两大核心组件:
文件 model/renderers/qwen35.go,新增 389 行。
该渲染器对应 Qwen3.5 模型 prompt 生成逻辑,旨在让模型完全遵循 XML 函数调用格式与 <think> 思考框架。
<tools> 指令区块嵌入,格式严格遵循模型需求;<tool_call> 块,带 <function=...> 与 <parameter=...>;<tool_response> 块组装;<|im_start|>assistant
<think>
I need to fetch the data first.
</think>
Here is my analysis.
<tool_call>
<function=get_data>
<parameter=id>
42
</parameter>
</function>
</tool_call>
<|im_end|>
useImgTags 图片标记嵌入([img-0], [img-1]),兼容多模态;emitEmptyThinkOnNoThink 参数,用于未启用思考模式时补充空 <think> 模块;assistant prefill 保留最后阶段输出,不关闭 <|im_start|> 块。测试文件 model/renderers/qwen35_test.go 共新增 389 行,涵盖:
该模块的引入使得 Ollama 在多模型推理框架下更贴合阿里 Qwen3.5 推理接口的真实结构。
文件 model/renderers/glmocr.go 修改 99 行。
这次修复针对核心问题:GLM-OCR 模型无法正确渲染带图像的 prompt。
GlmOcrRenderer 结构体属性 useImgTags;renderContent(),根据配置动态选择是否添加 [img-x] 标记;[img-0][img-1] 顺序标识多图输入;message.Content 与图片块拼接顺序。旧版输出(无法识别图片位):
<|user|>请识别图片内容。
新版输出(带多图标记):
<|user|>
[img-0][img-1]请识别图片内容。
同时新增 glmocr_test.go 文件(99 行),验证包括以下 5 种情况:
这意味着以后 GLM-OCR 模型将可以在多图输入下稳定进行 OCR 推理,输出定位将完整无误。
在 model/renderers/renderer.go 中更新了模型映射:
case "qwen3.5":
renderer := &Qwen35Renderer{isThinking: true, emitEmptyThinkOnNoThink: true, useImgTags: RenderImgTags}
case "glm-ocr":
return &GlmOcrRenderer{useImgTags: RenderImgTags}
即:
Qwen3VLRenderer 替换为新的 Qwen35Renderer;GLM-OCR 渲染器开启全局图片标签选项。这使两个模型在渲染阶段均获得一致的上下文构造与多模态支持。
在 server.go 中,删除了 CompletionResponse 返回体的 PeakMemory 字段,使 API 输出与 Metrics 同步调整。
这确保了传输数据更轻量化、字段结构一致。
此次更新新增测试覆盖超过 1000 行,主要针对以下方向:
针对复杂推理模型,如 Qwen3.5 这种包含 <think> 和 <tool_call> 的混合流式结构,此轮测试确保无论在并发推理还是断流恢复场景下都不丢失内容。
本次更新清理了历史遗留的 imagegen LLM 模型,以及云模型拉取过程中的存根要求,进一步简化了部署过程。Revert 提交中体现了多次回滚与重放操作,表明研发团队对云端模型加载机制进行深度优化与验证。
Ollama v0.17.6 是一次结构性的重要版本更新。它没有去追求新增功能,而是聚焦于 底层稳定性、模型兼容与推理一致性 的打磨,体现出平台从实验型向工业化过渡的信号。
<think> 思考标签链路。通过对 v0.17.6 的更新,可以预见 Ollama 在未来版本中将继续强化多模态与 reasoning 模式集成,为 LLM 本地部署与企业多模型协作提供更坚实的基础。
代码地址:github.com/ollama/ollama
Ollama v0.17.6 虽非大版本跳跃,但却在细节上体现了极高的工程重视度。
从配置迁移到渲染逻辑,再到工具调用与流式解析,几乎每个子模块都在朝着更统一、更可靠、更智能的方向演进。
我们相信人工智能为普通人提供了一种“增强工具”,并致力于分享全方位的AI知识。在这里,您可以找到最新的AI科普文章、工具评测、提升效率的秘籍以及行业洞察。
欢迎关注“福大大架构师每日一题”,发消息可获得面试资料,让AI助力您的未来发展。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-03-06
Codex重磅更新:在CLI中语音Vibe Coding
2026-03-05
AReaL v1.0 正式发布:面向 Agent 的全异步强化学习训练框架
2026-03-05
Qwen 和钉钉,无招和俊旸
2026-03-04
开启极简养虾,用 TRAE 快速部署 OpenClaw
2026-03-04
ollama v0.17.5正式发布:新增Qwen3.5系列模型,全方位优化GPU/CPU分配、采样惩罚与内存管理机制详解
2026-03-03
4 天 6.8K Star,这个 AI 漫剧项目火了:waoowaoo!
2026-03-02
FireRed-OCR 开源发布:端到端方案新SOTA!小红书提出低成本文档识别训练范式
2026-03-02
137K 行代码、零 clippy 警告:这个开源项目凭什么让 AI Agent 领域炸锅?
2026-01-27
2026-01-30
2026-01-12
2026-01-29
2025-12-22
2026-01-27
2026-01-28
2026-01-21
2025-12-10
2025-12-23
2026-03-02
2026-02-05
2026-01-28
2026-01-26
2026-01-21
2026-01-21
2026-01-20
2026-01-16