summaryrefslogtreecommitdiff
path: root/internal/llm/provider.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-09-17 22:49:13 +0300
committerPaul Buetow <paul@buetow.org>2025-09-17 22:49:13 +0300
commitd059ae333fa1c89cb58d7fb56ead79cdba15d5db (patch)
treeae65ad59c8590f71232a6abefee312b72ddf6d3e /internal/llm/provider.go
parent88103657fb230bb41217a06aa5602ae23e7acb8b (diff)
chore(version): bump to v0.11.1 (gpt-5 defaults, timeouts, global stats, editor fix)v0.11.1
Diffstat (limited to 'internal/llm/provider.go')
-rw-r--r--internal/llm/provider.go22
1 files changed, 18 insertions, 4 deletions
diff --git a/internal/llm/provider.go b/internal/llm/provider.go
index 88c280c..84efaf9 100644
--- a/internal/llm/provider.go
+++ b/internal/llm/provider.go
@@ -92,10 +92,24 @@ func NewFromConfig(cfg Config, openAIAPIKey, copilotAPIKey string) (Client, erro
if strings.TrimSpace(openAIAPIKey) == "" {
return nil, errors.New("missing OPENAI_API_KEY for provider openai")
}
- // Set coding-friendly default temperature if none provided
- if cfg.OpenAITemperature == nil {
- t := 0.2
- cfg.OpenAITemperature = &t
+ // Default temperature selection:
+ // - When model is gpt-5*, prefer 1.0 by default (more exploratory).
+ // - Otherwise, prefer 0.2 by default (coding friendly).
+ // The app-wide defaults currently set provider temps to 0.2.
+ // If the user hasn't explicitly overridden and the model is gpt-5*,
+ // upgrade 0.2 → 1.0 to satisfy the requested default for gpt-5.
+ model := strings.ToLower(strings.TrimSpace(cfg.OpenAIModel))
+ if strings.HasPrefix(model, "gpt-5") {
+ if cfg.OpenAITemperature == nil {
+ v := 1.0
+ cfg.OpenAITemperature = &v
+ } else if *cfg.OpenAITemperature == 0.2 {
+ v := 1.0
+ cfg.OpenAITemperature = &v
+ }
+ } else if cfg.OpenAITemperature == nil {
+ v := 0.2
+ cfg.OpenAITemperature = &v
}
return newOpenAI(cfg.OpenAIBaseURL, cfg.OpenAIModel, openAIAPIKey, cfg.OpenAITemperature), nil
case "ollama":