diff options
| author | Paul Bütow <1224732+snonux@users.noreply.github.com> | 2026-02-02 20:55:36 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-02-02 20:55:36 +0200 |
| commit | da01d65da337cc2f6c99d8236140f8fb45c6bd5e (patch) | |
| tree | 4887ab977b8a92165e180dd3d3c7323df7e6172b /internal/llm/openai.go | |
| parent | 7194696eb8c4c5bd50f69df96e9a6b87cec1f049 (diff) | |
| parent | 791cd282ec143c9bbb44eba3b2271f1573272ba5 (diff) | |
Merge pull request #2 from florianbuetow/feature-timeout-config
feat: add configurable request timeout for LLM calls
Diffstat (limited to 'internal/llm/openai.go')
| -rw-r--r-- | internal/llm/openai.go | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/internal/llm/openai.go b/internal/llm/openai.go index b97111d..6bc3a7c 100644 --- a/internal/llm/openai.go +++ b/internal/llm/openai.go @@ -77,14 +77,21 @@ type oaStreamChunk struct { // newOpenAI constructs an OpenAI client using explicit configuration values. // The apiKey may be empty; calls will fail until a valid key is supplied. func newOpenAI(baseURL, model, apiKey string, defaultTemp *float64) Client { + return newOpenAIWithTimeout(baseURL, model, apiKey, defaultTemp, 0) +} + +func newOpenAIWithTimeout(baseURL, model, apiKey string, defaultTemp *float64, timeoutSec int) Client { if strings.TrimSpace(baseURL) == "" { baseURL = "https://api.openai.com/v1" } if strings.TrimSpace(model) == "" { model = "gpt-4.1" } + if timeoutSec <= 0 { + timeoutSec = 30 + } return openAIClient{ - httpClient: &http.Client{Timeout: 30 * time.Second}, + httpClient: &http.Client{Timeout: time.Duration(timeoutSec) * time.Second}, apiKey: apiKey, baseURL: baseURL, defaultModel: model, |
