打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

版本:v0.34.4 发布时间:2026年9月25日 状态:Latest

ollama v0.34.4正式发布。本次更新围绕结构化输出、思考模型处理、本地模型库稳定性、macOS应用响应、Apple Silicon推理性能、图像分辨率选择,以及底层推理与语法约束组件升级展开。

从发布说明来看,v0.34.4最重要的变化之一,是思考模型的结构化输出现在能够在单次流程中完成。这项调整带来了更快的处理速度和更可靠的输出结果。同时,版本还修复了大型本地模型库中偶发的“模型未找到”错误,改善了macOS应用检查ChatGPT或Codex运行状态时可能无响应的问题。

在Apple Silicon平台上,本次更新对Qwen 3.8的提示词处理进行了加速;Gemma 4则能够针对每张图像动态选择更合适的图像分辨率,从而在高分辨率图像中保留更多细节。此外,llama.cpp、MLX和XGrammar也都获得了更新。

本次比较包含14个提交、70个文件变更、5位贡献者参与,整体代码变更为2,074行新增与912行删除。

核心更新速览

v0.34.4的主要更新内容包括以下几个方向:

  • • 思考模型的结构化输出改为单次完成,提升速度与可靠性。

  • • 修复大型本地模型库中偶发的“模型未找到”错误。

  • • 修复macOS应用检查ChatGPT或Codex是否运行时可能出现的无响应问题。

  • • 加快Apple Silicon上Qwen 3.8的提示词处理速度。

  • • Gemma 4在Apple Silicon上可按图像动态选择最佳分辨率,高分辨率图像能够保留更多细节。

  • • 更新llama.cpp。

  • • 更新MLX。

  • • 更新XGrammar。

  • • 为XGrammar原生库增加独立CMake工程与测试工作流。

  • • 文档补充思考控制发现相关内容。

  • • 启动配置中,Claude Code默认使用客户端自动检查。

结构化输出:思考模型改为单次完成

本次版本最值得关注的能力,是结构化输出在思考模型上的处理方式变化。

发布说明明确指出:

思考模型上的结构化输出现在在单次流程中应用,因此速度更快,也更可靠。

与这一变化相关的提交集中在解析、MLX运行器、语言模型请求处理和服务端结构化输出处理等多个层面。

首先,解析器增加了对“结束响应思考过程的字符串”的报告能力。也就是说,解析流程能够识别哪些字符串用于结束一段响应中的思考内容。这为后续在思考结束后继续施加格式约束提供了基础。

随后,MLX运行器增加了在思考完成后、单次生成过程中约束格式的能力。对应的变更描述为:在一次生成中,对思考之后的内容施加格式限制。

在基于llama-server的处理路径中,也加入了类似能力:通过一次llama-server请求,在思考之后应用格式约束。

服务端层面的变更则进一步将这些能力整合起来,使思考模型的结构化输出能够在单次流程中完成。也就是说,结构化输出不再需要拆分成多次独立处理,而是在同一轮处理中,在思考结束后继续进入格式受约束的输出阶段。

从本次提交信息可以看到,相关修改涉及以下内容:

  • • 解析器报告用于结束响应思考内容的字符串。

  • • MLX运行器在一次生成中,对思考后的输出施加格式限制。

  • • 语言模型层在一次llama-server请求中,对思考后的输出应用格式。

  • • 服务端将思考模型的结构化输出处理整合为单次流程。

发布说明中使用“更快”和“更可靠”概括了这一变化带来的结果。对于依赖固定格式结果的调用场景,这一更新将结构化输出与思考过程的衔接放在同一流程中完成。

大型本地模型库:修复偶发“模型未找到”问题

v0.34.4修复了一个与大型本地模型库有关的稳定性问题。

发布说明指出,本版本修复了在拥有大量本地模型时,偶发出现的“模型未找到”错误。

对应提交位于服务端模块,提交标题显示为:

  • • server:修复getExistingName对模型名称部分进行独立规范化的问题,标题在提供内容中以省略形式结束。

这里能够确认的信息是,修复与服务端中的getExistingName相关,并且涉及模型名称组成部分的独立规范化处理。发布说明将这一修复直接归纳为:解决大型本地模型库环境下偶发的“模型未找到”报错。

对于本地模型数量较多的使用环境,这项修复属于模型发现与模型名称处理链路的稳定性改进。

macOS应用:避免检查ChatGPT或Codex时无响应

本次更新还处理了macOS应用的响应问题。

发布说明明确说明,macOS应用此前在检查ChatGPT或Codex是否运行时,可能变得无响应。v0.34.4已经修复了这个问题。

