From ff3384dad6e1721fd92432a630b426cd767938ff Mon Sep 17 00:00:00 2001 From: Daniele Martinoli Date: Fri, 28 Feb 2025 11:39:23 +0100 Subject: [PATCH] In case of missing provider_id, use the first one (if any) to register an ephemeral vector db Signed-off-by: Daniele Martinoli --- llama_stack/distribution/routers/routing_tables.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/llama_stack/distribution/routers/routing_tables.py b/llama_stack/distribution/routers/routing_tables.py index 80e9ecb7c..1a1142c52 100644 --- a/llama_stack/distribution/routers/routing_tables.py +++ b/llama_stack/distribution/routers/routing_tables.py @@ -309,13 +309,14 @@ class VectorDBsRoutingTable(CommonRoutingTableImpl, VectorDBs): if provider_vector_db_id is None: provider_vector_db_id = vector_db_id if provider_id is None: - # If provider_id not specified, use the only provider if it supports this shield type - if len(self.impls_by_provider_id) == 1: + if len(self.impls_by_provider_id) > 0: provider_id = list(self.impls_by_provider_id.keys())[0] + if len(self.impls_by_provider_id) > 1: + logger.warning( + f"No provider specified and multiple providers available. Arbitrarily selected the first provider {provider_id}." + ) else: - raise ValueError( - "No provider specified and multiple providers available. Please specify a provider_id." - ) + raise ValueError("No provider available. Please configure a vector_io provider.") model = await self.get_object_by_identifier("model", embedding_model) if model is None: raise ValueError(f"Model {embedding_model} not found")