From 60086df3b55320d44b322f29487f8c27176a74d5 Mon Sep 17 00:00:00 2001 From: Ashwin Bharambe Date: Wed, 29 Oct 2025 11:11:26 -0700 Subject: [PATCH] fix: skip providers without validators in dynamic model listing Providers like ollama inherit from NeedsRequestProviderData but don't have provider_data_validator since they don't require per-request credentials. Check for validator existence before calling get_request_provider_data(). --- src/llama_stack/core/routing_tables/models.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/llama_stack/core/routing_tables/models.py b/src/llama_stack/core/routing_tables/models.py index c0dc8482a..5bd587a84 100644 --- a/src/llama_stack/core/routing_tables/models.py +++ b/src/llama_stack/core/routing_tables/models.py @@ -64,6 +64,11 @@ class ModelsRoutingTable(CommonRoutingTableImpl, Models): if not isinstance(provider, NeedsRequestProviderData): continue + # Check if provider has a validator (some providers like ollama don't need per-request credentials) + spec = getattr(provider, "__provider_spec__", None) + if not spec or not getattr(spec, "provider_data_validator", None): + continue + # Try to get validated provider_data for this provider # Returns None if validation fails (missing keys) or if no provider_data exists validated_data = provider.get_request_provider_data()