fix: ollama provider ignores api_key parameter to prevent builder error

Ollama is a local service that doesn't use API keys - the api_key parameter is now ignored to prevent it being misinterpreted as base_url
This commit is contained in:
Argenis 2026-02-15 09:47:57 -05:00 committed by GitHub
parent 322f24fd63
commit 64a64ccd3a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -98,9 +98,9 @@ pub fn create_provider(name: &str, api_key: Option<&str>) -> anyhow::Result<Box<
"openrouter" => Ok(Box::new(openrouter::OpenRouterProvider::new(api_key))),
"anthropic" => Ok(Box::new(anthropic::AnthropicProvider::new(api_key))),
"openai" => Ok(Box::new(openai::OpenAiProvider::new(api_key))),
"ollama" => Ok(Box::new(ollama::OllamaProvider::new(
api_key.filter(|k| !k.is_empty()),
))),
// Ollama is a local service that doesn't use API keys.
// The api_key parameter is ignored to avoid it being misinterpreted as a base_url.
"ollama" => Ok(Box::new(ollama::OllamaProvider::new(None))),
"gemini" | "google" | "google-gemini" => {
Ok(Box::new(gemini::GeminiProvider::new(api_key)))
}
@ -267,6 +267,9 @@ mod tests {
#[test]
fn factory_ollama() {
assert!(create_provider("ollama", None).is_ok());
// Ollama ignores the api_key parameter since it's a local service
assert!(create_provider("ollama", Some("dummy")).is_ok());
assert!(create_provider("ollama", Some("any-value-here")).is_ok());
}
#[test]