Ollama v0.40.7-rc0 预发布:非思考模型兼容 Responses effort,PPLX Decider 1.2 上车

2026-10-19来源:Ollama 官方 GitHub ReleasesOllama 本地部署 API

Ollama 于 10 月 18 日挂出 v0.40.7 的首个预发布版 v0.40.7-rc0(预发布标志仍挂着,正式版截至 10 月 19 日晚尚未发布)。版本只有三项改动,但第一项直指本地 agent 工作流的高频翻车点:非思考模型不再因为客户端残留的 effort 参数整轮报错。

场景:切个模型,agent 就「翻车」

Ollama 自 v0.13.3 起支持 OpenAI Responses API(POST /v1/responses),并支持其中的 reasoning.effort 参数(思考力度,支持模型自定义档位与 minimal/xhigh/ultra 等兼容别名,可用 /api/show 查各模型支持的值)。问题出在「切换模型」这个动作上:

ChatGPT 桌面后端这类 Responses 客户端,会把用户选过的 reasoning.effort 保持在会话配置里。当你从思考模型(比如 qwen3 系列)切到非思考模型(比如 llama3.2),客户端仍把上一轮保存的 effort: high 原样发来——旧版 Ollama 直接拒绝这一轮请求,返回 does not support thinking。对「统一参数打满模型池」的 agent 调用方来说,思考/非思考模型混用必炸,只能靠调用侧自己擦参数。

rc0 的新语义:残留 effort 忽略并警告,显式设置仍严格

修复本体很小(middleware +11 行、routes +6 行),语义却划得很清楚:仅当请求没有显式带 Ollama 自家的 think 参数时,落到非思考模型上的 effort 才被「放宽」——服务端记一条警告(model does not support thinking, relaxing thinking to nil),请求照常放行。官方新增的测试用例给出了完整行为矩阵:

请求(打到非思考模型) v0.40.7-rc0 行为
只带 reasoning.effort: "high"(无 think) 200 放行,effort 忽略+记警告
显式 think: true(另带 effort=none) 仍 400:does not support thinking
显式 think: false(另带 effort=high) 200 放行
effort: "future"(非法值) 仍 400:invalid reasoning value

curl 示例(rc0 起不再报错):

curl http://localhost:11434/v1/responses -d '{
  "model": "llama3.2",
  "input": "用一句话介绍你自己",
  "reasoning": { "effort": "high" }
}'

两个边界值得注意:其一,这个放宽只作用于 Responses 端点——原生 API 与 Chat Completions 的行为、布尔与命名档位的解析规则全部不变;其二,显式 think 覆盖的优先级与校验原样保留,想让错误继续兜底(严格模式)仍可用显式参数表达。另外 PR 顺带把 Responses 内建 web-search 的后续轮次对齐到已解析的 think 值,避免同一次响应里前后轮行为不一致。

同批上车:投机草稿自动识别+PPLX Decider 1.2

  • 投机解码更省心:llama-server 本就能自动探测大多数 drafting(草稿)模型,rc0 起 Ollama 只对探测不了的类型显式传 --spec-type——目前只剩 MTP sidecar 与 Eagle3 两类。配投机解码的「填参数」成本进一步下降。
  • PPLX Decider 1.2 进 MLX:本期改动量最大的 PR(+1498/-88、29 个文件)。pplx-decider 是 Perplexity 基于 Qwen3.8-27B 微调的 27B 决策模型,官方库页已挂出 27b-mlx-bf16、27b-mxfp8 等标签,要求最低版本 0.40.7;PR 注明 manifest 列表尚未建全,待正式版补齐。

什么时候能用

v0.40.7-rc0 目前在 GitHub Releases 挂预发布标记,正式版 v0.40.7 截至本文发布(10 月 19 日晚)尚未挂出。不着急的等转正,急用可直接下 rc0 二进制;预发布版本,生产环境照例先旁路验证。

参考链接