diff --git a/internal/translator/claude/gemini/claude_gemini_request.go b/internal/translator/claude/gemini/claude_gemini_request.go index 1f25117a..a26ac51a 100644 --- a/internal/translator/claude/gemini/claude_gemini_request.go +++ b/internal/translator/claude/gemini/claude_gemini_request.go @@ -98,9 +98,8 @@ func ConvertGeminiRequestToClaude(modelName string, inputRawJSON []byte, stream // Temperature setting for controlling response randomness if temp := genConfig.Get("temperature"); temp.Exists() { out, _ = sjson.Set(out, "temperature", temp.Float()) - } - // Top P setting for nucleus sampling (filtered out if temperature is set) - if topP := genConfig.Get("topP"); topP.Exists() && !genConfig.Get("temperature").Exists() { + } else if topP := genConfig.Get("topP"); topP.Exists() { + // Top P setting for nucleus sampling (filtered out if temperature is set) out, _ = sjson.Set(out, "top_p", topP.Float()) } // Stop sequences configuration for custom termination conditions diff --git a/internal/translator/claude/openai/chat-completions/claude_openai_request.go b/internal/translator/claude/openai/chat-completions/claude_openai_request.go index 5b71ce70..41274628 100644 --- a/internal/translator/claude/openai/chat-completions/claude_openai_request.go +++ b/internal/translator/claude/openai/chat-completions/claude_openai_request.go @@ -110,10 +110,8 @@ func ConvertOpenAIRequestToClaude(modelName string, inputRawJSON []byte, stream // Temperature setting for controlling response randomness if temp := root.Get("temperature"); temp.Exists() { out, _ = sjson.Set(out, "temperature", temp.Float()) - } - - // Top P setting for nucleus sampling (filtered out if temperature is set) - if topP := root.Get("top_p"); topP.Exists() && !root.Get("temperature").Exists() { + } else if topP := root.Get("top_p"); topP.Exists() { + // Top P setting for nucleus sampling (filtered out if temperature is set) out, _ = sjson.Set(out, "top_p", topP.Float()) }