From 601744518d282a7b4ed117b3fff86b1edd9065bb Mon Sep 17 00:00:00 2001 From: Michael Neale Date: Tue, 3 Jun 2025 23:53:32 +1000 Subject: [PATCH] fix: new models have different messages for context length exceeded (#2763) --- crates/goose-llm/src/providers/databricks.rs | 2 ++ crates/goose/src/providers/databricks.rs | 2 ++ crates/goose/src/providers/snowflake.rs | 2 ++ 3 files changed, 6 insertions(+) diff --git a/crates/goose-llm/src/providers/databricks.rs b/crates/goose-llm/src/providers/databricks.rs index 13e0c1a2..7b91d6a2 100644 --- a/crates/goose-llm/src/providers/databricks.rs +++ b/crates/goose-llm/src/providers/databricks.rs @@ -138,6 +138,8 @@ impl DatabricksProvider { "reduce the length", "token count", "exceeds", + "exceed context limit", + "max_tokens", ]; if check_phrases.iter().any(|c| payload_str.contains(c)) { return Err(ProviderError::ContextLengthExceeded(payload_str)); diff --git a/crates/goose/src/providers/databricks.rs b/crates/goose/src/providers/databricks.rs index 7a04407a..bdca16bb 100644 --- a/crates/goose/src/providers/databricks.rs +++ b/crates/goose/src/providers/databricks.rs @@ -211,6 +211,8 @@ impl DatabricksProvider { "reduce the length", "token count", "exceeds", + "exceed context limit", + "max_tokens", ]; if check_phrases.iter().any(|c| payload_str.contains(c)) { return Err(ProviderError::ContextLengthExceeded(payload_str)); diff --git a/crates/goose/src/providers/snowflake.rs b/crates/goose/src/providers/snowflake.rs index dcd0ac44..f1c3ad10 100644 --- a/crates/goose/src/providers/snowflake.rs +++ b/crates/goose/src/providers/snowflake.rs @@ -333,6 +333,8 @@ impl SnowflakeProvider { "reduce the length", "token count", "exceeds", + "exceed context limit", + "max_tokens", ]; if check_phrases.iter().any(|c| payload_str.contains(c)) { return Err(ProviderError::ContextLengthExceeded("Request exceeds maximum context length. Please reduce the number of messages or content size.".to_string()));