diff --git a/api/apps/sdk/doc.py b/api/apps/sdk/doc.py index f53494541..aebf925cc 100644 --- a/api/apps/sdk/doc.py +++ b/api/apps/sdk/doc.py @@ -1446,6 +1446,9 @@ async def retrieval_test(tenant_id): metadata_condition = req.get("metadata_condition", {}) or {} metas = DocumentService.get_meta_by_kbs(kb_ids) doc_ids = meta_filter(metas, convert_conditions(metadata_condition), metadata_condition.get("logic", "and")) + # If metadata_condition has conditions but no docs match, return empty result + if not doc_ids and metadata_condition.get("conditions"): + return get_result(data={"total": 0, "chunks": [], "doc_aggs": {}}) if metadata_condition and not doc_ids: doc_ids = ["-999"] similarity_threshold = float(req.get("similarity_threshold", 0.2))