fix: 移除 temperature 和 max_tokens 的硬编码默认值

如果配置中没有设置 temperature 或 max_tokens,不再传递这些参数给模型,
让模型使用自己的默认值,而不是硬编码 0.7。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
oudecheng 2026-05-25 12:58:15 +08:00
parent 86d48a3ec0
commit b3dc207ad1

View File

@ -612,10 +612,18 @@ impl OpenAIProvider {
message
}
}).collect::<Vec<_>>(),
"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();
}