From b3dc207ad16863437ffbb07d229ff02c7424c467 Mon Sep 17 00:00:00 2001 From: oudecheng <13802883547@139.com> Date: Mon, 25 May 2026 12:58:15 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=A7=BB=E9=99=A4=20temperature=20?= =?UTF-8?q?=E5=92=8C=20max=5Ftokens=20=E7=9A=84=E7=A1=AC=E7=BC=96=E7=A0=81?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 如果配置中没有设置 temperature 或 max_tokens,不再传递这些参数给模型, 让模型使用自己的默认值,而不是硬编码 0.7。 Co-Authored-By: Claude Opus 4.7 --- src/providers/openai.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/providers/openai.rs b/src/providers/openai.rs index 15dde1d..cba07f8 100644 --- a/src/providers/openai.rs +++ b/src/providers/openai.rs @@ -612,10 +612,18 @@ impl OpenAIProvider { message } }).collect::>(), - "temperature": request.temperature.or(self.temperature).unwrap_or(0.7), - "max_tokens": request.max_tokens.or(self.max_tokens), }); + // 只有配置了才添加 temperature,否则让模型使用默认值 + if let Some(temp) = request.temperature.or(self.temperature) { + body["temperature"] = json!(temp); + } + + // 只有配置了才添加 max_tokens + if let Some(tokens) = request.max_tokens.or(self.max_tokens) { + body["max_tokens"] = json!(tokens); + } + for (key, value) in self.request_model_extra() { body[key] = value.clone(); }