diff --git a/lib/crates/arc-llm/src/client.rs b/lib/crates/arc-llm/src/client.rs index 2d62684bd..8ec45f146 100644 --- a/lib/crates/arc-llm/src/client.rs +++ b/lib/crates/arc-llm/src/client.rs @@ -134,9 +134,13 @@ impl Client { /// Resolve the provider for a request. fn resolve_provider(&self, request: &Request) -> Result, SdkError> { + let catalog_provider = + crate::catalog::get_model_info(&request.model).map(|info| info.provider); + let provider_name = request .provider .as_deref() + .or(catalog_provider.as_deref()) .or(self.default_provider.as_deref()) .ok_or_else(|| SdkError::Configuration { message: "No provider specified and no default provider set".into(),