fix: thinking applies to claude 4 as well (#2943)

This commit is contained in:
Michael Neale
2025-06-17 02:58:00 +10:00
committed by GitHub
parent 28b5e6b6fe
commit cf9b821b19
@@ -454,7 +454,8 @@ pub fn create_request(
let model_name = model_config.model_name.to_string();
let is_o1 = model_name.starts_with("o1") || model_name.starts_with("goose-o1");
let is_o3 = model_name.starts_with("o3") || model_name.starts_with("goose-o3");
let is_claude_3_7_sonnet = model_name.contains("claude-3-7-sonnet"); // can be goose- or databricks-
let is_claude_sonnet =
model_name.contains("claude-3-7-sonnet") || model_name.contains("claude-4-sonnet"); // can be goose- or databricks-
// Only extract reasoning effort for O1/O3 models
let (model_name, reasoning_effort) = if is_o1 || is_o3 {
@@ -515,7 +516,7 @@ pub fn create_request(
// Add thinking parameters for Claude 3.7 Sonnet model when requested
let is_thinking_enabled = std::env::var("CLAUDE_THINKING_ENABLED").is_ok();
if is_claude_3_7_sonnet && is_thinking_enabled {
if is_claude_sonnet && is_thinking_enabled {
// Minimum budget_tokens is 1024
let budget_tokens = std::env::var("CLAUDE_THINKING_BUDGET")
.unwrap_or_else(|_| "16000".to_string())