From e3233ca26e07951649ec9cc930bcbb86e37adf11 Mon Sep 17 00:00:00 2001 From: StirGpea Date: Fri, 21 Aug 2026 12:54:18 +0000 Subject: [PATCH] feat: move gemini_model to config --- cmd/pievr/main.go | 2 +- internal/config/config.go | 6 ++++++ internal/gemini/client.go | 4 ++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/cmd/pievr/main.go b/cmd/pievr/main.go index fa9806d..515f32f 100644 --- a/cmd/pievr/main.go +++ b/cmd/pievr/main.go @@ -24,7 +24,7 @@ func main() { defer cancel() // Initialize Gemini client - geminiCli, err := gemini.NewClient(ctx, cfg.GeminiApiKey, cfg.GeminiBaseURL) + geminiCli, err := gemini.NewClient(ctx, cfg.GeminiApiKey, cfg.GeminiBaseURL, cfg.GeminiModel) if err != nil { log.Fatalf("Failed to create Gemini client: %v", err) } diff --git a/internal/config/config.go b/internal/config/config.go index e88346a..04db685 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -9,6 +9,7 @@ type Config struct { TelegramToken string `json:"telegram_token"` GeminiApiKey string `json:"gemini_api_key"` GeminiBaseURL string `json:"gemini_base_url"` + GeminiModel string `json:"gemini_model"` } func Load(path string) (*Config, error) { @@ -24,5 +25,10 @@ func Load(path string) (*Config, error) { return nil, err } + // Set default model if not provided + if cfg.GeminiModel == "" { + cfg.GeminiModel = "gemini-2.5-flash" + } + return &cfg, nil } diff --git a/internal/gemini/client.go b/internal/gemini/client.go index dd0e96b..3b1c1e6 100644 --- a/internal/gemini/client.go +++ b/internal/gemini/client.go @@ -15,7 +15,7 @@ type Client struct { model string } -func NewClient(ctx context.Context, apiKey, baseURL string) (*Client, error) { +func NewClient(ctx context.Context, apiKey, baseURL, modelName string) (*Client, error) { var opts []option.ClientOption if apiKey != "" { opts = append(opts, option.WithAPIKey(apiKey)) @@ -43,7 +43,7 @@ func NewClient(ctx context.Context, apiKey, baseURL string) (*Client, error) { return &Client{ client: c, - model: "gemini-2.5-flash", // Default model for now + model: modelName, }, nil }