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)