From b29fdc2a0cb71d218af75df4599f85e5c1a75a90 Mon Sep 17 00:00:00 2001 From: Classic298 <27028174+Classic298@users.noreply.github.com> Date: Tue, 2 Dec 2025 21:38:06 +0100 Subject: [PATCH] Update milvus_multitenancy.py (#19695) --- .../vector/dbs/milvus_multitenancy.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/backend/open_webui/retrieval/vector/dbs/milvus_multitenancy.py b/backend/open_webui/retrieval/vector/dbs/milvus_multitenancy.py index 82dd322359..cd2ceed795 100644 --- a/backend/open_webui/retrieval/vector/dbs/milvus_multitenancy.py +++ b/backend/open_webui/retrieval/vector/dbs/milvus_multitenancy.py @@ -262,15 +262,23 @@ class MilvusClient(VectorDBBase): else: expr.append(f"metadata['{key}'] == {value}") - results = collection.query( + iterator = collection.query_iterator( expr=" and ".join(expr), output_fields=["id", "text", "metadata"], - limit=limit, + limit=limit if limit else -1, ) - ids = [res["id"] for res in results] - documents = [res["text"] for res in results] - metadatas = [res["metadata"] for res in results] + all_results = [] + while True: + batch = iterator.next() + if not batch: + iterator.close() + break + all_results.extend(batch) + + ids = [res["id"] for res in all_results] + documents = [res["text"] for res in all_results] + metadatas = [res["metadata"] for res in all_results] return GetResult(ids=[ids], documents=[documents], metadatas=[metadatas])