diff --git a/llama_stack/distribution/routers/vector_io.py b/llama_stack/distribution/routers/vector_io.py index 4bd5952dc..f350f17e5 100644 --- a/llama_stack/distribution/routers/vector_io.py +++ b/llama_stack/distribution/routers/vector_io.py @@ -97,11 +97,14 @@ class VectorIORouter(VectorIO): vector_db_id: str, chunks: list[Chunk], ttl_seconds: int | None = None, + params: dict[str, Any] | None = None, ) -> None: logger.debug( f"VectorIORouter.insert_chunks: {vector_db_id}, {len(chunks)} chunks, ttl_seconds={ttl_seconds}, chunk_ids={[chunk.metadata['document_id'] for chunk in chunks[:3]]}{' and more...' if len(chunks) > 3 else ''}", ) - return await self.routing_table.get_provider_impl(vector_db_id).insert_chunks(vector_db_id, chunks, ttl_seconds) + return await self.routing_table.get_provider_impl(vector_db_id).insert_chunks( + vector_db_id, chunks, ttl_seconds, params + ) async def query_chunks( self, diff --git a/llama_stack/providers/remote/vector_io/chroma/chroma.py b/llama_stack/providers/remote/vector_io/chroma/chroma.py index cc38553ff..db11903cb 100644 --- a/llama_stack/providers/remote/vector_io/chroma/chroma.py +++ b/llama_stack/providers/remote/vector_io/chroma/chroma.py @@ -178,6 +178,7 @@ class ChromaVectorIOAdapter(VectorIO, VectorDBsProtocolPrivate): vector_db_id: str, chunks: list[Chunk], ttl_seconds: int | None = None, + params: dict[str, Any] | None = None, ) -> None: index = await self._get_and_cache_vector_db_index(vector_db_id) diff --git a/llama_stack/providers/remote/vector_io/milvus/milvus.py b/llama_stack/providers/remote/vector_io/milvus/milvus.py index f697579fd..168ca6aa3 100644 --- a/llama_stack/providers/remote/vector_io/milvus/milvus.py +++ b/llama_stack/providers/remote/vector_io/milvus/milvus.py @@ -183,6 +183,7 @@ class MilvusVectorIOAdapter(VectorIO, VectorDBsProtocolPrivate): vector_db_id: str, chunks: list[Chunk], ttl_seconds: int | None = None, + params: dict[str, Any] | None = None, ) -> None: index = await self._get_and_cache_vector_db_index(vector_db_id) if not index: diff --git a/llama_stack/providers/remote/vector_io/pgvector/pgvector.py b/llama_stack/providers/remote/vector_io/pgvector/pgvector.py index 96f16146e..afdd8fb8f 100644 --- a/llama_stack/providers/remote/vector_io/pgvector/pgvector.py +++ b/llama_stack/providers/remote/vector_io/pgvector/pgvector.py @@ -215,6 +215,7 @@ class PGVectorVectorIOAdapter(VectorIO, VectorDBsProtocolPrivate): vector_db_id: str, chunks: list[Chunk], ttl_seconds: int | None = None, + params: dict[str, Any] | None = None, ) -> None: index = await self._get_and_cache_vector_db_index(vector_db_id) await index.insert_chunks(chunks) diff --git a/llama_stack/providers/remote/vector_io/qdrant/qdrant.py b/llama_stack/providers/remote/vector_io/qdrant/qdrant.py index 3a73c57cd..e00087d48 100644 --- a/llama_stack/providers/remote/vector_io/qdrant/qdrant.py +++ b/llama_stack/providers/remote/vector_io/qdrant/qdrant.py @@ -370,12 +370,7 @@ class QdrantVectorIOAdapter(OpenAIVectorStoreMixin, VectorIO, VectorDBsProtocolP if params is not None: distance_metric = params.get("distance_metric") - # Create metadata dict with distance_metric if provided - metadata = None - if distance_metric is not None: - metadata = {"distance_metric": distance_metric} - - await index.insert_chunks(chunks, metadata=metadata) + await index.insert_chunks(chunks, distance_metric=distance_metric) async def query_chunks( self, diff --git a/llama_stack/providers/remote/vector_io/weaviate/weaviate.py b/llama_stack/providers/remote/vector_io/weaviate/weaviate.py index 5ecfce31d..13d734322 100644 --- a/llama_stack/providers/remote/vector_io/weaviate/weaviate.py +++ b/llama_stack/providers/remote/vector_io/weaviate/weaviate.py @@ -188,6 +188,7 @@ class WeaviateVectorIOAdapter( vector_db_id: str, chunks: list[Chunk], ttl_seconds: int | None = None, + params: dict[str, Any] | None = None, ) -> None: index = await self._get_and_cache_vector_db_index(vector_db_id) if not index: