Skip to content

Commit a02507d

Browse files
committed
add gemini-2.0-flash-exp model
1 parent c406f13 commit a02507d

File tree

3 files changed

+13
-6
lines changed

3 files changed

+13
-6
lines changed

go/plugins/googlegenai/models.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ const (
2121
gemini20FlashLitePrev = "gemini-2.0-flash-lite-preview"
2222
gemini20ProExp0205 = "gemini-2.0-pro-exp-02-05"
2323
gemini20FlashThinkingExp0121 = "gemini-2.0-flash-thinking-exp-01-21"
24+
gemini20FlashExp = "gemini-2.0-flash-exp"
2425

2526
gemini25ProExp0305 = "gemini-2.5-pro-exp-03-25"
2627
)
@@ -47,6 +48,7 @@ var (
4748
gemini20ProExp0205,
4849
gemini20FlashThinkingExp0121,
4950
gemini25ProExp0305,
51+
gemini20FlashExp,
5052
}
5153

5254
supportedGeminiModels = map[string]ai.ModelInfo{
@@ -83,6 +85,12 @@ var (
8385
},
8486
Supports: &gemini.Multimodal,
8587
},
88+
gemini20FlashExp: {
89+
Label: "Gemini 2.0 Flash Exp",
90+
Versions: []string{},
91+
Supports: &gemini.Multimodal,
92+
},
93+
8694
gemini20FlashLite: {
8795
Label: "Gemini 2.0 Flash Lite",
8896
Versions: []string{

go/plugins/internal/gemini/gemini.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,7 @@ func Generate(
272272
func convertRequest(client *genai.Client, model string, input *ai.ModelRequest, cache *genai.CachedContent) (*genai.GenerateContentConfig, error) {
273273
gc := genai.GenerateContentConfig{}
274274
gc.CandidateCount = genai.Ptr[int32](1)
275+
gc.ResponseModalities = []string{"TEXT", "IMAGE"}
275276
if c, ok := input.Config.(*ai.GenerationCommonConfig); ok && c != nil {
276277
if c.MaxOutputTokens != 0 {
277278
gc.MaxOutputTokens = genai.Ptr[int32](int32(c.MaxOutputTokens))
@@ -512,7 +513,7 @@ func translateResponse(resp *genai.GenerateContentResponse) *ai.ModelResponse {
512513
r.Usage = &ai.GenerationUsage{}
513514
if u := resp.UsageMetadata; u != nil {
514515
r.Usage.InputTokens = int(*u.PromptTokenCount)
515-
r.Usage.OutputTokens = int(*u.CandidatesTokenCount)
516+
// r.Usage.OutputTokens = int(*u.CandidatesTokenCount)
516517
r.Usage.TotalTokens = int(u.TotalTokenCount)
517518
}
518519
return r

go/samples/basic-gemini/main.go

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ package main
1717
import (
1818
"context"
1919
"errors"
20-
"fmt"
2120
"log"
2221

2322
"github.com/firebase/genkit/go/ai"
@@ -39,18 +38,17 @@ func main() {
3938

4039
// Define a simple flow that generates jokes about a given topic
4140
genkit.DefineFlow(g, "jokesFlow", func(ctx context.Context, input string) (string, error) {
42-
m := googlegenai.GoogleAIModel(g, "gemini-2.0-flash")
41+
m := googlegenai.GoogleAIModel(g, "gemini-2.0-flash-exp")
4342
if m == nil {
4443
return "", errors.New("jokesFlow: failed to find model")
4544
}
4645

4746
resp, err := genkit.Generate(ctx, g,
4847
ai.WithModel(m),
4948
ai.WithConfig(&ai.GenerationCommonConfig{
50-
Temperature: 1,
51-
Version: "gemini-2.0-flash-001",
49+
Temperature: 0.5,
5250
}),
53-
ai.WithPromptText(fmt.Sprintf(`Tell silly short jokes about %s`, input)))
51+
ai.WithPromptText(input))
5452
if err != nil {
5553
return "", err
5654
}

0 commit comments

Comments
 (0)