diff options
Diffstat (limited to 'doConnect.go')
| -rw-r--r-- | doConnect.go | 35 |
1 files changed, 26 insertions, 9 deletions
diff --git a/doConnect.go b/doConnect.go index b7abd40..8eb2674 100644 --- a/doConnect.go +++ b/doConnect.go @@ -10,25 +10,25 @@ import ( ) // doConnect initializes the Gemini client and handles the request flow. -func doConnect() (*genai.Client, error) { +func doConnect() error { apiKey := os.Getenv("GEMINI_API_KEY") if apiKey == "" { - return nil, log.Errorf("GEMINI_API_KEY environment variable not set") + return log.Errorf("GEMINI_API_KEY environment variable not set") } - ctx := context.Background() - client, err := genai.NewClient(ctx, &genai.ClientConfig{APIKey: apiKey}) + me.ctx = context.Background() + var err error + me.client, err = genai.NewClient(me.ctx, &genai.ClientConfig{APIKey: apiKey}) if err != nil { - return nil, log.Errorf("failed to create new genai client: %w", err) + return log.Errorf("failed to create new genai client: %w", err) } - return client, err + return nil } // sampleHello sends a hardcoded prompt to the model and prints the response. -func simpleHello(client *genai.Client) error { +func simpleHello() error { log.Info("Sending 'hello, how are you' to the Gemini API...") - ctx := context.Background() // Create the parts slice parts := []*genai.Part{ @@ -37,7 +37,24 @@ func simpleHello(client *genai.Client) error { content := []*genai.Content{{Parts: parts}} - resp, err := client.Models.GenerateContent(ctx, "gemini-2.5-flash", content, nil) + resp, err := me.client.Models.GenerateContent(me.ctx, "gemini-2.5-flash", content, nil) + if err != nil { + return log.Errorf("error sending message: %v", err) + } + + log.Info("Response from API:") + for _, cand := range resp.Candidates { + if cand.Content != nil { + for _, part := range cand.Content.Parts { + fmt.Println(part) + } + } + } + return nil +} + +func submitChat(content []*genai.Content) error { + resp, err := me.client.Models.GenerateContent(me.ctx, "gemini-2.5-flash", content, nil) if err != nil { return log.Errorf("error sending message: %v", err) } |
