diff --git a/docs/_static/llama-stack-spec.html b/docs/_static/llama-stack-spec.html index 9ddb070d7..956d82c05 100644 --- a/docs/_static/llama-stack-spec.html +++ b/docs/_static/llama-stack-spec.html @@ -17091,14 +17091,14 @@ "type": "string", "description": "The embedding model to use." }, - "embedding_dimension": { - "type": "integer", - "description": "The dimension of the embedding model." - }, "provider_id": { "type": "string", "description": "The identifier of the provider." }, + "embedding_dimension": { + "type": "integer", + "description": "The dimension of the embedding model." + }, "vector_db_name": { "type": "string", "description": "The name of the vector database." @@ -17111,7 +17111,8 @@ "additionalProperties": false, "required": [ "vector_db_id", - "embedding_model" + "embedding_model", + "provider_id" ], "title": "RegisterVectorDbRequest" }, diff --git a/docs/_static/llama-stack-spec.yaml b/docs/_static/llama-stack-spec.yaml index 94dc5c0f9..96efb193f 100644 --- a/docs/_static/llama-stack-spec.yaml +++ b/docs/_static/llama-stack-spec.yaml @@ -12708,12 +12708,12 @@ components: embedding_model: type: string description: The embedding model to use. - embedding_dimension: - type: integer - description: The dimension of the embedding model. provider_id: type: string description: The identifier of the provider. + embedding_dimension: + type: integer + description: The dimension of the embedding model. vector_db_name: type: string description: The name of the vector database. @@ -12725,6 +12725,7 @@ components: required: - vector_db_id - embedding_model + - provider_id title: RegisterVectorDbRequest RerankRequest: type: object diff --git a/llama_stack/apis/vector_dbs/vector_dbs.py b/llama_stack/apis/vector_dbs/vector_dbs.py index 47820fa0f..47adf2a12 100644 --- a/llama_stack/apis/vector_dbs/vector_dbs.py +++ b/llama_stack/apis/vector_dbs/vector_dbs.py @@ -90,8 +90,8 @@ class VectorDBs(Protocol): self, vector_db_id: str, embedding_model: str, + provider_id: str, embedding_dimension: int | None = 384, - provider_id: str | None = None, vector_db_name: str | None = None, provider_vector_db_id: str | None = None, ) -> VectorDB: diff --git a/llama_stack/core/routing_tables/vector_dbs.py b/llama_stack/core/routing_tables/vector_dbs.py index 497894064..d5d27579f 100644 --- a/llama_stack/core/routing_tables/vector_dbs.py +++ b/llama_stack/core/routing_tables/vector_dbs.py @@ -47,20 +47,11 @@ class VectorDBsRoutingTable(CommonRoutingTableImpl, VectorDBs): self, vector_db_id: str, embedding_model: str, + provider_id: str, embedding_dimension: int | None = 384, - provider_id: str | None = None, provider_vector_db_id: str | None = None, vector_db_name: str | None = None, ) -> VectorDB: - if provider_id is None: - 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 available. Please configure a vector_io provider.") model = await lookup_model(self, embedding_model) if model is None: raise ModelNotFoundError(embedding_model)