对应提交内容为:

  • • app:避免使用System Events检测ChatGPT或Codex,变更编号18601。

从提交描述可以看出,应用层不再使用System Events进行ChatGPT或Codex检测。发布说明给出的直接结果是:避免macOS应用在检查相关应用运行状态时发生无响应。

这一修改聚焦于桌面应用的运行状态检测过程,属于macOS端应用交互响应方面的修复。

Apple Silicon优化:Qwen 3.8提示词处理更快

Apple Silicon平台在本次版本中获得了Qwen 3.8提示词处理性能优化。

发布说明指出:

Qwen 3.8在Apple Silicon上的提示词处理速度更快。

对应提交为:

  • • mlx:加快Qwen 3.8提示词处理,变更编号18550。

该变更位于MLX相关模块,针对Qwen 3.8在Apple Silicon环境下的提示词处理进行优化。发布说明没有给出具体速度数据,因此本次更新可确认的信息是:Qwen 3.8在Apple Silicon上的提示词处理得到了加速。

对于运行在Apple Silicon设备上的Qwen 3.8推理任务,此项更新直接面向提示词处理阶段。

Apple Silicon图像处理:Gemma 4按图动态选择分辨率

除了Qwen 3.8的提示词处理加速之外,本次更新还改进了Gemma 4在Apple Silicon上的图像分辨率选择。

发布说明指出:

Apple Silicon上的Gemma 4现在会为每张图像选择最佳图像分辨率,使高分辨率图像保留更多细节。

对应提交为:

  • • mlx:动态选择Gemma 4图像分辨率,变更编号18603。

这里有两个关键信息。

第一,分辨率选择不再是统一固定策略,而是针对每一张图像动态进行选择。

第二,高分辨率图像能够因此保留更多细节。

该更新位于MLX模块,目标平台为Apple Silicon。对于涉及图像输入的Gemma 4处理流程,v0.34.4引入了按图像进行分辨率选择的逻辑。

底层组件更新:llama.cpp、MLX与XGrammar同步升级

v0.34.4同时更新了多个底层组件,包括llama.cpp、MLX与XGrammar。

对应的提交包括:

  • • llama.cpp:版本更新,变更编号18577。

  • • MLX:版本升级,变更编号18576。

  • • mlxrunner:将XGrammar更新至0.2.7,用于结构化输出。

其中,XGrammar升级与本次结构化输出能力紧密相关。提供的提交信息明确说明,MLX运行器中的XGrammar已更新至0.2.7,并用于结构化输出。

与此同时,本次变更还加入了XGrammar原生库的独立CMake工程:

  • • xgrammar:为原生库增加独立CMake项目,变更编号18611。

这部分内容不仅包含版本升级,也包含构建、安装、导出符号检查、替换运行载荷库和自动化测试等完整流程。

思考控制发现:文档补充相关说明

在功能与底层组件更新之外,v0.34.4还更新了文档。

对应提交为:

  • • docs:记录思考控制发现,变更编号18501。

根据提交描述,本次文档更新涉及“思考控制发现”。提供内容没有展开具体文档正文,因此能够确认的是:与思考控制发现有关的内容已被补充到文档中。

结合本次结构化输出在思考模型上改为单次处理的变化,这项文档更新同样属于思考相关能力的配套内容。

启动配置调整:Claude Code默认使用客户端自动检查

本次版本还包含一项启动相关调整。

对应提交为:

  • • launch:默认将Claude Code设为客户端自动检查,变更编号18596。

该变更位于启动模块,提交描述明确说明,Claude Code的默认设置调整为客户端自动检查。

提供内容未列出更多配置细节,因此本次能够确认的是默认检查方式发生了上述变更。

提交记录:2026年9月23日

提供的变更记录中,以下提交归入2026年9月23日:

  • • server:修复getExistingName对模型名称部分进行独立规范化的问题,提交标题在提供内容中以省略形式结束。

  • • parsers:报告结束响应思考内容的字符串。

  • • mlxrunner:在一次生成中对思考之后的内容约束格式。

  • • llm:在一次llama-server请求中,对思考之后的内容应用格式。

  • • server:在思考模型上以单次流程应用结构化输出。

  • • app:避免使用System Events检测ChatGPT或Codex,变更编号18601。

  • • llama.cpp:版本更新,变更编号18577。

  • • MLX:版本升级,变更编号18576。

  • • mlx:动态选择Gemma 4图像分辨率,变更编号18603。

  • • mlx:加快Qwen 3.8提示词处理,变更编号18550。

  • • docs:记录思考控制发现,变更编号18501。

