diff --git a/llama_stack/core/routing_tables/vector_stores.py b/llama_stack/core/routing_tables/vector_stores.py index d5e074c81..00205c3a1 100644 --- a/llama_stack/core/routing_tables/vector_stores.py +++ b/llama_stack/core/routing_tables/vector_stores.py @@ -67,44 +67,16 @@ class VectorStoresRoutingTable(CommonRoutingTableImpl): raise ModelNotFoundError(embedding_model) if model.model_type != ModelType.embedding: raise ModelTypeError(embedding_model, model.model_type, ModelType.embedding) - if "embedding_dimension" not in model.metadata: - raise ValueError(f"Model {embedding_model} does not have an embedding dimension") - try: - provider = self.impls_by_provider_id[provider_id] - except KeyError: - available_providers = list(self.impls_by_provider_id.keys()) - raise ValueError( - f"Provider '{provider_id}' not found in routing table. Available providers: {available_providers}" - ) from None - logger.warning( - "VectorStore is being deprecated in future releases in favor of VectorStore. Please migrate your usage accordingly." - ) - request = OpenAICreateVectorStoreRequestWithExtraBody( - name=vector_store_name or vector_store_id, - embedding_model=embedding_model, - embedding_dimension=model.metadata["embedding_dimension"], + vector_store = VectorStoreWithOwner( + identifier=vector_store_id, + type=ResourceType.vector_store.value, provider_id=provider_id, - provider_vector_store_id=provider_vector_store_id, + provider_resource_id=provider_vector_store_id, + embedding_model=embedding_model, + embedding_dimension=embedding_dimension, + vector_store_name=vector_store_name, ) - vector_store = await provider.openai_create_vector_store(request) - - vector_store_id = vector_store.id - actual_provider_vector_store_id = provider_vector_store_id or vector_store_id - logger.warning( - f"Ignoring vector_store_id {vector_store_id} and using vector_store_id {vector_store_id} instead. Setting VectorStore {vector_store_id} to VectorStore.vector_store_name" - ) - - vector_store_data = { - "identifier": vector_store_id, - "type": ResourceType.vector_store.value, - "provider_id": provider_id, - "provider_resource_id": actual_provider_vector_store_id, - "embedding_model": embedding_model, - "embedding_dimension": model.metadata["embedding_dimension"], - "vector_store_name": vector_store.name, - } - vector_store = TypeAdapter(VectorStoreWithOwner).validate_python(vector_store_data) await self.register_object(vector_store) return vector_store diff --git a/llama_stack/providers/inline/vector_io/faiss/faiss.py b/llama_stack/providers/inline/vector_io/faiss/faiss.py index 7b4c146a8..5e33d4ca3 100644 --- a/llama_stack/providers/inline/vector_io/faiss/faiss.py +++ b/llama_stack/providers/inline/vector_io/faiss/faiss.py @@ -242,7 +242,6 @@ class FaissVectorIOAdapter(OpenAIVectorStoreMixin, VectorIO, VectorStoresProtoco assert self.kvstore is not None if vector_store_id not in self.cache: - logger.warning(f"Vector DB {vector_store_id} not found") return await self.cache[vector_store_id].index.delete() diff --git a/llama_stack/providers/inline/vector_io/sqlite_vec/sqlite_vec.py b/llama_stack/providers/inline/vector_io/sqlite_vec/sqlite_vec.py index 1dcb9647f..37294f173 100644 --- a/llama_stack/providers/inline/vector_io/sqlite_vec/sqlite_vec.py +++ b/llama_stack/providers/inline/vector_io/sqlite_vec/sqlite_vec.py @@ -443,7 +443,6 @@ class SQLiteVecVectorIOAdapter(OpenAIVectorStoreMixin, VectorIO, VectorStoresPro async def unregister_vector_store(self, vector_store_id: str) -> None: if vector_store_id not in self.cache: - logger.warning(f"Vector DB {vector_store_id} not found") return await self.cache[vector_store_id].index.delete() del self.cache[vector_store_id] diff --git a/llama_stack/providers/utils/memory/openai_vector_store_mixin.py b/llama_stack/providers/utils/memory/openai_vector_store_mixin.py index bccb95871..6629fb965 100644 --- a/llama_stack/providers/utils/memory/openai_vector_store_mixin.py +++ b/llama_stack/providers/utils/memory/openai_vector_store_mixin.py @@ -333,7 +333,7 @@ class OpenAIVectorStoreMixin(ABC): @abstractmethod async def insert_chunks( self, - vector_store_id: str, + vector_db_id: str, chunks: list[Chunk], ttl_seconds: int | None = None, ) -> None: @@ -342,7 +342,7 @@ class OpenAIVectorStoreMixin(ABC): @abstractmethod async def query_chunks( - self, vector_store_id: str, query: Any, params: dict[str, Any] | None = None + self, vector_db_id: str, query: Any, params: dict[str, Any] | None = None ) -> QueryChunksResponse: """Query chunks from a vector database (provider-specific implementation).""" pass @@ -619,7 +619,7 @@ class OpenAIVectorStoreMixin(ABC): # TODO: Add support for ranking_options.ranker response = await self.query_chunks( - vector_store_id=vector_store_id, + vector_db_id=vector_store_id, query=search_query, params=params, ) @@ -813,7 +813,7 @@ class OpenAIVectorStoreMixin(ABC): ) else: await self.insert_chunks( - vector_store_id=vector_store_id, + vector_db_id=vector_store_id, chunks=chunks, ) vector_store_file_object.status = "completed" diff --git a/tests/integration/conftest.py b/tests/integration/conftest.py index a258eb1a0..041d10f10 100644 --- a/tests/integration/conftest.py +++ b/tests/integration/conftest.py @@ -37,6 +37,9 @@ def pytest_sessionstart(session): if "LLAMA_STACK_TEST_INFERENCE_MODE" not in os.environ: os.environ["LLAMA_STACK_TEST_INFERENCE_MODE"] = "replay" + if "LLAMA_STACK_LOGGING" not in os.environ: + os.environ["LLAMA_STACK_LOGGING"] = "all=warning" + if "SQLITE_STORE_DIR" not in os.environ: os.environ["SQLITE_STORE_DIR"] = tempfile.mkdtemp()