版本: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助力您的未来发展。
热门跟贴