fix(provider): add Ollama timeout configuration with 300s default

This commit is contained in:
liugangjian 2026-03-05 09:40:22 +08:00
parent 028605cfd0
commit 9549b0b9f6

View file

@ -84,12 +84,17 @@ func CreateProviderFromConfig(cfg *config.ModelConfig) (LLMProvider, string, err
if apiBase == "" { if apiBase == "" {
apiBase = getDefaultAPIBase(protocol) 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( return NewHTTPProviderWithMaxTokensFieldAndRequestTimeout(
cfg.APIKey, cfg.APIKey,
apiBase, apiBase,
cfg.Proxy, cfg.Proxy,
cfg.MaxTokensField, cfg.MaxTokensField,
cfg.RequestTimeout, requestTimeout,
), modelID, nil ), modelID, nil
case "litellm", "openrouter", "groq", "zhipu", "gemini", "nvidia", case "litellm", "openrouter", "groq", "zhipu", "gemini", "nvidia",
@ -103,12 +108,17 @@ func CreateProviderFromConfig(cfg *config.ModelConfig) (LLMProvider, string, err
if apiBase == "" { if apiBase == "" {
apiBase = getDefaultAPIBase(protocol) 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( return NewHTTPProviderWithMaxTokensFieldAndRequestTimeout(
cfg.APIKey, cfg.APIKey,
apiBase, apiBase,
cfg.Proxy, cfg.Proxy,
cfg.MaxTokensField, cfg.MaxTokensField,
cfg.RequestTimeout, requestTimeout,
), modelID, nil ), modelID, nil
case "anthropic": case "anthropic":