这些提交覆盖服务端、解析器、MLX运行器、语言模型请求、macOS应用、llama.cpp、MLX、图像处理与文档等多个范围。

提交记录:2026年9月24日

提供的变更记录中,以下提交归入2026年9月24日:

  • • xgrammar:为原生库增加独立CMake项目,变更编号18611。

  • • launch:默认将Claude Code设为客户端自动检查,变更编号18596。

  • • mlxrunner:将XGrammar更新至0.2.7,用于结构化输出。

这部分变更重点集中在XGrammar原生库的独立构建与测试、启动默认检查策略,以及结构化输出依赖的XGrammar版本更新。

代码统计:14个提交、70个文件变更

本次比较信息显示:

  • • 共包含14个提交。

  • • 共涉及70个文件变更。

  • • 共由5位贡献者参与。

  • • 总计新增2,074行。

  • • 总计删除912行。

提供的差异内容中展示了两个文件的具体变化:

  • •.github/scripts/prepare_mlx_darwin.sh

  • •.github/workflows/test-xgrammar.yaml

其中,第一个文件显示为2处删除,没有新增;第二个文件为新增文件,共新增75行。

构建脚本调整:移除重复的XGrammar原生目录定义

文件:

.github/scripts/prepare_mlx_darwin.sh

该文件在提供的差异中显示为2行删除、0行新增。

被删除的内容是与XGrammar原生包装器源代码目录有关的变量定义及说明。原有说明指出,这些原生包装器源代码会被编译进libollama_xgrammar.dylib,并需要与cmake/mlx/CMakeLists.txt中的ollama_xgrammar目标保持同步。

删除的变量指向:

mlxrunner/xgrammar/native

提供内容中的后续说明为:该区域之后保留的是超出MLX_VERSION和MLX_C_VERSION固定版本之外的载荷构建规则。

从差异可确认的是,构建脚本中关于XGrammar原生目录的这段变量与说明被移除。

新增XGrammar测试工作流

文件:

.github/workflows/test-xgrammar.yaml

该文件为新增文件,共75行新增内容。工作流名称为:

test-xgrammar

该工作流在拉取请求触发,并且只在以下路径发生变化时运行:

  • •cmake/mlx/CMakeLists.txt

  • •mlxrunner/xgrammar目录及其内容

  • •.github/workflows/test-xgrammar.yaml

工作流权限设置为只读内容权限。

工作流包含一个名为standalone的任务,运行环境为macOS最新环境,并将CGO_ENABLED设置为1。

整个工作流围绕以下过程展开:

  • • 检出代码。

  • • 根据go.mod配置Go环境。

  • • 缓存MLX Darwin发布载荷。

  • • 准备MLX Darwin发布载荷。

  • • 将固定版本的XGrammar安装到指定前缀目录。

  • • 使用已安装的XGrammar构建XGrammar原生库。

  • • 验证动态库仅导出规定的API。

  • • 使用新构建的动态库替换载荷中的XGrammar库。

  • • 执行Go测试,并将跳过测试视为失败。

缓存MLX Darwin发布载荷

新增工作流使用缓存机制保存MLX Darwin发布载荷。

缓存路径为:

.cache/mlx-darwin-release

缓存键基于多个文件计算,包括:

  • • MLX_VERSION

  • • MLX_C_VERSION

  • •cmake/local.cmake

  • •cmake/apply-git-patches.cmake

  • •cmake/mlx/CMakeLists.txt

  • •cmake/mlx/CMakePresets.json

  • •mlx/CMakeLists.txt

  • •mlx/compat目录及其内容

  • •mlxrunner/xgrammar/native目录及其内容

缓存键以mlx-darwin-为前缀,并结合上述文件的哈希结果生成。

这意味着,当MLX版本、构建配置、兼容层或XGrammar原生实现等相关内容变化时,对应缓存也会随之变化。

准备MLX Darwin发布载荷

工作流中包含“Prepare MLX Darwin release payload”步骤。

该步骤执行:

.github/scripts/prepare_mlx_darwin.sh

也就是使用前面提到的Darwin载荷准备脚本,为后续XGrammar构建、库替换和Go测试准备MLX Darwin发布载荷。

读取固定的XGrammar版本并安装到前缀目录

工作流会从以下文件读取XGrammar版本:

cmake/mlx/CMakeLists.txt

读取方式是匹配其中的XGRAMMAR_VERSION设置。

如果未找到XGRAMMAR_VERSION,工作流会输出错误信息并终止执行。

读取到版本后,该版本会写入GitHub环境变量,变量名为:

XGRAMMAR_VERSION

