summaryrefslogtreecommitdiff
path: root/internal/llmutils/client.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/llmutils/client.go')
-rw-r--r--internal/llmutils/client.go29
1 files changed, 18 insertions, 11 deletions
diff --git a/internal/llmutils/client.go b/internal/llmutils/client.go
index 9bd39ee..2f3da55 100644
--- a/internal/llmutils/client.go
+++ b/internal/llmutils/client.go
@@ -11,24 +11,31 @@ import (
// NewClientFromApp builds an llm.Client using app config and environment keys.
func NewClientFromApp(cfg appconfig.App) (llm.Client, error) {
llmCfg := llm.Config{
- Provider: cfg.Provider,
- OpenAIBaseURL: cfg.OpenAIBaseURL,
- OpenAIModel: cfg.OpenAIModel,
- OpenAITemperature: cfg.OpenAITemperature,
- OllamaBaseURL: cfg.OllamaBaseURL,
- OllamaModel: cfg.OllamaModel,
- OllamaTemperature: cfg.OllamaTemperature,
- CopilotBaseURL: cfg.CopilotBaseURL,
- CopilotModel: cfg.CopilotModel,
- CopilotTemperature: cfg.CopilotTemperature,
+ Provider: cfg.Provider,
+ OpenAIBaseURL: cfg.OpenAIBaseURL,
+ OpenAIModel: cfg.OpenAIModel,
+ OpenAITemperature: cfg.OpenAITemperature,
+ OpenRouterBaseURL: cfg.OpenRouterBaseURL,
+ OpenRouterModel: cfg.OpenRouterModel,
+ OpenRouterTemperature: cfg.OpenRouterTemperature,
+ OllamaBaseURL: cfg.OllamaBaseURL,
+ OllamaModel: cfg.OllamaModel,
+ OllamaTemperature: cfg.OllamaTemperature,
+ CopilotBaseURL: cfg.CopilotBaseURL,
+ CopilotModel: cfg.CopilotModel,
+ CopilotTemperature: cfg.CopilotTemperature,
}
oaKey := os.Getenv("HEXAI_OPENAI_API_KEY")
if strings.TrimSpace(oaKey) == "" {
oaKey = os.Getenv("OPENAI_API_KEY")
}
+ orKey := os.Getenv("HEXAI_OPENROUTER_API_KEY")
+ if strings.TrimSpace(orKey) == "" {
+ orKey = os.Getenv("OPENROUTER_API_KEY")
+ }
cpKey := os.Getenv("HEXAI_COPILOT_API_KEY")
if strings.TrimSpace(cpKey) == "" {
cpKey = os.Getenv("COPILOT_API_KEY")
}
- return llm.NewFromConfig(llmCfg, oaKey, cpKey)
+ return llm.NewFromConfig(llmCfg, oaKey, orKey, cpKey)
}