发布日期:2026年9月30日
版本号:v0.35.0
核心关键词:决策模型、/v1/systemone、choice、noul、score、概率、评分、模型路由、工单分流、内容分类
Ollama v0.35.0 正式发布。本次更新最值得关注的内容,是新增了对决策模型的支持。
与常见的文本生成模型不同,决策模型并不以输出自然语言文本为主要目标,而是直接返回选择结果、各选项对应的概率以及评分等结构化信息。对于需要快速完成分类、判断、路由和筛选的业务场景来说,这种返回形式更加直接,也更方便程序接收和处理。
在 v0.35.0 中,Ollama 通过/v1/systemone接口支持决策模型,该能力基于 TypeSafe 的 Jev API。开发者可以将一段上下文内容连同一个或多个问题发送到接口中,由模型返回结构化决策结果。
除了决策模型能力外,v0.35.0 还包含多项体验与稳定性改进,包括设置页面启动逻辑优化、macOS 更新提示修复、MLX 模型下载卡住问题修复,以及对已弃用参数typical_p的兼容处理优化。
一、Ollama v0.35.0 的核心更新:决策模型来了
Ollama v0.35.0 新增了决策模型支持。
决策模型与传统的文本生成模式有明显差异。传统模型通常根据输入内容生成一段文字,输出可能是一句话、一段解释、一个回答,或者较长的文本内容。而决策模型的重点不在于生成文本,而在于针对给定的上下文和问题,返回明确的结构化判断。
它可以返回的内容包括:
- 选择结果
- 每个候选选项的概率
- 置信度
- 条件成立的概率
- 基于有序标准得到的评分
这种能力适合用于需要明确结果的数据处理任务,例如工单分流、模型路由、内容分类等。
例如,一条客服工单内容中提到结账出现 500 错误。对于传统文本生成方式,模型可能会输出“这看起来是一个软件错误”之类的文字。对于决策模型来说,返回结果则可以直接是bug,同时附带账单、软件错误、账号访问等不同标签的概率。
对于程序而言,后者更容易处理。业务系统不需要从一段自然语言中继续提取分类标签,也不需要额外判断模型描述是否明确,而是可以直接读取结构化字段中的选择结果和概率结果。
二、决策模型的接口:/v1/systemone
在 Ollama v0.35.0 中,决策模型通过以下接口提供:
/v1/systemone该接口基于 TypeSafe 的 Jev API。
调用时,需要将模型名称、上下文状态内容,以及一个或多个问题一并传入。模型根据传入的状态和问题,输出对应的决策答案。
官方给出的调用示例如下:
curlhttp://localhost:11434/v1/systemone\-H'Content-Type: application/json'\-d'{ "model": "nimble", "state": "Our checkout has returned 500 errors since 9am.", "questions": { "label": { "type": "choice", "instructions": "Which label fits this ticket?", "criteria": { "billing": "Payments and refunds", "bug": "Software errors", "account": "Login and account access" } } } }'从这段请求可以看出,接口请求主要由几个部分组成。
首先是model字段。
"model":"nimble"该字段用于指定当前要调用的决策模型。v0.35.0 提供的可用模型包括 Nimble 和 Tev1。
其次是state字段。
"state":"Our checkout has returned 500 errors since 9am."这个字段用于传递当前需要分析的上下文信息。在示例中,状态内容描述的是从上午 9 点开始,结账功能持续返回 500 错误。
接下来是questions字段。
"questions":{"label":{"type":"choice","instructions":"Which label fits this ticket?","criteria":{"billing":"Payments and refunds","bug":"Software errors","account":"Login and account access"}}}这里定义了需要模型完成的决策问题。
questions中可以包含一个或多个问题。示例中定义了一个名为label的问题,其问题类型是choice,目标是让模型在多个工单分类标签中选择最匹配的一项。
可供选择的分类标准包括:
| 分类标签 | 分类说明 |
|---|---|
billing | 支付与退款 |
bug | 软件错误 |
account | 登录与账号访问 |
因为上下文中明确提到了结账返回 500 错误,因此模型需要在这些分类中判断最合适的标签。
三、接口返回结果:选择、概率与置信度
针对前面的请求,接口会返回如下结构化结果:
{"model":"nimble","answers":{"label":{"type":"choice","choice":"bug","probabilities":{"billing":0.0125,"bug":0.9781,"account":0.0093},"confidence":0.8906}},"usage":{"input_tokens":174,"output_tokens":1}}从返回内容可以看到,模型不仅给出了最终分类,而且给出了每个候选分类的概率。
返回结果中的模型字段如下:
"model":"nimble"它表示本次请求所使用的模型为nimble。
核心结果位于answers字段中:
"answers":{"label":{...}}其中的label与请求中定义的问题名称对应。也就是说,请求中定义了名为label的问题,返回中也会在answers.label中给出这一问题的决策答案。
结果类型为:
"type":"choice"这说明本次返回的是一个选择类型的问题结果。
最终选择结果为:
"choice":"bug"模型将这条工单归类为bug,即软件错误。
更重要的是,接口还返回了各个候选项的概率:
"probabilities":{"billing":0.0125,"bug":0.9781,"account":0.0093}从这些数据中可以看到:
| 标签 | 概率 |
|---|---|
billing | 0.0125 |
bug | 0.9781 |
account | 0.0093 |
在三个标签中,bug的概率为 0.9781,明显高于其他选项。因此,模型最终返回bug作为选择结果。
接口还提供了置信度:
"confidence":0.8906该字段表示此次选择结果的置信度为 0.8906。
在使用决策模型时,最终选择结果、候选项概率和置信度可以共同构成完整的结构化判断结果。相比只返回一段说明文字,这种形式能够让调用方直接得到分类结论,同时保留不同候选结果之间的概率差异。
返回内容中还包含使用量信息:
"usage":{"input_tokens":174,"output_tokens":1}其中:
| 字段 | 数值 |
|---|---|
input_tokens | 174 |
output_tokens | 1 |
这说明该请求的输入 token 数为 174,输出 token 数为 1。
四、v0.35.0 提供的决策模型
Ollama v0.35.0 中列出的可用决策模型包括以下两个:
| 模型 | 来源 |
|---|---|
| Nimble | Bespoke Labs |
| Tev1 | Together AI |
其中,Nimble 可以通过以下命令拉取:
ollama pull nimble拉取完成后,可以在/v1/systemone接口请求中将模型字段设置为nimble:
"model":"nimble"在官方示例中,正是使用nimble对工单内容进行了分类,并返回了bug的选择结果、多个分类标签的概率以及置信度。
五、三种问题类型:choice、noul、score
Ollama v0.35.0 的决策模型接口支持三种问题类型:
| 类型 | 作用 |
|---|---|
choice | 从多个选项中选择一个,并返回每个选项的概率 |
noul | 返回某个条件为真的概率 |
score | 根据一组有序标准返回评分 |
这三种类型覆盖了选择、真假判断和分级评分三类结构化决策需求。
六、choice:选择一个选项并返回所有选项概率
choice类型用于从多个候选项中选择最符合条件的一项。
官方示例中的工单分类,就是一个典型的choice使用方式:
"type":"choice"在这一模式下,请求中可以定义多个候选标准:
"criteria":{"billing":"Payments and refunds","bug":"Software errors","account":"Login and account access"}模型会根据state中提供的上下文内容,在这些候选标准中选择最匹配的一项。
最终结果会包含:
- 问题类型
- 最终选择项
- 每一个候选项的概率
- 置信度
对应到示例中,模型返回:
{"type":"choice","choice":"bug","probabilities":{"billing":0.0125,"bug":0.9781,"account":0.0093},"confidence":0.8906}在这个结果里,bug是最终选择,billing、bug、account则分别拥有各自的概率。
对于工单分流场景,choice可以用于将不同内容归入预先定义好的类别。在模型路由场景中,也可以用于在多个候选模型或处理路径中选择一个结果。在内容分类场景中,则可以根据给定的分类标准,输出最匹配的标签及相关概率。
七、noul:返回条件为真的概率
noul类型用于返回某个条件为真的概率。
与choice的多个候选项选择不同,noul更关注一个具体条件是否成立。它返回的是该条件为真的概率。
在需要判断一个条件是否满足时,noul可以提供直接的概率结果。其核心目标不是从多个标签中选一个,而是针对某个判断条件给出概率。
根据 v0.35.0 的说明,noul的定义为:
Return the probability that a condition is true.也就是返回一个条件为真的概率。
如果说choice的结果重点是“多个候选项中哪个最符合”,那么noul的结果重点则是“某个条件成立的可能性有多高”。
八、score:基于有序标准返回评分
score类型用于根据一组有序标准返回评分。
v0.35.0 对score的定义是:
Return a score across an ordered set of criteria.即在一组有序的标准之中返回一个评分结果。
与choice侧重于选择一个类别不同,score侧重于在具有顺序关系的一组标准上进行评分。与noul侧重于一个条件是否为真不同,score侧重于得分或等级结果。
因此,三个问题类型可以这样理解:
| 问题类型 | 关注重点 | 返回形式 |
|---|---|---|
choice | 哪一个选项最匹配 | 选择结果与各选项概率 |
noul | 条件是否成立 | 条件为真的概率 |
score | 在有序标准中的评分 | 评分结果 |
九、决策模型适用的任务类型
Ollama v0.35.0 明确提到了决策模型适用于以下任务:
- 工单分流
- 模型路由
- 内容分类
工单分流是官方示例展示的典型任务。
示例中的状态信息为:
Our checkout has returned 500 errors since 9am.在三个候选分类中,模型选择了:
bug其对应概率为:
0.9781这表明,对于“结账功能返回 500 错误”这一内容,模型将其与软件错误标签建立了最高匹配关系。
模型路由同样属于决策模型适用的任务类型。决策模型可以输出选择、概率与评分,因此适合用于需要根据输入内容进行判断,并输出明确路由结果的任务。
内容分类也是决策模型的适用方向。通过向criteria提供一组分类标准,模型可以根据上下文状态选择对应类别,并在choice类型下返回各类别的概率。
决策模型的关键价值在于,输出结果不是单纯的文本描述,而是可被程序直接读取的结构化数据。
十、v0.35.0 的其他更新与修复
除了新增决策模型支持,Ollama v0.35.0 还包含以下改动。
| 改动 | 内容 |
|---|---|
| 设置页面优化 | 设置现在无需等待模型发现完成即可打开 |
| macOS 更新修复 | 修复启动时更新菜单和图标未反映可用更新的问题 |
| MLX 下载修复 | 修复 MLX 模型下载停滞后无限期挂起的问题 |
typical_p兼容优化 | 请求包含已弃用的typical_p参数时,改为记录警告而不是直接失败 |
下面分别展开说明。
十一、设置页面不再等待模型发现
v0.35.0 中,设置页面现在可以在不等待模型发现完成的情况下打开。
更新说明为:
Settings now opens without waiting for model discovery.也就是说,设置页面的打开不再依赖模型发现流程结束。
这一改动针对的是设置页面启动时与模型发现之间的等待关系。更新后,设置可以直接打开,而不需要等待模型发现完成。
十二、修复 macOS 启动时更新菜单和图标未正确显示的问题
v0.35.0 修复了 macOS 中与更新状态显示相关的问题。
更新说明指出,修复了在启动时,更新菜单和更新图标未能反映可用更新的问题。
原始说明为:
Fixed the macOS update menu and icon not reflecting an available update at startup.修复内容涉及两个位置:
- 更新菜单
- 更新图标
修复场景则是应用启动时存在可用更新,但菜单和图标没有正确体现这一状态的问题。
十三、修复 MLX 模型下载停滞后无限期挂起的问题
v0.35.0 还修复了 MLX 模型下载相关的问题。
更新说明为:
Fixed stalled MLX model downloads hanging indefinitely.该问题的表现是,MLX 模型下载在停滞后可能会无限期挂起。
此次更新对这一问题进行了修复,处理的重点是下载过程已经停滞,但任务仍持续处于挂起状态的情况。
十四、已弃用的 typical_p 参数不再导致请求失败
在 v0.35.0 中,包含已弃用参数typical_p的请求,处理方式发生了变化。
更新说明为:
Requests containing the deprecated typical_p parameter now log a warning instead of failing.此前,包含已弃用typical_p参数的请求会失败。
在 v0.35.0 中,这类请求不会再因为该参数而直接失败,而是会记录一条警告信息。
涉及的参数名称为:
typical_p涉及的变化可以概括为:
| 情况 | 处理方式 |
|---|---|
请求包含已弃用的typical_p参数 | 记录警告 |
请求包含已弃用的typical_p参数 | 不再直接失败 |
这一调整保留了对弃用参数的提醒,同时改变了请求因该参数直接失败的行为。
十五、Ollama v0.35.0 更新内容汇总
Ollama v0.35.0 的核心更新可以归纳为以下内容:
| 分类 | 更新内容 |
|---|---|
| 新能力 | 新增决策模型支持 |
| 接口 | 通过/v1/systemone提供决策模型能力 |
| 基础 | 基于 TypeSafe 的 Jev API |
| 模型 | 提供 Nimble 和 Tev1 |
| 问题类型 | 支持choice、noul、score |
choice | 选择一个选项并返回每个选项的概率 |
noul | 返回条件为真的概率 |
score | 基于有序标准返回评分 |
| 使用场景 | 工单分流、模型路由、内容分类 |
| 设置体验 | 设置页面无需等待模型发现完成即可打开 |
| macOS 修复 | 修复启动时更新菜单和图标未显示可用更新的问题 |
| MLX 修复 | 修复模型下载停滞后无限期挂起的问题 |
| 参数兼容 | typical_p参数由请求失败改为记录警告 |
结语
代码地址:github.com/ollama/ollama
Ollama v0.35.0 的重点在于决策模型能力的加入。
通过/v1/systemone接口,调用方可以向模型传递状态信息和一个或多个问题,并获得选择结果、概率、置信度或评分等结构化结果。接口支持choice、noul、score三种问题类型,覆盖多选一分类、条件成立概率判断以及有序标准评分等需求。
在官方示例中,针对“结账功能从上午 9 点开始返回 500 错误”的工单内容,模型选择了bug标签,并返回了billing、bug、account三个标签的概率以及置信度。
与此同时,v0.35.0 还优化了设置页面打开逻辑,修复了 macOS 启动时更新显示问题,修复了 MLX 模型下载无限期挂起问题,并将已弃用typical_p参数的处理方式从直接失败调整为记录警告。