网易首页 > 网易号 > 正文 申请入驻

ollama v0.17.6 发布:重大解析修复与 Qwen3.5 完整支持,全链路优化模型渲染与工具调用

0
分享至

2026 年 3 月 5 日,Ollama 正式发布了v0.17.6版本。这是一次极具实用价值的改进版本,在保持系统稳定的基础上,重点修复了多个长期存在的细节性问题,包括GLM-OCR 的 Prompt 渲染错误、Qwen 3.5 工具调用与解析逻辑, 并带来了对模型渲染、工具链、配置兼容性等方面的进一步完善。

本篇文章将全面解析 v0.17.6 的变更列表、核心代码结构调整、测试覆盖改进及潜在影响,帮助开发者清晰理解此次升级的深度与意义。

一、版本概览

发布日期:2026 年 3 月 5 日
版本号:v0.17.6
更新重点:

  1. 1. 修复GLM-OCR模型因 prompt 渲染错误导致无法工作的问题

  2. 2. 修复Qwen 3.5模型工具调用的解析与渲染问题

  3. 3. 优化模型配置文件命名兼容,例如Ollama (local)自动迁移为Ollama

  4. 4. 移除旧版本imagegenLLM 模型与peak memoryAPI 字段

  5. 5. 引入全新的 Qwen3.5 渲染及解析模块,全面支持thinking模式

此次更新共包含12 次提交、修改51 个文件,由 7 名开发人员完成。从 diff 记录看,涉及到新增代码超过 3900 行,同时删除旧逻辑 4010 行,可见是一次覆盖范围较大的“重构 + 修复”整合版本。

二、总体改动组成 1. API 层变化:移除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 将更聚焦性能时间维度指标,而非硬件状态统计。

2. 命令行层更新:移除imagegen运行参数

cmd/cmd.go文件中删除了--imagegen标志相关逻辑,不再通过 CLI 参数控制图像生成模型使用内部 Runner。

这体现了 v0.17.6 开始逐步统一模型调用接口,将生成型与多模态模型整合至统一 runner 体系中,从设计上简化用户调用路径。

3. 配置迁移优化:Ollama (local) → Ollama

在配置管理模块cmd/config/opencode.go中新增了名称迁移逻辑,解决了配置兼容问题。
许多开发者此前使用本地 provider 时,其配置如下:

{
"provider":{
"ollama":{
"name":"Ollama (local)",
"npm":"@ai-sdk/openai-compatible",
"options":{"baseURL":"http://localhost:11434/v1"}
}
}
}

新版本中,当检测到Ollama (local)名称时会自动迁移为Ollama,保证现有配置无需手动修改即可被识别。

同时,新单元测试验证逻辑如下:

  • • 自动迁移本地 provider 名称。

  • • 保留自定义 provider 名称(即不会覆盖非默认配置)。

  • • 删除模型时保留非 Ollama 模型的子项。

这确保了升级后配置文件兼容性 100%,不会破坏旧有项目结构。

三、模型解析层全面升级:Qwen 3.5 Parser

v0.17.6 最为关键的更新在于模型解析器部分。
新增文件model/parsers/qwen35.go(238 行新增)正式引入了Qwen3.5 专属解析器 Qwen35Parser,取代原有的通用Qwen3Parser。

(1) 核心特性

  • • 完整支持thinking推理标签 ...

  • • 增强对分块流式输出的识别能力(跨 token stream 渐进渲染)

  • • 可区分思考内容(thinking content)与输出内容(response content)

  • • 在思考区间不解析 ,避免错把 reasoning 内部结构误识别为工具调用

(2) 状态机设计

新增状态:

const (
qwen35ParserStateCollectingThinking
qwen35ParserStateThinkingDoneEatingWhitespace
qwen35ParserStateCollectingContent
)

解析逻辑以有限状态机(FSM)形式实现。当遇到 起始标签进入思考模式,遇到切换到内容模式。
与此同时,对流式数据的分段处理更加精准,支持不完整的关闭标签(如+nk>分两次到达),确保输出不会断裂。

