gemini: basic gemini API wrapper
diff --git a/llm/gem/gemini/gemini_test.go b/llm/gem/gemini/gemini_test.go
new file mode 100644
index 0000000..18ced45
--- /dev/null
+++ b/llm/gem/gemini/gemini_test.go
@@ -0,0 +1,33 @@
+package gemini
+
+import (
+ "context"
+ "os"
+ "testing"
+)
+
+func TestGenerateContent(t *testing.T) {
+ // TODO replace with local replay endpoint
+ m := Model{
+ Model: "models/gemini-1.5-flash",
+ APIKey: os.Getenv("GEMINI_API_KEY"),
+ }
+ if testing.Short() {
+ t.Skip("skipping test in short mode")
+ }
+ if m.APIKey == "" {
+ t.Skip("skipping test without API key")
+ }
+
+ res, err := m.GenerateContent(context.Background(), &Request{
+ Contents: []Content{{
+ Parts: []Part{{
+ Text: "What is the capital of France?",
+ }},
+ }},
+ })
+ if err != nil {
+ t.Fatal(err)
+ }
+ t.Logf("res: %+v", res)
+}