Explorar o código

metadata expect value check error (#16210)

Jyong hai 1 mes
pai
achega
b8ef3149ef

+ 1 - 1
api/core/rag/retrieval/dataset_retrieval.py

@@ -870,7 +870,7 @@ class DatasetRetrieval:
                 for condition in metadata_filtering_conditions.conditions:  # type: ignore
                     metadata_name = condition.name
                     expected_value = condition.value
-                    if expected_value or condition.comparison_operator in ("empty", "not empty"):
+                    if expected_value is not None or condition.comparison_operator in ("empty", "not empty"):
                         if isinstance(expected_value, str):
                             expected_value = self._replace_metadata_filter_value(expected_value, inputs)
                         filters = self._process_metadata_filter_func(

+ 1 - 1
api/core/workflow/nodes/knowledge_retrieval/knowledge_retrieval_node.py

@@ -356,7 +356,7 @@ class KnowledgeRetrievalNode(LLMNode):
                     for condition in node_data.metadata_filtering_conditions.conditions:  # type: ignore
                         metadata_name = condition.name
                         expected_value = condition.value
-                        if expected_value or condition.comparison_operator in ("empty", "not empty"):
+                        if expected_value is not None or condition.comparison_operator in ("empty", "not empty"):
                             if isinstance(expected_value, str):
                                 expected_value = self.graph_runtime_state.variable_pool.convert_template(
                                     expected_value