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().
This commit is contained in:
Ashwin Bharambe 2025-10-29 11:11:26 -07:00
parent e6023c1636
commit 60086df3b5

View file

@ -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()