From 729610beb01e01de7631536acf8a1e63d81054bb Mon Sep 17 00:00:00 2001 From: Papersnake Date: Fri, 6 Feb 2026 11:56:38 +0800 Subject: [PATCH] fix: set temperature to 1 --- relay/claude_handler.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/relay/claude_handler.go b/relay/claude_handler.go index 7e05116da..10b42cd98 100644 --- a/relay/claude_handler.go +++ b/relay/claude_handler.go @@ -2,6 +2,7 @@ package relay import ( "bytes" + "encoding/json" "fmt" "io" "net/http" @@ -14,6 +15,7 @@ import ( "github.com/QuantumNous/new-api/relay/helper" "github.com/QuantumNous/new-api/service" "github.com/QuantumNous/new-api/setting/model_setting" + "github.com/QuantumNous/new-api/setting/reasoning" "github.com/QuantumNous/new-api/types" "github.com/gin-gonic/gin" @@ -49,7 +51,17 @@ func ClaudeHelper(c *gin.Context, info *relaycommon.RelayInfo) (newAPIError *typ request.MaxTokens = uint(model_setting.GetClaudeSettings().GetDefaultMaxTokens(request.Model)) } - if model_setting.GetClaudeSettings().ThinkingAdapterEnabled && + if baseModel, effortLevel, ok := reasoning.TrimEffortSuffix(request.Model); ok && effortLevel != "" && + strings.HasPrefix(request.Model, "claude-opus-4-6") { + request.Model = baseModel + request.Thinking = &dto.Thinking{ + Type: "adaptive", + } + request.OutputConfig = json.RawMessage(fmt.Sprintf(`{"effort":"%s"}`, effortLevel)) + request.TopP = 0 + request.Temperature = common.GetPointer[float64](1.0) + info.UpstreamModelName = request.Model + } else if model_setting.GetClaudeSettings().ThinkingAdapterEnabled && strings.HasSuffix(request.Model, "-thinking") { if request.Thinking == nil { // 因为BudgetTokens 必须大于1024