(3) 异常情况处理

  • • 若 未关闭,自动将后续内容视为思考过程输出;

  • • 若 Assistant 消息为续写(带 prefill),默认跳过起始思考阶段;

  • • 处理 嵌套、空格、换行符自动剔除,输出纯净的 reasoning 文本。

(4) 测试覆盖 (model/parsers/qwen35_test.go)

测试文件新增382 行,覆盖以下场景:

  • • 工具调用 XML 格式识别;

  • • 含显式 标签的 reasoning 内容提取;

  • • Assistant 预填充(prefill)场景;

  • • 思考阶段中误判工具调用;

  • • 标签被分片情况;

  • • 未闭合标签情况下的安全输出。

这些测试使 Qwen 3.5 解析流程从多线程推理到断流恢复都具备强鲁棒性。

四、模型渲染层优化:全面更新 Qwen3.5 与 GLM-OCR Renderer

渲染器层:model/renderers/目录新增了两大核心组件:

1.Qwen35Renderer

文件model/renderers/qwen35.go,新增 389 行。
该渲染器对应 Qwen3.5 模型 prompt 生成逻辑,旨在让模型完全遵循 XML 函数调用格式与 思考框架。

功能亮点:

  • • 支持 指令区块嵌入,格式严格遵循模型需求;

  • • 自动拼接系统提示与函数声明;

  • • 支持生成 块,带 与 ;

  • • 逻辑层支持多工具顺序调用,多次 块组装;

  • • 思考与输出完美分离,紧密衔接模型训练格式。

渲染示例结构:

<|im_start|>assistant

I need to fetch the data first.

Here is my analysis.



42

<|im_end|>
其他改进:
  • • 支持useImgTags图片标记嵌入([img-0], [img-1]),兼容多模态;

  • • 提供emitEmptyThinkOnNoThink参数,用于未启用思考模式时补充空 模块;

  • • 对工具多次调用场景支持批量写入;

  • • 对assistant prefill保留最后阶段输出,不关闭<|im_start|>块。

测试文件model/renderers/qwen35_test.go共新增 389 行,涵盖:

  • • 多轮对话、函数调用递归;

  • • Back-to-back 工具响应;

  • • 思考与工具交错场景;

  • • Assistant 预填充完整性校验。

该模块的引入使得 Ollama 在多模型推理框架下更贴合阿里 Qwen3.5 推理接口的真实结构。

2.GLM-OCR Renderer 大幅修复

文件model/renderers/glmocr.go修改 99 行。
这次修复针对核心问题:GLM-OCR 模型无法正确渲染带图像的 prompt。

更新要点:

  • • 新增GlmOcrRenderer结构体属性useImgTags;

  • • 引入内部函数renderContent(),根据配置动态选择是否添加[img-x]标记;

  • • 改善 ImageOffset(图片计数偏移)管理;

  • • 用户消息按[img-0][img-1]顺序标识多图输入;

  • • 流程中修正原先message.Content与图片块拼接顺序。

渲染前后差异:

旧版输出(无法识别图片位):

<|user|>请识别图片内容。

新版输出(带多图标记):

<|user|>
[img-0][img-1]请识别图片内容。

同时新增glmocr_test.go文件(99 行),验证包括以下 5 种情况:

  1. 1. 单张图片;

  2. 2. 多张图片;

  3. 3. 多轮对话图像偏移;

  4. 4. 默认模式不添加图像标签;

  5. 5. 无图像场景内容保持一致。

这意味着以后 GLM-OCR 模型将可以在多图输入下稳定进行 OCR 推理,输出定位将完整无误。

3. 渲染器选择逻辑更新

在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 行,主要针对以下方向:

  • •配置迁移测试
    确保旧配置自动升级为标准名称;

  • •GLM-OCR 多图输入测试
    确认每张图片得到正确索引;

  • •Qwen3.5 渲染与解析系统测试
    模拟思考场景、函数嵌套、流式数据拼接;

  • •工具调用与 reasoning 多阶段测试
    验证多工具连续调用的 XML 结构合法性;

  • •Streaming 行为测试
    分块输入下保持状态一致性。

