diff --git a/rag2_0/demo/heli_db_to_excel.py b/rag2_0/demo/heli_db_to_excel.py index 58c2ca9..6d59907 100755 --- a/rag2_0/demo/heli_db_to_excel.py +++ b/rag2_0/demo/heli_db_to_excel.py @@ -277,6 +277,7 @@ class DataProcessor: "消息发送者": record["message_sender"], "发送者昵称": record["sender_nickname"], "创建时间": record["CREATE_TIME"], + "SEQUENCE_ID": record["SEQUENCE_ID"], }) return result @@ -337,11 +338,21 @@ class MariaDBClient: df, _ = self.execute_query(sql, (start_date, end_date)) return df + def get_sequence_id_by_session_id(self, session_id: str) -> Optional[pd.DataFrame]: + """根据会话ID查询消息详情""" + sql = """ + SELECT SEQUENCE_ID + FROM crm_hlyj.crm_hlyj_dmri + WHERE SESSION_ID = %s + """ + df, _ = self.execute_query(sql, (session_id,)) + return df + def query_messages_by_session_id(self, session_id: str) -> Optional[pd.DataFrame]: """根据会话ID查询消息详情""" sql = """ SELECT CREATE_TIME, CUS_NICK_NAME, MODE, MSG_TYPE, AGENT_NAME, CONTENT, - SESSION_ID, ACCOUNT, SYSTEM_MODE_MESSAGE_TYPE + SESSION_ID, ACCOUNT, SYSTEM_MODE_MESSAGE_TYPE, SEQUENCE_ID FROM crm_hlyj.crm_hlyj_dmri WHERE SESSION_ID = %s ORDER BY CREATE_TIME diff --git a/rag2_0/dify/DifyCompareTest.py b/rag2_0/dify/DifyCompareTest.py index 7186023..cf3cd0d 100755 --- a/rag2_0/dify/DifyCompareTest.py +++ b/rag2_0/dify/DifyCompareTest.py @@ -69,7 +69,8 @@ class DifyCompareTest: max_retries = 3 retry_count = 0 - + if len(old_answer) == 0 or len(now_answer) == 0: + return "回答基本不相同" while retry_count < max_retries: try: response = self.llm.invoke(user_prompt=user_prompt, need_retry=False, response_format={"type": "json_object"}) @@ -100,15 +101,14 @@ class DifyCompareTest: ) result = response.json() answer = result.get('answer', "") + answer = answer.split("----------------------------------------")[0].strip() if len(answer) == 0: raise Exception(f"回答为空: {result}") if old_answer: judge_result = self.llm_judge_answer(old_answer=old_answer, now_answer=answer) else: judge_result="" - judge_result="" # 只取回答的前半部分 - answer = answer.split("----------------------------------------")[0].strip() message_id = result.get('message_id', "") return answer, judge_result, message_id except Exception as e: @@ -247,14 +247,14 @@ if __name__ == "__main__": # 处理第一个文件 excel_files = [ - # ("data/excel/5月.xlsx", "data/excel/5月问答对比.xlsx"), - ("data/excel/第四轮点踩问题.xlsx", "data/excel/第四轮点踩问题_问答测试.xlsx") + ("data/excel/300专业提问.xlsx", "data/excel/300专业提问_问答测试.xlsx"), + # ("data/excel/有知识的.xlsx", "data/excel/有知识的_问答测试.xlsx") ] for excel_path, save_path in excel_files: logging.info(f"开始处理文件: {excel_path}") try: - dify_compare_test.run(excel_path=excel_path, save_path=save_path, max_workers=3) + dify_compare_test.run(excel_path=excel_path, save_path=save_path, max_workers=10) logging.info(f"文件处理完成: {excel_path}") except Exception as e: logging.error(f"处理文件 {excel_path} 时出错: {e}")