From 9549b0b9f6f606586129a5a213aaaa5c22188bfa Mon Sep 17 00:00:00 2001 From: liugangjian Date: Thu, 5 Mar 2026 09:40:22 +0800 Subject: [PATCH] fix(provider): add Ollama timeout configuration with 300s default --- pkg/providers/factory_provider.go | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/pkg/providers/factory_provider.go b/pkg/providers/factory_provider.go index 155317a3b..14be375cd 100644 --- a/pkg/providers/factory_provider.go +++ b/pkg/providers/factory_provider.go @@ -84,12 +84,17 @@ func CreateProviderFromConfig(cfg *config.ModelConfig) (LLMProvider, string, err if apiBase == "" { apiBase = getDefaultAPIBase(protocol) } + // Special handling for Ollama models - extend timeout to 300 seconds + requestTimeout := cfg.RequestTimeout + if protocol == "ollama" && requestTimeout <= 0 { + requestTimeout = 300 + } return NewHTTPProviderWithMaxTokensFieldAndRequestTimeout( cfg.APIKey, apiBase, cfg.Proxy, cfg.MaxTokensField, - cfg.RequestTimeout, + requestTimeout, ), modelID, nil case "litellm", "openrouter", "groq", "zhipu", "gemini", "nvidia", @@ -103,12 +108,17 @@ func CreateProviderFromConfig(cfg *config.ModelConfig) (LLMProvider, string, err if apiBase == "" { apiBase = getDefaultAPIBase(protocol) } + // Special handling for Ollama models - extend timeout to 300 seconds + requestTimeout := cfg.RequestTimeout + if protocol == "ollama" && requestTimeout <= 0 { + requestTimeout = 300 + } return NewHTTPProviderWithMaxTokensFieldAndRequestTimeout( cfg.APIKey, apiBase, cfg.Proxy, cfg.MaxTokensField, - cfg.RequestTimeout, + requestTimeout, ), modelID, nil case "anthropic":