针对复杂推理模型,如 Qwen3.5 这种包含 和 的混合流式结构,此轮测试确保无论在并发推理还是断流恢复场景下都不丢失内容。

七、移除旧模型与无效依赖

本次更新清理了历史遗留的imagegen LLM模型,以及云模型拉取过程中的存根要求,进一步简化了部署过程。
Revert提交中体现了多次回滚与重放操作,表明研发团队对云端模型加载机制进行深度优化与验证。

八、总结与展望

Ollama v0.17.6 是一次结构性的重要版本更新。它没有去追求新增功能,而是聚焦于底层稳定性、模型兼容与推理一致性的打磨,体现出平台从实验型向工业化过渡的信号。

核心收益总结:

  1. 1.GLM-OCR修复后,OCR 模型可稳定处理多图输入。

  2. 2.Qwen3.5渲染与解析系统配套上线,支持完整 思考标签链路。

  3. 3.配置文件自动迁移,升级成本为零。

  4. 4.API 数据结构简化,输出更清晰、兼容性更高。

  5. 5.测试覆盖度大幅提升,确保行为稳定与准确。

通过对 v0.17.6 的更新,可以预见 Ollama 在未来版本中将继续强化多模态与 reasoning 模式集成,为 LLM 本地部署与企业多模型协作提供更坚实的基础。

结语

代码地址:github.com/ollama/ollama

Ollama v0.17.6 虽非大版本跳跃,但却在细节上体现了极高的工程重视度。
从配置迁移到渲染逻辑,再到工具调用与流式解析,几乎每个子模块都在朝着更统一、更可靠、更智能的方向演进。

我们相信人工智能为普通人提供了一种“增强工具”,并致力于分享全方位的AI知识。在这里,您可以找到最新的AI科普文章、工具评测、提升效率的秘籍以及行业洞察。 欢迎关注“福大大架构师每日一题”,发消息可获得面试资料,让AI助力您的未来发展。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
草根歌手王二妮身份被揭穿,瞒了观众十几年,原来一直在伪装?

草根歌手王二妮身份被揭穿,瞒了观众十几年,原来一直在伪装?

汉字笔迹心理分析
2026-09-05 00:38:13
CCTV5直播上海男篮VS深圳,比赛时间出炉,谁能取得揭幕战开门红

CCTV5直播上海男篮VS深圳,比赛时间出炉,谁能取得揭幕战开门红

体育大学僧
2026-10-14 09:23:59
大就是好!《永恒之塔2》全新大雷爆乳角色汇总

大就是好!《永恒之塔2》全新大雷爆乳角色汇总

游民星空
2026-10-13 08:08:12
日本人看见了可怕一幕:不开雷达找不到中国飞机,一开就被摸透!

日本人看见了可怕一幕:不开雷达找不到中国飞机,一开就被摸透!

知法而形
2026-08-27 10:27:04
出发了!加盟全美第1!中国男篮未来外线核心

出发了!加盟全美第1!中国男篮未来外线核心

豆哥记录
2026-10-14 18:05:36
难以置信!大佬之间的积怨,原来这么深了:从360搭档到死敌,傅盛借周鸿祎摔伤发声,照见互联网江湖残酷真相

难以置信!大佬之间的积怨,原来这么深了:从360搭档到死敌,傅盛借周鸿祎摔伤发声,照见互联网江湖残酷真相

火山詩话
2026-10-14 16:44:04
马克龙放话:法国实力和中美坐一桌,高层访华,承诺绝不给咱添乱

马克龙放话:法国实力和中美坐一桌,高层访华,承诺绝不给咱添乱

霁寒飘雪
2026-10-13 14:33:30
代购吃差价惹杀机,20岁野战迷被战友诱上五桂山割颈

代购吃差价惹杀机,20岁野战迷被战友诱上五桂山割颈

