diff --git a/crates/goose/src/providers/formats/gcpvertexai.rs b/crates/goose/src/providers/formats/gcpvertexai.rs index b4c57e56ba9c..5bc94841c7dd 100644 --- a/crates/goose/src/providers/formats/gcpvertexai.rs +++ b/crates/goose/src/providers/formats/gcpvertexai.rs @@ -81,6 +81,8 @@ pub enum ClaudeVersion { Sonnet37, /// Claude 3.5 Haiku Haiku35, + /// Claude Sonnet 4 + Sonnet4, /// Generic Claude model for custom or new versions Generic(String), } @@ -108,6 +110,7 @@ impl fmt::Display for GcpVertexAIModel { ClaudeVersion::Sonnet35V2 => "claude-3-5-sonnet-v2@20241022", ClaudeVersion::Sonnet37 => "claude-3-7-sonnet@20250219", ClaudeVersion::Haiku35 => "claude-3-5-haiku@20241022", + ClaudeVersion::Sonnet4 => "claude-sonnet-4@20250514", ClaudeVersion::Generic(name) => name, }, Self::Gemini(version) => match version { @@ -125,7 +128,7 @@ impl fmt::Display for GcpVertexAIModel { impl GcpVertexAIModel { /// Returns the default GCP location for the model. /// - /// Each model family has a well-known location: + /// Each model family has a well-known location based on availability: /// - Claude models default to Ohio (us-east5) /// - Gemini models default to Iowa (us-central1) pub fn known_location(&self) -> GcpLocation { @@ -146,6 +149,7 @@ impl TryFrom<&str> for GcpVertexAIModel { "claude-3-5-sonnet-v2@20241022" => Ok(Self::Claude(ClaudeVersion::Sonnet35V2)), "claude-3-7-sonnet@20250219" => Ok(Self::Claude(ClaudeVersion::Sonnet37)), "claude-3-5-haiku@20241022" => Ok(Self::Claude(ClaudeVersion::Haiku35)), + "claude-sonnet-4@20250514" => Ok(Self::Claude(ClaudeVersion::Sonnet4)), "gemini-1.5-pro-002" => Ok(Self::Gemini(GeminiVersion::Pro15)), "gemini-2.0-flash-001" => Ok(Self::Gemini(GeminiVersion::Flash20)), "gemini-2.0-pro-exp-02-05" => Ok(Self::Gemini(GeminiVersion::Pro20Exp)), @@ -340,6 +344,7 @@ mod tests { "claude-3-5-sonnet-v2@20241022", "claude-3-7-sonnet@20250219", "claude-3-5-haiku@20241022", + "claude-sonnet-4@20250514", "gemini-1.5-pro-002", "gemini-2.0-flash-001", "gemini-2.0-pro-exp-02-05", @@ -362,6 +367,7 @@ mod tests { ("claude-3-5-sonnet-v2@20241022", GcpLocation::Ohio), ("claude-3-7-sonnet@20250219", GcpLocation::Ohio), ("claude-3-5-haiku@20241022", GcpLocation::Ohio), + ("claude-sonnet-4@20250514", GcpLocation::Ohio), ("gemini-1.5-pro-002", GcpLocation::Iowa), ("gemini-2.0-flash-001", GcpLocation::Iowa), ("gemini-2.0-pro-exp-02-05", GcpLocation::Iowa), diff --git a/crates/goose/src/providers/gcpvertexai.rs b/crates/goose/src/providers/gcpvertexai.rs index f0b6d6ef5b70..afec862d66a8 100644 --- a/crates/goose/src/providers/gcpvertexai.rs +++ b/crates/goose/src/providers/gcpvertexai.rs @@ -430,6 +430,7 @@ impl Provider for GcpVertexAIProvider { GcpVertexAIModel::Claude(ClaudeVersion::Sonnet35V2), GcpVertexAIModel::Claude(ClaudeVersion::Sonnet37), GcpVertexAIModel::Claude(ClaudeVersion::Haiku35), + GcpVertexAIModel::Claude(ClaudeVersion::Sonnet4), GcpVertexAIModel::Gemini(GeminiVersion::Pro15), GcpVertexAIModel::Gemini(GeminiVersion::Flash20), GcpVertexAIModel::Gemini(GeminiVersion::Pro20Exp), diff --git a/ui/desktop/src/components/settings/models/GooseModels.tsx b/ui/desktop/src/components/settings/models/GooseModels.tsx index 2b73dc4d7f46..4badf402839a 100644 --- a/ui/desktop/src/components/settings/models/GooseModels.tsx +++ b/ui/desktop/src/components/settings/models/GooseModels.tsx @@ -25,8 +25,9 @@ export const gooseModels: Model[] = [ { id: 22, name: 'claude-3-5-sonnet-v2@20241022', provider: 'GCP Vertex AI' }, { id: 23, name: 'claude-3-5-sonnet@20240620', provider: 'GCP Vertex AI' }, { id: 24, name: 'claude-3-5-haiku@20241022', provider: 'GCP Vertex AI' }, - { id: 25, name: 'gemini-2.0-pro-exp-02-05', provider: 'GCP Vertex AI' }, - { id: 26, name: 'gemini-2.0-flash-001', provider: 'GCP Vertex AI' }, - { id: 27, name: 'gemini-1.5-pro-002', provider: 'GCP Vertex AI' }, - { id: 28, name: 'gemini-2.5-pro-exp-03-25', provider: 'GCP Vertex AI' }, + { id: 25, name: 'claude-sonnet-4@20250514', provider: 'GCP Vertex AI' }, + { id: 26, name: 'gemini-2.0-pro-exp-02-05', provider: 'GCP Vertex AI' }, + { id: 27, name: 'gemini-2.0-flash-001', provider: 'GCP Vertex AI' }, + { id: 28, name: 'gemini-1.5-pro-002', provider: 'GCP Vertex AI' }, + { id: 29, name: 'gemini-2.5-pro-exp-03-25', provider: 'GCP Vertex AI' }, ];