


发布日期: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 中,决策模型通过以下接口提供:
text
/v1/systemone
该接口基于 TypeSafe 的 Jev API。
调用时,需要将模型名称、上下文状态内容,以及一个或多个问题一并传入。模型根据传入的状态和问题,输出对应的决策答案。
官方给出的调用示例如下:
bash
curl http://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 字段。
json
"model": "nimble"
该字段用于指定当前要调用的决策模型。v0.35.0 提供的可用模型包括 Nimble 和 Tev1。
其次是 state 字段。
json
"state": "Our checkout has returned 500 errors since 9am."
这个字段用于传递当前需要分析的上下文信息。在示例中,状态内容描述的是从上午 9 点开始,结账功能持续返回 500 错误。
接下来是 questions 字段。
json
"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 错误,因此模型需要在这些分类中判断最合适的标签。
三、接口返回结果:选择、概率与置信度
针对前面的请求,接口会返回如下结构化结果:
json
{
"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
}
}
从返回内容可以看到,模型不仅给出了最终分类,而且给出了每个候选分类的概率。
返回结果中的模型字段如下:
json
"model": "nimble"
它表示本次请求所使用的模型为 nimble。
核心结果位于 answers 字段中:
json
"answers": {
"label": {
...
}
}
其中的 label 与请求中定义的问题名称对应。也就是说,请求中定义了名为 label 的问题,返回中也会在 answers.label 中给出这一问题的决策答案。
结果类型为:
json
"type": "choice"
这说明本次返回的是一个选择类型的问题结果。
最终选择结果为:
json
"choice": "bug"
模型将这条工单归类为 bug,即软件错误。
更重要的是,接口还返回了各个候选项的概率:
json
"probabilities": {
"billing": 0.0125,
"bug": 0.9781,
"account": 0.0093
}
从这些数据中可以看到:
| 标签 | 概率 |
|---|---|
billing |
0.0125 |
bug |
0.9781 |
account |
0.0093 |
在三个标签中,bug 的概率为 0.9781,明显高于其他选项。因此,模型最终返回 bug 作为选择结果。
接口还提供了置信度:
json
"confidence": 0.8906
该字段表示此次选择结果的置信度为 0.8906。
在使用决策模型时,最终选择结果、候选项概率和置信度可以共同构成完整的结构化判断结果。相比只返回一段说明文字,这种形式能够让调用方直接得到分类结论,同时保留不同候选结果之间的概率差异。
返回内容中还包含使用量信息:
json
"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 可以通过以下命令拉取:
bash
ollama pull nimble
拉取完成后,可以在 /v1/systemone 接口请求中将模型字段设置为 nimble:
json
"model": "nimble"
在官方示例中,正是使用 nimble 对工单内容进行了分类,并返回了 bug 的选择结果、多个分类标签的概率以及置信度。
五、三种问题类型:choice、noul、score
Ollama v0.35.0 的决策模型接口支持三种问题类型:
| 类型 | 作用 |
|---|---|
choice |
从多个选项中选择一个,并返回每个选项的概率 |
noul |
返回某个条件为真的概率 |
score |
根据一组有序标准返回评分 |
这三种类型覆盖了选择、真假判断和分级评分三类结构化决策需求。
六、choice:选择一个选项并返回所有选项概率
choice 类型用于从多个候选项中选择最符合条件的一项。
官方示例中的工单分类,就是一个典型的 choice 使用方式:
json
"type": "choice"
在这一模式下,请求中可以定义多个候选标准:
json
"criteria": {
"billing": "Payments and refunds",
"bug": "Software errors",
"account": "Login and account access"
}
模型会根据 state 中提供的上下文内容,在这些候选标准中选择最匹配的一项。
最终结果会包含:
- 问题类型
- 最终选择项
- 每一个候选项的概率
- 置信度
对应到示例中,模型返回:
json
{
"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 的定义为:
text
Return the probability that a condition is true.
也就是返回一个条件为真的概率。
如果说 choice 的结果重点是"多个候选项中哪个最符合",那么 noul 的结果重点则是"某个条件成立的可能性有多高"。
八、score:基于有序标准返回评分
score 类型用于根据一组有序标准返回评分。
v0.35.0 对 score 的定义是:
text
Return a score across an ordered set of criteria.
即在一组有序的标准之中返回一个评分结果。
与 choice 侧重于选择一个类别不同,score 侧重于在具有顺序关系的一组标准上进行评分。与 noul 侧重于一个条件是否为真不同,score 侧重于得分或等级结果。
因此,三个问题类型可以这样理解:
| 问题类型 | 关注重点 | 返回形式 |
|---|---|---|
choice |
哪一个选项最匹配 | 选择结果与各选项概率 |
noul |
条件是否成立 | 条件为真的概率 |
score |
在有序标准中的评分 | 评分结果 |
九、决策模型适用的任务类型
Ollama v0.35.0 明确提到了决策模型适用于以下任务:
- 工单分流
- 模型路由
- 内容分类
工单分流是官方示例展示的典型任务。
示例中的状态信息为:
text
Our checkout has returned 500 errors since 9am.
在三个候选分类中,模型选择了:
text
bug
其对应概率为:
text
0.9781
这表明,对于"结账功能返回 500 错误"这一内容,模型将其与软件错误标签建立了最高匹配关系。
模型路由同样属于决策模型适用的任务类型。决策模型可以输出选择、概率与评分,因此适合用于需要根据输入内容进行判断,并输出明确路由结果的任务。
内容分类也是决策模型的适用方向。通过向 criteria 提供一组分类标准,模型可以根据上下文状态选择对应类别,并在 choice 类型下返回各类别的概率。
决策模型的关键价值在于,输出结果不是单纯的文本描述,而是可被程序直接读取的结构化数据。
十、v0.35.0 的其他更新与修复
除了新增决策模型支持,Ollama v0.35.0 还包含以下改动。
| 改动 | 内容 |
|---|---|
| 设置页面优化 | 设置现在无需等待模型发现完成即可打开 |
| macOS 更新修复 | 修复启动时更新菜单和图标未反映可用更新的问题 |
| MLX 下载修复 | 修复 MLX 模型下载停滞后无限期挂起的问题 |
typical_p 兼容优化 |
请求包含已弃用的 typical_p 参数时,改为记录警告而不是直接失败 |
下面分别展开说明。
十一、设置页面不再等待模型发现
v0.35.0 中,设置页面现在可以在不等待模型发现完成的情况下打开。
更新说明为:
text
Settings now opens without waiting for model discovery.
也就是说,设置页面的打开不再依赖模型发现流程结束。
这一改动针对的是设置页面启动时与模型发现之间的等待关系。更新后,设置可以直接打开,而不需要等待模型发现完成。
十二、修复 macOS 启动时更新菜单和图标未正确显示的问题
v0.35.0 修复了 macOS 中与更新状态显示相关的问题。
更新说明指出,修复了在启动时,更新菜单和更新图标未能反映可用更新的问题。
原始说明为:
text
Fixed the macOS update menu and icon not reflecting an available update at startup.
修复内容涉及两个位置:
- 更新菜单
- 更新图标
修复场景则是应用启动时存在可用更新,但菜单和图标没有正确体现这一状态的问题。
十三、修复 MLX 模型下载停滞后无限期挂起的问题
v0.35.0 还修复了 MLX 模型下载相关的问题。
更新说明为:
text
Fixed stalled MLX model downloads hanging indefinitely.
该问题的表现是,MLX 模型下载在停滞后可能会无限期挂起。
此次更新对这一问题进行了修复,处理的重点是下载过程已经停滞,但任务仍持续处于挂起状态的情况。
十四、已弃用的 typical_p 参数不再导致请求失败
在 v0.35.0 中,包含已弃用参数 typical_p 的请求,处理方式发生了变化。
更新说明为:
text
Requests containing the deprecated typical_p parameter now log a warning instead of failing.
此前,包含已弃用 typical_p 参数的请求会失败。
在 v0.35.0 中,这类请求不会再因为该参数而直接失败,而是会记录一条警告信息。
涉及的参数名称为:
text
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 参数由请求失败改为记录警告 |
结语
Ollama v0.35.0 的重点在于决策模型能力的加入。
通过 /v1/systemone 接口,调用方可以向模型传递状态信息和一个或多个问题,并获得选择结果、概率、置信度或评分等结构化结果。接口支持 choice、noul、score 三种问题类型,覆盖多选一分类、条件成立概率判断以及有序标准评分等需求。
在官方示例中,针对"结账功能从上午 9 点开始返回 500 错误"的工单内容,模型选择了 bug 标签,并返回了 billing、bug、account 三个标签的概率以及置信度。
与此同时,v0.35.0 还优化了设置页面打开逻辑,修复了 macOS 启动时更新显示问题,修复了 MLX 模型下载无限期挂起问题,并将已弃用 typical_p 参数的处理方式从直接失败调整为记录警告。