Skip to content
This repository was archived by the owner on Mar 9, 2026. It is now read-only.
Open
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
21 changes: 9 additions & 12 deletions config_template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -178,18 +178,15 @@ apis:
max-input-chars: 128000
google:
models: # https://ai.google.dev/gemini-api/docs/models/gemini
gemini-1.5-pro-latest:
aliases: ["gmp", "gemini", "gemini-1.5-pro"]
max-input-chars: 392000
gemini-1.5-flash-latest:
aliases: ["gmf", "flash", "gemini-1.5-flash"]
max-input-chars: 392000
gemini-2.0-flash-001:
aliases: ["gm2f", "flash-2", "gemini-2-flash"]
max-input-chars: 4194304
gemini-2.0-flash-lite:
aliases: ["gm2fl", "flash-2-lite", "gemini-2-flash-lite"]
max-input-chars: 4194304
gemini-2.5-pro:
aliases: ["gemini", "gemini-2.5-pro"]
max-input-chars: 392000
gemini-2.5-flash:
aliases: ["flash", "gemini-2.5-flash"]
max-input-chars: 392000
gemini-flash-lite-latest:
aliases: ["flash-lite", "gemini-flash-lite"]
max-input-chars: 392000

ollama:
base-url: http://localhost:11434
Expand Down
5 changes: 4 additions & 1 deletion internal/google/google.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ import (
"github.com/openai/openai-go"
)

var gemini_global_messages = []proto.Message{{proto.RoleUser, "Default Gemini Message", []proto.ToolCall{}}}

var _ stream.Client = &Client{}

const emptyMessagesLimit uint = 300
Expand Down Expand Up @@ -105,6 +107,7 @@ func (c *Client) Request(ctx context.Context, request proto.Request) stream.Stre
MaxOutputTokens: 4096,
},
}
gemini_global_messages = append(gemini_global_messages, request.Messages...)

if request.Temperature != nil {
body.GenerationConfig.Temperature = *request.Temperature
Expand Down Expand Up @@ -213,7 +216,7 @@ func (s *Stream) Err() error { return s.err }
// Messages implements stream.Stream.
func (s *Stream) Messages() []proto.Message {
// Gemini does not support returning streamed messages after the fact.
return nil
return gemini_global_messages
}

// Next implements stream.Stream.
Expand Down