Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions go/genkit/genkit.go
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ func WithPromptDir(dir string) GenkitOption {
// // Assumes a prompt file at ./prompts/jokePrompt.prompt
// g := genkit.Init(ctx,
// genkit.WithPlugins(&googlegenai.GoogleAI{}),
// genkit.WithDefaultModel("googleai/gemini-2.0-flash"),
// genkit.WithDefaultModel("googleai/gemini-2.5-flash"),
// genkit.WithPromptDir("./prompts"),
// )
//
Expand Down Expand Up @@ -556,7 +556,7 @@ func LookupTool(g *Genkit, name string) ai.Tool {
// // Define the prompt
// capitalPrompt := genkit.DefinePrompt(g, "findCapital",
// ai.WithDescription("Finds the capital of a country."),
// ai.WithModelName("googleai/gemini-1.5-flash"), // Specify the model
// ai.WithModelName("googleai/gemini-2.5-flash"), // Specify the model
// ai.WithSystem("You are a helpful geography assistant."),
// ai.WithPrompt("What is the capital of {{country}}?"),
// ai.WithInputType(GeoInput{Country: "USA"}),
Expand Down Expand Up @@ -637,7 +637,7 @@ func GenerateWithRequest(ctx context.Context, g *Genkit, actionOpts *ai.Generate
// Example:
//
// resp, err := genkit.Generate(ctx, g,
// ai.WithModelName("googleai/gemini-2.0-flash"),
// ai.WithModelName("googleai/gemini-2.5-flash"),
// ai.WithPrompt("Write a short poem about clouds."),
// ai.WithConfig(&genai.GenerateContentConfig{MaxOutputTokens: 50}),
// )
Expand Down
16 changes: 8 additions & 8 deletions go/plugins/googlecloud/generate_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@ func TestGenerateTelemetry_PipelineIntegration(t *testing.T) {

// Create span using the TracerProvider - this triggers the full pipeline
ctx := context.Background()
_, span := f.tracer.Start(ctx, "googleai/gemini-2.0-pro-flash")
_, span := f.tracer.Start(ctx, "googleai/gemini-2.5-pro")

span.SetAttributes(
attribute.String("genkit:name", "googleai/gemini-2.0-pro-flash"),
attribute.String("genkit:name", "googleai/gemini-2.5-pro"),
attribute.String("genkit:metadata:subtype", "model"),
attribute.String("genkit:path", "/{chatFlow,t:flow}/{generate,t:action}"),
attribute.String("genkit:input", inputJSON),
Expand Down Expand Up @@ -74,11 +74,11 @@ func TestGenerateTelemetry_MetricCapture(t *testing.T) {
name: "successful generation captures all metrics",
attrs: map[string]string{
"genkit:type": "action",
"genkit:name": "googleai/gemini-2.0-pro-flash",
"genkit:name": "googleai/gemini-2.5-pro",
"genkit:metadata:subtype": "model",
"genkit:path": "/{chatFlow,t:flow}/{generate,t:action}",
},
inputJSON: `{"model":"googleai/gemini-2.5-flash","messages":[{"content":[{"text":"Hello world"}],"role":"user"}]}`,
inputJSON: `{"model":"googleai/gemini-2.5-pro","messages":[{"content":[{"text":"Hello world"}],"role":"user"}]}`,
outputJSON: `{"message":{"content":[{"text":"Hello! How can I help you today?"}],"role":"model"},"usage":{"inputTokens":12,"outputTokens":8,"inputCharacters":11,"outputCharacters":33,"inputImages":1,"outputImages":0},"latencyMs":342.5}`,
expectMetrics: true,
expectedStatus: "success",
Expand All @@ -98,11 +98,11 @@ func TestGenerateTelemetry_MetricCapture(t *testing.T) {
name: "failed generation captures error metrics",
attrs: map[string]string{
"genkit:type": "action",
"genkit:name": "googleai/gemini-2.0-pro-flash",
"genkit:name": "googleai/gemini-2.5-pro",
"genkit:metadata:subtype": "model",
"genkit:path": "/{errorFlow,t:flow}/{generate,t:action}",
},
inputJSON: `{"model":"googleai/gemini-2.5-flash","messages":[{"content":[{"text":"Invalid prompt"}],"role":"user"}]}`,
inputJSON: `{"model":"googleai/gemini-2.5-pro","messages":[{"content":[{"text":"Invalid prompt"}],"role":"user"}]}`,
outputJSON: `{"usage":{"inputCharacters":14}}`,
expectMetrics: true,
expectedStatus: "failure",
Expand All @@ -116,11 +116,11 @@ func TestGenerateTelemetry_MetricCapture(t *testing.T) {
name: "generation with video and audio captures multimedia metrics",
attrs: map[string]string{
"genkit:type": "action",
"genkit:name": "googleai/gemini-2.0-pro-flash",
"genkit:name": "googleai/gemini-2.5-pro-flash",
"genkit:metadata:subtype": "model",
"genkit:path": "/{multimediaFlow,t:flow}/{generate,t:action}",
},
inputJSON: `{"model":"googleai/gemini-2.5-flash","messages":[{"content":[{"text":"Analyze this video and audio"}],"role":"user"}]}`,
inputJSON: `{"model":"googleai/gemini-2.5-pro","messages":[{"content":[{"text":"Analyze this video and audio"}],"role":"user"}]}`,
outputJSON: `{"message":{"content":[{"text":"Analysis complete"}],"role":"model"},"usage":{"inputTokens":5,"outputTokens":3,"inputCharacters":26,"outputCharacters":17,"inputImages":0,"outputImages":1,"inputVideos":2,"outputVideos":0,"inputAudioFiles":1,"outputAudioFiles":0},"latencyMs":1250.3}`,
expectMetrics: true,
expectedStatus: "success",
Expand Down
6 changes: 3 additions & 3 deletions go/plugins/googlegenai/cache_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ func TestGetContentForCache_Invalid(t *testing.T) {
},
},
}
err := validateContextCacheRequest(req, "gemini-1.5-fash-001")
err := validateContextCacheRequest(req, "gemini-2.5-fash")
if err == nil {
t.Fatal("expecting error, system instructions are not supported with Context Cache")
}
Expand All @@ -89,7 +89,7 @@ func TestValidateContextCacheRequest_HasTools(t *testing.T) {
req := &ai.ModelRequest{
Tools: []*ai.ToolDefinition{{Name: "someTool"}},
}
err := validateContextCacheRequest(req, "gemini-1.5-flash-001")
err := validateContextCacheRequest(req, "gemini-2.5-flash")
if err == nil {
t.Fatal("expected error if Tools are present")
}
Expand All @@ -100,7 +100,7 @@ func TestValidateContextCacheRequest_HasTools(t *testing.T) {

func TestValidateContextCacheRequest_Valid(t *testing.T) {
req := &ai.ModelRequest{}
err := validateContextCacheRequest(req, "gemini-1.5-flash-001")
err := validateContextCacheRequest(req, "gemini-2.5-flash")
if err != nil {
t.Fatalf("did not expect error, got: %v", err)
}
Expand Down
12 changes: 6 additions & 6 deletions go/plugins/googlegenai/googleai_live_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ func TestGoogleAILive(t *testing.T) {
ctx := context.Background()

g := genkit.Init(ctx,
genkit.WithDefaultModel("googleai/gemini-2.0-flash"),
genkit.WithDefaultModel("googleai/gemini-2.5-flash"),
genkit.WithPlugins(&googlegenai.GoogleAI{APIKey: apiKey}),
)

Expand Down Expand Up @@ -359,7 +359,7 @@ func TestGoogleAILive(t *testing.T) {
ai.WithMessages(
ai.NewUserMessage(
ai.NewTextPart("do you what animal is in the image?"),
ai.NewMediaPart("image/jpg", "data:image/jpg;base64,"+i),
ai.NewMediaPart("image/jpeg", "data:image/jpeg;base64,"+i),
),
),
)
Expand Down Expand Up @@ -396,7 +396,7 @@ func TestGoogleAILive(t *testing.T) {
ai.WithMessages(
ai.NewUserMessage(
ai.NewTextPart("do you know who's in the image?"),
ai.NewDataPart("data:image/jpg;base64,"+i),
ai.NewDataPart("data:image/jpeg;base64,"+i),
),
),
)
Expand All @@ -408,7 +408,7 @@ func TestGoogleAILive(t *testing.T) {
}
})
t.Run("image generation", func(t *testing.T) {
m := googlegenai.GoogleAIModel(g, "gemini-2.0-flash-preview-image-generation")
m := googlegenai.GoogleAIModel(g, "gemini-2.5-flash-image")
resp, err := genkit.Generate(ctx, g,
ai.WithConfig(genai.GenerateContentConfig{
ResponseModalities: []string{"IMAGE", "TEXT"},
Expand Down Expand Up @@ -602,8 +602,8 @@ func TestCacheHelper(t *testing.T) {

func fetchImgAsBase64() (string, error) {
// CC0 license image
imgUrl := "https://pd.w.org/2025/07/896686fbbcd9990c9.84605288-2048x1365.jpg"
resp, err := http.Get(imgUrl)
imgURL := "https://pd.w.org/2025/07/896686fbbcd9990c9.84605288-2048x1365.jpg"
resp, err := http.Get(imgURL)
if err != nil {
return "", err
}
Expand Down
10 changes: 5 additions & 5 deletions go/plugins/googlegenai/vertexai_live_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,11 @@ func TestVertexAILive(t *testing.T) {

ctx := context.Background()
g := genkit.Init(ctx,
genkit.WithDefaultModel("vertexai/gemini-2.0-flash"),
genkit.WithDefaultModel("vertexai/gemini-2.5-flash"),
genkit.WithPlugins(&googlegenai.VertexAI{ProjectID: projectID, Location: location}),
)

embedder := googlegenai.VertexAIEmbedder(g, "textembedding-gecko@003")
embedder := googlegenai.VertexAIEmbedder(g, "gemini-embedding-001")

gablorkenTool := genkit.DefineTool(g, "gablorken", "use this tool when the user asks to calculate a gablorken",
func(ctx *ai.ToolContext, input struct {
Expand Down Expand Up @@ -267,7 +267,7 @@ func TestVertexAILive(t *testing.T) {
if location != "global" {
t.Skipf("image generation in Vertex AI is only supported in region: global, got: %s", location)
}
m := googlegenai.VertexAIModel(g, "gemini-2.0-flash-preview-image-generation")
m := googlegenai.VertexAIModel(g, "gemini-2.5-flash-image")
resp, err := genkit.Generate(ctx, g,
ai.WithConfig(genai.GenerateContentConfig{
ResponseModalities: []string{"IMAGE", "TEXT"},
Expand Down Expand Up @@ -332,7 +332,7 @@ func TestVertexAILive(t *testing.T) {
t.Skipf("thinking in Vertex AI is only supported in these regions: [global, us-central1], got: %q", location)
}

m := googlegenai.VertexAIModel(g, "gemini-2.5-flash-preview-05-20")
m := googlegenai.VertexAIModel(g, "gemini-2.5-flash")
resp, err := genkit.Generate(ctx, g,
ai.WithConfig(
genai.GenerateContentConfig{
Expand Down Expand Up @@ -364,7 +364,7 @@ func TestVertexAILive(t *testing.T) {
t.Skipf("thinking in Vertex AI is only supported in these regions: [global, us-central1], got: %q", location)
}

m := googlegenai.VertexAIModel(g, "gemini-2.5-flash-preview-05-20")
m := googlegenai.VertexAIModel(g, "gemini-2.5-flash")
resp, err := genkit.Generate(ctx, g,
ai.WithConfig(
genai.GenerateContentConfig{
Expand Down
2 changes: 1 addition & 1 deletion go/samples/basic-gemini-with-context/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ func main() {
// Define a simple flow that generates jokes about a given topic with a context of bananas
genkit.DefineFlow(g, "contextFlow", func(ctx context.Context, input string) (string, error) {
resp, err := genkit.Generate(ctx, g,
ai.WithModelName("googleai/gemini-2.0-flash"),
ai.WithModelName("googleai/gemini-2.5-flash"),
ai.WithConfig(&genai.GenerateContentConfig{
Temperature: genai.Ptr[float32](1.0),
}),
Expand Down
3 changes: 1 addition & 2 deletions go/samples/cache-gemini/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ package main
import (
"context"
"errors"

"os"

"github.com/firebase/genkit/go/ai"
Expand All @@ -37,7 +36,7 @@ type duneQuestionInput struct {
func main() {
ctx := context.Background()
g := genkit.Init(ctx,
genkit.WithDefaultModel("googleai/gemini-2.5-flash-preview-04-17"),
genkit.WithDefaultModel("googleai/gemini-2.5-flash"),
genkit.WithPlugins(&googlegenai.GoogleAI{}),
)

Expand Down
3 changes: 1 addition & 2 deletions go/samples/code-execution-gemini/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ import (
"context"
"errors"
"fmt"

"strings"

"github.com/firebase/genkit/go/ai"
Expand All @@ -35,7 +34,7 @@ func main() {

// Define a flow to demonstrate code execution
genkit.DefineFlow(g, "codeExecutionFlow", func(ctx context.Context, _ any) (string, error) {
m := googlegenai.GoogleAIModel(g, "gemini-2.5-flash-preview-04-17")
m := googlegenai.GoogleAIModel(g, "gemini-2.5-flash")
if m == nil {
return "", errors.New("failed to find model")
}
Expand Down
4 changes: 2 additions & 2 deletions go/samples/coffee-shop/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -99,11 +99,11 @@ type testAllCoffeeFlowsOutput struct {
func main() {
ctx := context.Background()
g := genkit.Init(ctx,
genkit.WithDefaultModel("googleai/gemini-2.0-flash"),
genkit.WithDefaultModel("googleai/gemini-2.5-flash"),
genkit.WithPlugins(&googlegenai.GoogleAI{}),
)

m := googlegenai.GoogleAIModel(g, "gemini-2.0-flash")
m := googlegenai.GoogleAIModel(g, "gemini-2.5-flash")
simpleGreetingPrompt := genkit.DefinePrompt(g, "simpleGreeting2",
ai.WithPrompt(simpleGreetingPromptTemplate),
ai.WithModel(m),
Expand Down
2 changes: 1 addition & 1 deletion go/samples/files-api-vision/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ func main() {
// Use Files API URI directly with Genkit (now supported!)
fmt.Println("Analyzing image with Genkit using Files API URI...")
resp, err := genkit.Generate(ctx, g,
ai.WithModelName("googleai/gemini-2.0-flash"),
ai.WithModelName("googleai/gemini-2.5-flash"),
ai.WithMessages(
ai.NewUserMessage(
ai.NewTextPart("What do you see in this image?"),
Expand Down
2 changes: 1 addition & 1 deletion go/samples/imagen-gemini/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ func main() {

// Define a simple flow that generates an image of a given topic
genkit.DefineFlow(g, "imageFlow", func(ctx context.Context, input string) ([]string, error) {
m := googlegenai.GoogleAIModel(g, "gemini-2.0-flash-exp")
m := googlegenai.GoogleAIModel(g, "gemini-2.5-flash-image")
if m == nil {
return nil, errors.New("imageFlow: failed to find model")
}
Expand Down
2 changes: 1 addition & 1 deletion go/samples/mcp-ception/mcp_ception.go
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ func mcpSelfConnection() {
// Initialize Genkit with Google AI for the client
g := genkit.Init(ctx,
genkit.WithPlugins(&googlegenai.GoogleAI{}),
genkit.WithDefaultModel("googleai/gemini-2.0-flash"),
genkit.WithDefaultModel("googleai/gemini-2.5-flash"),
)

// Server process is spawned automatically via stdio
Expand Down
4 changes: 2 additions & 2 deletions go/samples/mcp-client/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ func clientExample() {
}

response, err := genkit.Generate(ctx, g,
ai.WithModelName("googleai/gemini-2.5-pro-preview-05-06"),
ai.WithModelName("googleai/gemini-2.5-pro"),
ai.WithPrompt("Convert the current time from New York to London timezone."),
ai.WithTools(toolRefs...),
ai.WithToolChoice(ai.ToolChoiceAuto),
Expand Down Expand Up @@ -109,7 +109,7 @@ func managerExample() {
}

response, err := genkit.Generate(ctx, g,
ai.WithModelName("googleai/gemini-2.5-pro-preview-05-06"),
ai.WithModelName("googleai/gemini-2.5-pro"),
ai.WithPrompt("What time is it in New York and Tokyo?"),
ai.WithTools(toolRefs...),
ai.WithToolChoice(ai.ToolChoiceAuto),
Expand Down
2 changes: 1 addition & 1 deletion go/samples/mcp-server/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ func client() {
logger.FromContext(ctx).Info("Starting demo: Fetch and summarize content")

response, err := genkit.Generate(ctx, g,
ai.WithModelName("googleai/gemini-2.5-pro-preview-05-06"),
ai.WithModelName("googleai/gemini-2.5-pro"),
ai.WithPrompt("Fetch content from https://httpbin.org/json and give me a summary of what you find"),
ai.WithTools(toolRefs...),
ai.WithToolChoice(ai.ToolChoiceAuto),
Expand Down
2 changes: 1 addition & 1 deletion go/samples/menu/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ func main() {
ctx := context.Background()
g := genkit.Init(ctx, genkit.WithPlugins(&googlegenai.VertexAI{}))

model := googlegenai.VertexAIModel(g, "gemini-2.0-flash")
model := googlegenai.VertexAIModel(g, "gemini-2.5-flash")
embedder := googlegenai.VertexAIEmbedder(g, "text-embedding-004")

if err := setup01(g, model); err != nil {
Expand Down
2 changes: 1 addition & 1 deletion go/samples/partials-and-helpers/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ func main() {
})

g := genkit.Init(ctx,
genkit.WithDefaultModel("googleai/gemini-2.0-flash"),
genkit.WithDefaultModel("googleai/gemini-2.5-flash"),
genkit.WithPlugins(&googlegenai.GoogleAI{}),
)

Expand Down
2 changes: 1 addition & 1 deletion go/samples/prompts-dir/prompts/example.prompt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
model: googleai/gemini-1.5-flash
model: googleai/gemini-2.5-flash
config:
temperature: 0.9
input:
Expand Down
2 changes: 1 addition & 1 deletion go/samples/prompts/prompts/countries.prompt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
model: googleai/gemini-2.0-flash
model: googleai/gemini-2.5-flash
config:
temperature: 0.5
output:
Expand Down
2 changes: 1 addition & 1 deletion go/samples/rag/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ func main() {
}

simpleQaPrompt := genkit.DefinePrompt(g, "simpleQaPrompt",
ai.WithModelName("googleai/gemini-2.0-flash"),
ai.WithModelName("googleai/gemini-2.5-flash"),
ai.WithPrompt(simpleQaPromptTemplate),
ai.WithInputType(simpleQaPromptInput{}),
ai.WithOutputFormat(ai.OutputFormatText),
Expand Down
2 changes: 1 addition & 1 deletion go/samples/vectorsearch-biqguery/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ func main() {
Location: vectorsearchPlugin.Location,
}, vectorsearchPlugin))

model := googlegenai.VertexAIModel(g, "gemini-2.0-flash")
model := googlegenai.VertexAIModel(g, "gemini-2.5-flash")

// Create a BigQuery client.
bqClient, err := bigquery.NewClient(ctx, vectorsearchPlugin.ProjectID)
Expand Down
2 changes: 1 addition & 1 deletion go/samples/vectorsearch-firestore/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ func main() {
Location: vectorsearchPlugin.Location,
}, vectorsearchPlugin))

model := googlegenai.VertexAIModel(g, "gemini-2.0-flash")
model := googlegenai.VertexAIModel(g, "gemini-2.5-flash")

databaseId := "${FIRESTORE_DATABASE_ID}" // Replace with your Firestore database ID
collectionName := "${FIRESTORE_COLLECTION_NAME}" // Replace with your Firestore collection name
Expand Down
Loading