summaryrefslogtreecommitdiff
path: root/doConnect.go.notyet
diff options
context:
space:
mode:
Diffstat (limited to 'doConnect.go.notyet')
-rw-r--r--doConnect.go.notyet28
1 files changed, 28 insertions, 0 deletions
diff --git a/doConnect.go.notyet b/doConnect.go.notyet
new file mode 100644
index 0000000..52fdc7c
--- /dev/null
+++ b/doConnect.go.notyet
@@ -0,0 +1,28 @@
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+
+ "github.com/google/generative-ai-go/genai"
+ "google.golang.org/api/option"
+)
+
+// doConnect initializes and returns a Gemini client.
+// It reads the API key from the GEMINI_API_KEY environment variable.
+func doConnect() (*genai.GenerativeModel, error) {
+ apiKey := os.Getenv("GEMINI_API_KEY")
+ if apiKey == "" {
+ return nil, fmt.Errorf("GEMINI_API_KEY environment variable not set")
+ }
+
+ ctx := context.Background()
+ client, err := genai.NewClient(ctx, option.WithAPIKey(apiKey))
+ if err != nil {
+ return nil, fmt.Errorf("failed to create new genai client: %w", err)
+ }
+
+ model := client.GenerativeModel("gemini-pro")
+ return model, nil
+}