娱乐圈见解说
2026-10-14 00:24:30
伦纳德刚被重罚,詹姆斯也踩雷!直升机通勤,恐涉嫌阴阳合同?

伦纳德刚被重罚,詹姆斯也踩雷!直升机通勤,恐涉嫌阴阳合同?

体育大朋说
2026-10-14 14:43:33
任天堂非常不满马斯克扮演瓦力欧:演成变态了

任天堂非常不满马斯克扮演瓦力欧:演成变态了

游民星空
2026-10-13 15:16:12
汪涵现状:染发剃胡子,颜值大回春51岁像30,和一群年轻人创业

汪涵现状:染发剃胡子,颜值大回春51岁像30,和一群年轻人创业

荒野老五
2026-10-14 22:23:29
10 月楼市暴涨 94%!25 城全都大幅增长,看空房价的坐不住了

10 月楼市暴涨 94%!25 城全都大幅增长,看空房价的坐不住了

专业聊房君
2026-10-13 19:12:39
美媒:中国“轰-20”隐身轰炸机的研发陷入“恶性循环”,项目进展停滞不前

美媒:中国“轰-20”隐身轰炸机的研发陷入“恶性循环”,项目进展停滞不前

零度Military
2026-10-13 21:07:58
巴西大选卢拉推动6×1投票,弗拉维奥改口盟友承认票不够

巴西大选卢拉推动6×1投票,弗拉维奥改口盟友承认票不够

真正能保护你的
2026-10-14 13:07:38
美国、土耳其、巴基斯坦表态

美国、土耳其、巴基斯坦表态

海外网
2026-10-14 19:21:03
“男男女女一起,乌烟瘴气”!缅甸曼德勒多家KTV被查,16人被捕

“男男女女一起,乌烟瘴气”!缅甸曼德勒多家KTV被查,16人被捕

新时代精神
2026-10-14 10:20:42
古人为何将男女之事说成“云雨”,这俩字究竟是什么意思?

古人为何将男女之事说成“云雨”,这俩字究竟是什么意思?

长风文史
2026-10-14 23:00:59
第十五届中日韩央行行长会议在曼谷举行

第十五届中日韩央行行长会议在曼谷举行

界面新闻
2026-10-14 19:05:51
中国为什么没有渡边太太们?不是太太们不够精明,而是规则不让上桌

中国为什么没有渡边太太们?不是太太们不够精明,而是规则不让上桌

寰球经纬所
2026-10-13 21:44:34
彩票出现断崖式暴跌,“2元中500万”为何没人信了?原因引人深思

彩票出现断崖式暴跌,“2元中500万”为何没人信了?原因引人深思

阿振观点
2026-08-21 05:38:20
2026-10-15 01:56:49
moonfdd incentive-icons
moonfdd
福大大架构师每日一题
1515文章数 83关注度
往期回顾 全部

科技要闻

苹果iPhone Duo完成大模型备案

头条要闻

女副部包惠被开除党籍:违规决策造成重大金融风险

头条要闻

女副部包惠被开除党籍:违规决策造成重大金融风险

体育要闻

巴萨4比1加拉塔萨雷:亚马尔杀穿地狱

娱乐要闻

胡歌觉得仙剑三很幼稚,忘了来时路?

财经要闻

赫尔曼・西蒙拆解下一轮产业机会

汽车要闻

风格更豪华/座舱更舒适 全新旅行者7上市 燃油版售12.59万起

态度原创

亲子
游戏
家居
教育
军事航空

亲子要闻

家长的“为了你好”,潜台词是“你应该听我的”,专家:家庭不是一个讲道理的地方

LOL德杯最离谱选手诞生,单人落后8K经济,场场被打爆工作要丢了!

家居要闻

2026建博会(广州) 公装联探展交流活动

教育要闻

创意短片 | 最酷的“课堂”,在长征路上

军事要闻

特朗普称俄乌都同意“能源停火” 俄方回应

无障碍浏览 进入关怀版