diff --git a/rag2_0/dify/test_dify_chatapi.py b/rag2_0/dify/test_dify_chatapi.py index 8e67c2a..fa5cb64 100644 --- a/rag2_0/dify/test_dify_chatapi.py +++ b/rag2_0/dify/test_dify_chatapi.py @@ -57,20 +57,21 @@ class DifyComparisonTester: with ThreadPoolExecutor(max_workers=2) as executor: future_old = executor.submit(get_old_answer) future_new = executor.submit(get_new_answer) - - old_result = future_old.result() - new_result = future_new.result() - old_message_id = old_result["message_id"] - new_message_id = new_result["message_id"] - old_message_info = DifyTool.get_message_debug_info_id(message_id=old_message_id) - new_message_info = DifyTool.get_message_debug_info_id(message_id=new_message_id) - for workflow_node in new_message_info["workflow_node_executions_info"]: - if workflow_node["title"] == "问题优化结果解析": - outputs = json.loads(workflow_node["outputs"]) - rewrite_query = outputs["optimize_query"] - old_answer = old_result["answer"] - new_answer = new_result["answer"] - + try: + old_result = future_old.result() + new_result = future_new.result() + old_message_id = old_result["message_id"] + new_message_id = new_result["message_id"] + old_message_info = DifyTool.get_message_debug_info_id(message_id=old_message_id) + new_message_info = DifyTool.get_message_debug_info_id(message_id=new_message_id) + for workflow_node in new_message_info["workflow_node_executions_info"]: + if workflow_node["title"] == "问题优化结果解析": + outputs = json.loads(workflow_node["outputs"]) + rewrite_query = outputs["optimize_query"] + old_answer = old_result["answer"] + new_answer = new_result["answer"] + except Exception as e: + return None return {"问题": q, "问题改写": rewrite_query, "旧流程答案": old_answer, "新流程答案": new_answer} def run_comparison(self): @@ -89,7 +90,8 @@ class DifyComparisonTester: with tqdm(total=len(questions), desc="处理问题进度") as pbar: for q in questions: result = self.process_question(q) - results.append(result) + if result is not None: + results.append(result) pbar.update(1) # 生成输出Excel文件