@@ -70,7 +70,20 @@ def _run(self) -> NodeRunResult:
70
70
71
71
except KnowledgeRetrievalNodeError as e :
72
72
logger .warning ("Error when running knowledge retrieval node" )
73
- return NodeRunResult (status = WorkflowNodeExecutionStatus .FAILED , inputs = variables , error = str (e ))
73
+ return NodeRunResult (
74
+ status = WorkflowNodeExecutionStatus .FAILED ,
75
+ inputs = variables ,
76
+ error = str (e ),
77
+ error_type = type (e ).__name__ ,
78
+ )
79
+ # Temporary handle all exceptions from DatasetRetrieval class here.
80
+ except Exception as e :
81
+ return NodeRunResult (
82
+ status = WorkflowNodeExecutionStatus .FAILED ,
83
+ inputs = variables ,
84
+ error = str (e ),
85
+ error_type = type (e ).__name__ ,
86
+ )
74
87
75
88
def _fetch_dataset_retriever (self , node_data : KnowledgeRetrievalNodeData , query : str ) -> list [dict [str , Any ]]:
76
89
available_datasets = []
@@ -160,18 +173,18 @@ def _fetch_dataset_retriever(self, node_data: KnowledgeRetrievalNodeData, query:
160
173
reranking_model = None
161
174
weights = None
162
175
all_documents = dataset_retrieval .multiple_retrieve (
163
- self .app_id ,
164
- self .tenant_id ,
165
- self .user_id ,
166
- self .user_from .value ,
167
- available_datasets ,
168
- query ,
169
- node_data .multiple_retrieval_config .top_k ,
170
- node_data .multiple_retrieval_config .score_threshold ,
171
- node_data .multiple_retrieval_config .reranking_mode ,
172
- reranking_model ,
173
- weights ,
174
- node_data .multiple_retrieval_config .reranking_enable ,
176
+ app_id = self .app_id ,
177
+ tenant_id = self .tenant_id ,
178
+ user_id = self .user_id ,
179
+ user_from = self .user_from .value ,
180
+ available_datasets = available_datasets ,
181
+ query = query ,
182
+ top_k = node_data .multiple_retrieval_config .top_k ,
183
+ score_threshold = node_data .multiple_retrieval_config .score_threshold ,
184
+ reranking_mode = node_data .multiple_retrieval_config .reranking_mode ,
185
+ reranking_model = reranking_model ,
186
+ weights = weights ,
187
+ reranking_enable = node_data .multiple_retrieval_config .reranking_enable ,
175
188
)
176
189
dify_documents = [item for item in all_documents if item .provider == "dify" ]
177
190
external_documents = [item for item in all_documents if item .provider == "external" ]
0 commit comments