From be19bbb141ef83e6d702dea080141de0a8b97980 Mon Sep 17 00:00:00 2001 From: andyma-star Date: Wed, 15 Apr 2026 12:45:12 +0100 Subject: [PATCH] fix(go): remove gemini-3-pro-preview and claude-3-haiku@20240307 --- go/plugins/googlegenai/README.md | 2 +- go/plugins/googlegenai/googleai_live_test.go | 2 +- go/plugins/googlegenai/models.go | 12 ++++++++++++ go/plugins/vertexai/modelgarden/models.go | 4 ---- go/samples/multipart-tools/main.go | 2 +- 5 files changed, 15 insertions(+), 7 deletions(-) diff --git a/go/plugins/googlegenai/README.md b/go/plugins/googlegenai/README.md index 426375fe1e..cb4974f6a3 100644 --- a/go/plugins/googlegenai/README.md +++ b/go/plugins/googlegenai/README.md @@ -83,7 +83,7 @@ Genkit automatically discovers available models supported by the [Go GenAI SDK]( Commonly used models include: -- **Gemini Series**: `gemini-3-pro-preview`, `gemini-3-flash-preview`, `gemini-2.5-flash`, `gemini-2.5-pro` +- **Gemini Series**: `gemini-3-flash-preview`, `gemini-2.5-flash`, `gemini-2.5-pro` - **Imagen Series**: `imagen-3.0-generate-001` - **Veo Series**: `veo-3.0-generate-001` diff --git a/go/plugins/googlegenai/googleai_live_test.go b/go/plugins/googlegenai/googleai_live_test.go index f5b2375bae..1b9af8d3cf 100644 --- a/go/plugins/googlegenai/googleai_live_test.go +++ b/go/plugins/googlegenai/googleai_live_test.go @@ -581,7 +581,7 @@ func TestGoogleAILive(t *testing.T) { } }) t.Run("multipart tool", func(t *testing.T) { - m := googlegenai.GoogleAIModel(g, "gemini-3-pro-preview") + m := googlegenai.GoogleAIModel(g, "gemini-2.5-pro") img64, err := fetchImgAsBase64() if err != nil { t.Fatal(err) diff --git a/go/plugins/googlegenai/models.go b/go/plugins/googlegenai/models.go index b95945e34f..b2b1a81010 100644 --- a/go/plugins/googlegenai/models.go +++ b/go/plugins/googlegenai/models.go @@ -107,6 +107,10 @@ const ( ) var ( + deprecatedGenAIModels = map[string]struct{}{ + "gemini-3-pro-preview": {}, + } + // eventually, Vertex AI and Google AI models will match, in the meantime, // keep them sepparated vertexAIModels = []string{ @@ -373,6 +377,9 @@ func listGenaiModels(ctx context.Context, client *genai.Client) (genaiModels, er name := strings.TrimPrefix(item.Name, "publishers/google/") name = strings.TrimPrefix(name, "models/") + if isDeprecatedGenAIModel(name) { + continue + } // The Vertex AI backend does not populate SupportedActions, // so we fall back to name-based categorization. @@ -399,3 +406,8 @@ func listGenaiModels(ctx context.Context, client *genai.Client) (genaiModels, er return models, nil } + +func isDeprecatedGenAIModel(name string) bool { + _, ok := deprecatedGenAIModels[name] + return ok +} diff --git a/go/plugins/vertexai/modelgarden/models.go b/go/plugins/vertexai/modelgarden/models.go index bbdef0654b..3f501fa615 100644 --- a/go/plugins/vertexai/modelgarden/models.go +++ b/go/plugins/vertexai/modelgarden/models.go @@ -37,10 +37,6 @@ var AnthropicModels = map[string]ai.ModelOptions{ Label: "Claude 3 Sonnet", Supports: &internal.Multimodal, }, - "claude-3-haiku@20240307": { - Label: "Claude 3 Haiku", - Supports: &internal.Multimodal, - }, "claude-3-opus@20240229": { Label: "Claude 3 Opus", Supports: &internal.Multimodal, diff --git a/go/samples/multipart-tools/main.go b/go/samples/multipart-tools/main.go index c9cb04bdc3..ffb86e4f1a 100644 --- a/go/samples/multipart-tools/main.go +++ b/go/samples/multipart-tools/main.go @@ -46,7 +46,7 @@ func main() { // Define a simple flow that uses the multipart tool genkit.DefineStreamingFlow(g, "cardFlow", func(ctx context.Context, input any, cb ai.ModelStreamCallback) (string, error) { resp, err := genkit.Generate(ctx, g, - ai.WithModelName("googleai/gemini-3-pro-preview"), + ai.WithModelName("googleai/gemini-2.5-pro"), ai.WithConfig(&genai.GenerateContentConfig{ Temperature: genai.Ptr[float32](1.0), ThinkingConfig: &genai.ThinkingConfig{