随后,工作流会创建XGrammar源码目录与构建目录,分别位于运行器临时目录中。

源码获取方式为:

  • • 从XGrammar仓库克隆。

  • • 使用读取到的版本作为分支。

  • • 使用浅克隆。

  • • 递归获取子模块。

  • • 对子模块同样采用浅克隆。

在构建前,工作流会在构建目录内写入配置文件,以关闭XGrammar Python绑定构建。

提供内容中明确说明了这样做的原因:XGrammar的CMake配置会覆盖命令行中的-D选项,除非构建目录拥有自己的配置文件。

之后,工作流使用Release构建类型进行CMake配置,将安装前缀指向临时目录下的XGrammar前缀目录;然后执行并行构建与安装。

针对已安装XGrammar构建原生动态库

在安装固定版本XGrammar之后,工作流会构建XGrammar原生库。

构建源码目录为:

mlxrunner/xgrammar/native

构建目录为:

build/xgrammar-standalone

构建配置包括:

  • • 使用Release构建类型。

  • • 将CMAKE_PREFIX_PATH指向之前安装XGrammar的前缀目录。

  • • 传入XGRAMMAR_VERSION。

之后执行CMake构建。

从这里可以看出,新增工作流将XGrammar作为已安装依赖,再独立构建原生动态库。

验证动态库仅导出规定API

工作流还加入了导出符号验证步骤。

需要检查的动态库为:

build/xgrammar-standalone/libollama_xgrammar.dylib

验证逻辑会读取该动态库的全局导出符号,并检查它们是否全部以以下前缀开头:

_ollama_xgrammar_

如果发现任何不符合该前缀规则的导出符号,工作流会输出“存在非预期导出符号”的错误并失败。

这一步的目的在提供内容中写得很明确:验证只有ollama_xgrammarAPI被导出。

替换载荷中的XGrammar动态库

当独立构建和导出符号验证完成后,工作流会替换MLX载荷中使用的XGrammar动态库。

替换目标为:

build/lib/ollama/mlx_metal_v*

工作流会遍历所有匹配的MLX Metal变体目录,并将新构建的:

libollama_xgrammar.dylib

复制到这些目录中。

也就是说,独立构建得到的XGrammar动态库会被放入各个MLX Metal载荷变体中,供后续测试使用。

执行Go测试:跳过也视为失败

最后,工作流执行以下范围的Go测试:

./mlxrunner/xgrammar/...

测试以详细模式运行,并将输出保存到临时日志文件。

工作流中还增加了一项明确限制:如果测试日志中出现“SKIP”,则工作流直接失败。

提供内容中的说明是:测试在库缺失时会跳过,因此必须将跳过视为失败。

这一规则确保XGrammar库确实存在,并且相关测试不是因为缺少动态库而被跳过。

v0.34.4完整变化汇总

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

综合发布说明、提交记录与提供的差异内容,ollama v0.34.4包含以下完整变化:

  • • 思考模型的结构化输出改为单次流程完成,速度更快且可靠性更高。

  • • 解析器能够报告结束响应思考内容的字符串。

  • • MLX运行器可以在一次生成中,对思考之后的内容约束格式。

  • • 语言模型层可以在一次llama-server请求中,对思考之后的输出应用格式。

  • • 服务端将思考模型的结构化输出整合为单次处理。

  • • 修复大型本地模型库中偶发的“模型未找到”错误。

  • • 修复与模型名称部分独立规范化相关的问题。

  • • macOS应用不再通过System Events检测ChatGPT或Codex,以避免应用无响应。

  • • Apple Silicon上的Qwen 3.8提示词处理更快。

  • • Apple Silicon上的Gemma 4能够按每张图像动态选择最佳分辨率。

  • • 高分辨率图像可保留更多细节。

  • • llama.cpp完成版本更新。

  • • MLX完成版本升级。

  • • XGrammar升级至0.2.7,用于结构化输出。

  • • 增加XGrammar原生库独立CMake工程。

  • • 增加XGrammar独立构建、导出符号验证、载荷替换与Go测试工作流。

  • • 文档补充思考控制发现相关内容。

  • • Claude Code默认调整为客户端自动检查。

  • • 构建脚本中移除了XGrammar原生目录的变量定义与对应说明。

  • • 新增测试工作流对XGrammar库是否实际参与测试进行严格校验,测试被跳过时会直接失败。

ollama v0.34.4发布于2026年9月25日,版本状态为Latest。本次更新覆盖结构化输出、思考模型处理、Apple Silicon性能、图像细节保留、macOS应用响应、本地模型库稳定性,以及XGrammar原生库的构建与测试流程。

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