From c326b2f2d654c51823c3ad82a71a1898ad3c5d12 Mon Sep 17 00:00:00 2001 From: "JF.Hsiong" Date: Fri, 18 Apr 2025 19:16:45 +0800 Subject: [PATCH] feat: optimize metadata recursive strategy --- .../knowledge_retrieval/knowledge_retrieval_node.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/api/core/workflow/nodes/knowledge_retrieval/knowledge_retrieval_node.py b/api/core/workflow/nodes/knowledge_retrieval/knowledge_retrieval_node.py index bda728812c..9f95b0466b 100644 --- a/api/core/workflow/nodes/knowledge_retrieval/knowledge_retrieval_node.py +++ b/api/core/workflow/nodes/knowledge_retrieval/knowledge_retrieval_node.py @@ -360,11 +360,14 @@ class KnowledgeRetrievalNode(LLMNode): sub_filters_result: ColumnElement temp_filters_result: ColumnElement if temp_filters and sub_filters: - temp_all_filters = sub_filters + temp_filters if logical_operator == "and": # type: ignore - sub_filters_result = and_(*temp_all_filters) + all_sub_filters = and_(*sub_filters) + all_temp_filters = and_(*temp_filters) + sub_filters_result = and_(all_temp_filters, all_sub_filters) else: - sub_filters_result = or_(*temp_all_filters) + all_sub_filters = or_(*sub_filters) + all_temp_filters = or_(*temp_filters) + sub_filters_result = or_(all_sub_filters, all_temp_filters) filters.append(sub_filters_result) return filters