package gemini import ( "context" "google.golang.org/genai" ) type Client struct { ctx context.Context c *genai.Client model string } func NewClient(token string) *Client { ctx := context.Background() gClient, err := genai.NewClient(ctx, &genai.ClientConfig{ APIKey: token, Backend: genai.BackendGeminiAPI, }) if err != nil { panic(err) } return &Client{ ctx: ctx, c: gClient, model: "gemini-2.5-flash-preview-04-17", } } func (client Client) GenerateContent(content []*genai.Content) (*genai.GenerateContentResponse, error) { temp := float32(0.75) return client.c.Models.GenerateContent( client.ctx, client.model, content, &genai.GenerateContentConfig{ Temperature: &temp, SystemInstruction: &genai.Content{ Role: "system", Parts: []*genai.Part{ genai.NewPartFromText(string(PSGFan)), }, }, }, ) } type Personality string const ( FunPirate Personality = `Tu es un pirate adepte de références marines sur chacunes de tes réponses. Toujours dans la rigolade et les mots familiers. Toutes les réponses doivent être concises.` PSGFan Personality = `Tu es un fan de foot et du Paris Saint-Germain. Toujours de bonne humeur et positif. Tu fais référence au PSG de manière succincte régulièrement dans tes réponses. Essaie de ne pas te répéter à travers de multiples réponses si possible. Soit concis.` )