all: more gemini key plumbing
diff --git a/llm/conversation/convo_test.go b/llm/conversation/convo_test.go
index 3fb1750..af8a904 100644
--- a/llm/conversation/convo_test.go
+++ b/llm/conversation/convo_test.go
@@ -23,7 +23,7 @@
return nil
})
- apiKey := cmp.Or(os.Getenv("OUTER_SKETCH_ANTHROPIC_API_KEY"), os.Getenv("ANTHROPIC_API_KEY"))
+ apiKey := cmp.Or(os.Getenv("OUTER_SKETCH_MODEL_API_KEY"), os.Getenv("ANTHROPIC_API_KEY"))
srv := &ant.Service{
APIKey: apiKey,
HTTPC: rr.Client(),
diff --git a/llm/gem/gem.go b/llm/gem/gem.go
index 4327123..fa9f3b6 100644
--- a/llm/gem/gem.go
+++ b/llm/gem/gem.go
@@ -25,6 +25,7 @@
// Fields should not be altered concurrently with calling any method on Service.
type Service struct {
HTTPC *http.Client // defaults to http.DefaultClient if nil
+ URL string // Gemini API URL, uses the gemini package default if empty
APIKey string // must be non-empty
Model string // defaults to DefaultModel if empty
MaxTokens int // defaults to DefaultMaxTokens if zero
@@ -486,9 +487,10 @@
// Create a Gemini model instance
model := gemini.Model{
- Model: "models/" + cmp.Or(s.Model, DefaultModel),
- APIKey: s.APIKey,
- HTTPC: cmp.Or(s.HTTPC, http.DefaultClient),
+ Model: "models/" + cmp.Or(s.Model, DefaultModel),
+ Endpoint: s.URL,
+ APIKey: s.APIKey,
+ HTTPC: cmp.Or(s.HTTPC, http.DefaultClient),
}
// Send the request to Gemini with retry logic