typical_p is no longer supported breaks existing clients that cannot omit the parameter

这个报错通常发生在 Ollama 升级后,第三方客户端(例如 SillyTavern)仍在请求里发送已废弃的 typical_p 参数时。优先排查客户端是否强制附带该参数,并考虑将 Ollama 升级到已恢复兼容的版本。

快速结论:这个报错通常发生在 Ollama 升级后,第三方客户端(例如 SillyTavern)仍在请求里发送已废弃的 typical_p 参数时。优先排查客户端是否强制附带该参数,并考虑将 Ollama 升级到已恢复兼容的版本。

适用环境:Ollama 0.34.1(受影响版本,0.34.4 同样复现),已在 0.35.0 恢复兼容;客户端为 SillyTavern 1.18.0;CPU 为 AMD,GPU 为 Radeon RX 9060XT(16GB);Ollama 与 SillyTavern 均运行在 Docker 容器中;多个模型均可复现。

最快修复方案:升级 Ollama 到 0.35.0 或更高版本。Issue 评论中已验证:在 0.34.4 下请求返回 {"error":"typical_p is no longer supported"},升级到 0.35.0 后相同请求正常返回生成结果。

注意事项:该兼容修复来自后续 PR,并非在 0.34.1 上通过配置绕过;如果你无法升级 Ollama,则需要在客户端侧想办法不再发送 typical_p,但 Issue 中明确指出 SillyTavern 本身没有提供取消该参数的能力,因此客户端侧规避可能不可行。

问题场景

用户在 Docker 中运行 Ollama 0.34.1,并通过 SillyTavern 1.18.0 作为前端客户端进行对话。升级 Ollama 后,所有消息生成请求开始失败。SillyTavern 的 AI Response Configuration 中暴露了 Typical P 参数,取值范围 0.0–1.0,即使设为 1.0(理论上等于禁用该采样),SillyTavern 仍会把 typical_p 字段写入 API 请求,而 Ollama 0.34.1 会直接拒绝整个请求。

报错原文

API error: typical_p is no longer supported

带 typical_p 的最小复现请求(Ollama 0.34.4)返回:

{"version":"0.34.4"}
{"error":"typical_p is no longer supported"}

原因分析

Ollama 在某个 PR 中移除了对 typical_p 的支持,导致服务端对该参数的策略从“忽略”变为“拒绝”。Issue 作者怀疑的破坏性改动来自 PR #18448。问题并不是参数值本身无效,而是只要请求体中存在 typical_p 字段,整个请求就会被驳回。对于像 SillyTavern 这样跨多个后端统一暴露生成参数、且不提供“取消/移除参数”开关的第三方客户端,用户无法从客户端侧去掉该字段,于是升级 Ollama 就直接打断了原本可用的对话功能。

环境排查

  • 确认 Ollama 版本:受影响版本为 0.34.1,0.34.4 亦复现;0.35.0 已恢复正常。
  • 确认客户端版本:SillyTavern 1.18.0。
  • 确认部署方式:Ollama 与 SillyTavern 均运行在 Docker 容器中。
  • 确认客户端请求体中是否包含 typical_p 字段(即使值为 1.0 也会触发)。
  • 确认模型:Issue 中说明多个模型均可复现,与具体模型无关。
  • Issue 中未提供 Python、CUDA、PyTorch 相关信息,因此无需按这些项排查。

解决步骤

  1. 先确认当前 Ollama 版本,判断是否落在受影响区间(0.34.1 至 0.34.4)。
  2. 将 Ollama 升级到 0.35.0 或更高版本;Issue 评论中给出的发布链接为 v0.35.0。
  3. 若使用 Docker 部署,按你的部署方式拉取并重启到新版本镜像后重试。
  4. 若暂时无法升级,可优先尝试在客户端侧停止发送 typical_p;但 Issue 明确指出 SillyTavern 未提供取消该参数的方式,因此这一步可能无法实现。

验证方法

用带 typical_p 的最小请求验证版本行为。在 0.34.4 上会得到错误:

$ (curl -s localhost:11434/api/version ; curl -s localhost:11434/api/generate -d '{"model":"qwen2.5:0.5b","prompt":"hello","options":{"typical_p":1},"stream":false}') | jq -c '{version,response,error}|del(..|nulls)'
{"version":"0.34.4"}
{"error":"typical_p is no longer supported"}

升级到 0.35.0 后,同样请求应正常返回生成内容:

$ (curl -s localhost:11434/api/version ; curl -s localhost:11434/api/generate -d '{"model":"qwen2.5:0.5b","prompt":"hello","options":{"typical_p":1},"stream":false}') | jq -c '{version,response,error}|del(..|nulls)'
{"version":"0.35.0"}
{"response":"Hello! How can I assist you today?"}

随后在 SillyTavern 中重新发送消息,确认不再出现 typical_p is no longer supported。

参考来源

ollama/ollama #18542

ollama/ollama PR #18448

ollama/ollama PR #18627

ollama/ollama v0.35.0 release

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 26829

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注