fix: ZenMux 节点自适应参数重试,兼容弃用 temperature 等模型

用户实测 anthropic/claude-sonnet-5 报 400:`temperature` is deprecated。
根因:节点无条件把 temperature/top_p/seed/max_tokens 塞进请求体,而 ZenMux
聚合的部分模型弃用/不支持这些采样参数,规则各家不一且随模型迭代变化。

- 新增 _diagnose_param:从 400 错误消息识别是哪个采样参数导致失败
- 请求改为重试循环:命中即剔除该参数(或把 max_tokens 改名为
  max_completion_tokens,适配 gpt-5 reasoning 系)后重试
- 只动可选采样参数,绝不触碰 model/messages;非参数类 400 不重试、不死循环
- 正常请求零额外开销;剔除动作打印到控制台,最终仍失败时提示已剔除项

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
rui40000
2026-07-24 14:30:57 +08:00
co-authored by Claude Fable 5
parent eff089c771
commit 9dd4fbd890
2 changed files with 66 additions and 3 deletions
+1
View File
@@ -733,6 +733,7 @@ ComfyUI-SDMatte 传 `aux_input="trimap"`,把模型推到了没训练过的输
模型类型:openai/gpt-5.4-nano [入$0.2/M 出$1.25/M]
价格换算,美元:0.000955,人民币:0.006876
```
- **自动参数兼容**: 部分模型弃用或不支持某些采样参数(如 `claude-sonnet-5` 弃用 `temperature`、gpt-5 reasoning 系要求 `max_completion_tokens`)。节点会在收到相关 400 错误时**自动剔除或改名该参数并重试**,无需手动调整;剔除动作会打印到 ComfyUI 控制台。正常请求不受影响、无额外开销。
**输入参数**:
- `api_key` (STRING): ZenMux 平台的 API Key(在 zenmux.ai 控制台获取)