feat: move gemini_model to config

This commit is contained in:
StirGpea 2026-08-21 12:54:18 +00:00
parent 11fda03dbd
commit e3233ca26e
3 changed files with 9 additions and 3 deletions

View file

@ -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)
}

View file

@ -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
}

View file

@ -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
}