diff --git a/lightrag/kg/faiss_impl.py b/lightrag/kg/faiss_impl.py index 7d6a6dac..ee1f0d0c 100644 --- a/lightrag/kg/faiss_impl.py +++ b/lightrag/kg/faiss_impl.py @@ -180,7 +180,7 @@ class FaissVectorDBStorage(BaseVectorStorage): return [m["__id__"] for m in list_data] async def query( - self, query: str, top_k: int, query_embedding: list[float] = None + self, query: str, top_k: int, query_embedding: list[float] = None, metadata_filter: dict[str, Any] | None = None ) -> list[dict[str, Any]]: """ Search by a textual query; returns top_k results with their metadata + similarity distance. diff --git a/lightrag/kg/milvus_impl.py b/lightrag/kg/milvus_impl.py index f2368afe..35e6bd6d 100644 --- a/lightrag/kg/milvus_impl.py +++ b/lightrag/kg/milvus_impl.py @@ -1047,7 +1047,7 @@ class MilvusVectorDBStorage(BaseVectorStorage): return results async def query( - self, query: str, top_k: int, query_embedding: list[float] = None + self, query: str, top_k: int, query_embedding: list[float] = None, metadata_filter: dict[str, Any] | None = None ) -> list[dict[str, Any]]: # Ensure collection is loaded before querying self._ensure_collection_loaded() diff --git a/lightrag/kg/mongo_impl.py b/lightrag/kg/mongo_impl.py index 0c11022e..787d848d 100644 --- a/lightrag/kg/mongo_impl.py +++ b/lightrag/kg/mongo_impl.py @@ -2216,7 +2216,7 @@ class MongoVectorDBStorage(BaseVectorStorage): return list_data async def query( - self, query: str, top_k: int, query_embedding: list[float] = None + self, query: str, top_k: int, query_embedding: list[float] = None, metadata_filter: dict[str, Any] | None = None ) -> list[dict[str, Any]]: """Queries the vector database using Atlas Vector Search.""" if query_embedding is not None: diff --git a/lightrag/kg/nano_vector_db_impl.py b/lightrag/kg/nano_vector_db_impl.py index def5a83d..271619d6 100644 --- a/lightrag/kg/nano_vector_db_impl.py +++ b/lightrag/kg/nano_vector_db_impl.py @@ -137,7 +137,7 @@ class NanoVectorDBStorage(BaseVectorStorage): ) async def query( - self, query: str, top_k: int, query_embedding: list[float] = None + self, query: str, top_k: int, query_embedding: list[float] = None, metadata_filter: dict[str, Any] | None = None ) -> list[dict[str, Any]]: # Use provided embedding or compute it if query_embedding is not None: diff --git a/lightrag/kg/qdrant_impl.py b/lightrag/kg/qdrant_impl.py index de1d07e7..81351001 100644 --- a/lightrag/kg/qdrant_impl.py +++ b/lightrag/kg/qdrant_impl.py @@ -212,7 +212,7 @@ class QdrantVectorDBStorage(BaseVectorStorage): return results async def query( - self, query: str, top_k: int, query_embedding: list[float] = None + self, query: str, top_k: int, query_embedding: list[float] = None, metadata_filter: dict[str, Any] | None = None ) -> list[dict[str, Any]]: if query_embedding is not None: embedding = query_embedding