面向在本地运行模型的开发者,Ollama 此次预发布版修复了切换模型时残留推理设置导致请求失败的问题,并调整了草稿模型类型的识别方式。还新增了对固定选项进行评分的判定模型支持,开发者使用前需准备单独的文件和指令。发布说明
1. Responses 中推理设置的处理方式
使用 Responses API 的客户端,即使切换到不支持推理的模型,也可能在下一个请求中发送之前的 reasoning.effort 值。该值决定回答前执行多少推理步骤,残留在新模型的请求中会导致请求被拒绝。本次变更后,若未直接指定 think,则忽略残留推理设置,不支持推理的模型也能处理请求。PR #19010
if req.Think == nil {
c.Set("relax_thinking", true)
}宽松处理仅在用户未直接设置 think 时适用。直接指定值的优先级和验证保持不变,错误的推理级别名称仍会被视为错误。如果请求必须进行推理,最好显式启用 think,以确认模型是否支持。PR #19010
网页搜索后在内部发起的后续请求,也会复用此前解析的设置。这同时修复了搜索成功后,下一次回答却因模型不支持推理而报错的问题。PR #19010
2. 尽可能自动识别草稿模型类型
草稿模型是用于加速推理的辅助模型,如今大多数类型由运行服务器自动识别。对于普通草稿模型,Ollama 传递文件路径和预测 token 数,将类型选择交给 llama-server。与其说用户需手动指定的项目变了,不如说两个组件之间的职责发生了变化。PR #19064
MTP 辅助文件和 Eagle3 不适用自动识别,传递时仍会指定类型。对于拆分为多个分片的模型,也会检查后续文件中的识别标记。PR #19064
预测 token 数小于或等于 0 时,仍不添加草稿模型参数,维持原有关闭推理加速的行为。PR #19064
3. PPLX Decider v1.2 支持与准备条件
模型运行基础 MLX 新增了对 PPLX Decider v1.2 的支持。这一判定模型对问题选项进行评分,也能处理图像输入。PR #19072
该模型的非因果注意力不仅参考前面的输入,也参考后面的输入。因此,问题或状态变化后,前缀的计算结果无法直接沿用,实现中不会复用保存输入前缀计算结果的缓存。这是在参考后续信息与复用缓存之间作出的取舍。PR #19072
原文说明,模型已上架模型库,但用于组织分发内容的清单列表尚未创建,并以 0.40.7 为最低版本要求。
导入时需要单独的判定权重文件 readout.safetensors,以及判定与问题的组合配置文件。判定权重必须保持 BF16 数值精度格式。PR #19072
运行时,包含模型运行指令的配置文件 Modelfile 必须具备发布方的系统提示词,否则请求会被拒绝。PR #19072
每个请求包含 1~64 个问题,若超出一次可处理输入长度的上下文限制,则拆分问题列表。若单个问题加上公共输入后的长度也超过限制,则报错。PR #19072
4. 便利性与运维负担的平衡
好处在于减少切换模型时因沿用设置而中断对话的情况,并让草稿模型类型选择与运行服务器的识别能力相匹配。但判定模型拆分长请求时,会在每部分重新加入作为公共输入的状态和图像,可能增加输入处理量。PR #19072 未提供速度提升或资源用量的对比测量结果。
此次预发布版的核心在于改善请求兼容性,并扩大支持的模型范围。
