summaryrefslogtreecommitdiff
path: root/doConnect.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-09-01 00:29:48 -0500
committerJeff Carr <[email protected]>2025-09-01 00:29:48 -0500
commit4a800a7cfd6e8d59b021ff1b5a0ea9d42b89b7b3 (patch)
treef6343d4cf86e121e5874f85502a4822613e54093 /doConnect.go
parenteba85c6b97dbbab8b9b437e557a3dd5e6de41984 (diff)
attempts to submit data to the Gemini API
Diffstat (limited to 'doConnect.go')
-rw-r--r--doConnect.go35
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)
}