Skip to content

Commit 7e78b7f

Browse files
authored
fix: Multiple recall error when the previous node has no data (#3665)
1 parent 638a09d commit 7e78b7f

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

apps/application/flow/step_node/reranker_node/impl/base_reranker_node.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,12 @@ def reset_result_list(result_list: List[Document], document_list: List[Document]
6161
return r
6262

6363

64+
def get_none_result(question):
65+
return NodeResult(
66+
{'document_list': [], 'question': question,
67+
'result_list': [], 'result': ''}, {})
68+
69+
6470
class BaseRerankerNode(IRerankerNode):
6571
def save_context(self, details, workflow_manage):
6672
self.context['document_list'] = details.get('document_list', [])
@@ -73,6 +79,9 @@ def execute(self, question, reranker_setting, reranker_list, reranker_model_id,
7379
**kwargs) -> NodeResult:
7480
self.context['show_knowledge'] = show_knowledge
7581
documents = merge_reranker_list(reranker_list)
82+
documents = [d for d in documents if d.page_content and len(d.page_content) > 0]
83+
if len(documents) == 0:
84+
return get_none_result(question)
7685
top_n = reranker_setting.get('top_n', 3)
7786
self.context['document_list'] = [{'page_content': document.page_content, 'metadata': document.metadata} for
7887
document in documents]

0 commit comments

Comments
 (0)