From 600d6134bccfd1ddd97a664229c02fc5cc724ea6 Mon Sep 17 00:00:00 2001 From: HuangHai <10402852@qq.com> Date: Wed, 23 Jul 2025 10:31:44 +0800 Subject: [PATCH] 'commit' --- dsLightRag/Test/T2_AnswerFromRAG.py | 8 ++--- dsLightRag/Test/T4_Score.py | 56 +++++++++++++++++++++-------- 2 files changed, 44 insertions(+), 20 deletions(-) diff --git a/dsLightRag/Test/T2_AnswerFromRAG.py b/dsLightRag/Test/T2_AnswerFromRAG.py index 9c7081a8..91f07922 100644 --- a/dsLightRag/Test/T2_AnswerFromRAG.py +++ b/dsLightRag/Test/T2_AnswerFromRAG.py @@ -38,16 +38,14 @@ if __name__ == '__main__': wb = load_workbook(excel_file) ws = wb.active # 获取第一个sheet # 读取C列第2行到101行的数据 - idx = 1 for row in range(2, 102): # 行号从2到101 query_text = ws[f'C{row}'].value - logger.info("问题{}:{}".format(idx, query_text)) + logger.info("问题{}:{}".format(row - 1, query_text)) # 知识库作答 rag_answer = getAnswer(query_text) - logger.info("成功完成问题{}:{}".format(idx, query_text)) + logger.info("成功完成问题{}:{}".format(row - 1, query_text)) # 回写到Excel表中 - ws['O'+str(idx+1)] = rag_answer - idx = idx + 1 + ws['O' + str(row)] = rag_answer # 保存修改 wb.save(excel_file) wb.close() diff --git a/dsLightRag/Test/T4_Score.py b/dsLightRag/Test/T4_Score.py index 37eb21d1..202639cf 100644 --- a/dsLightRag/Test/T4_Score.py +++ b/dsLightRag/Test/T4_Score.py @@ -1,7 +1,17 @@ +import logging +import re + from openpyxl import load_workbook from Util import LlmUtil +# 更详细地控制日志输出 +logger = logging.getLogger('MathRag') +logger.setLevel(logging.INFO) +handler = logging.StreamHandler() +handler.setFormatter(logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')) +logger.addHandler(handler) + # 要处理的Excel excel_file = r'D:\dsWork\dsProject\dsLightRag\Doc\T1、史校长资料\测试结果\100题测试结果.xlsx' @@ -17,19 +27,35 @@ if __name__ == '__main__': wb = load_workbook(excel_file) ws = wb.active # 获取第一个sheet - query_text = prompt + "\n" - query_text = query_text + "下面将提供两段文字:\n" - query_text = query_text + "【1】:\n" - O2_content = ws['O2'].value - query_text = query_text + O2_content + "\n" - - query_text = query_text + "【2】:\n" - O2_content = ws['D2'].value - query_text = query_text + O2_content + "\n" - - response = LlmUtil.get_llm_response(query_text) - print(response) - # 对比 - # 【1】:O2,【2】:D2 内容 - # 结果保存到 P2 (打分过程) Q2(通过正则表达式截取出的 【最终得分】) + for row in range(2, 102): # 行号从2到101 + # 提示词 + query_text = prompt + "\n" + query_text = query_text + "下面将提供两段文字:\n" + + query_text = query_text + "【1】:\n" + O_content = ws['O' + str(row)].value + query_text = query_text + O_content + "\n" + + query_text = query_text + "【2】:\n" + D_content = ws['D' + str(row)].value + query_text = query_text + D_content + "\n" + + question = ws['C' + str(row)].value # 获取问题 + logger.info("问题" + str(row - 1) + ":" + question) + response = LlmUtil.get_llm_response(query_text) + # 【1】:O2,【2】:D2 内容 + # 结果保存到 P2 (打分过程) Q2(通过正则表达式截取出的 【最终得分】) + # 使用正则表达式提取【最终得分】 + match = re.search(r'【最终得分】:(\d+)分', response) + final_score = '0' + if match: + final_score = match.group(1) + # 保存到P2(打分过程)和Q2(最终得分) + ws['P' + str(row)] = prompt + "\n" + response # 提示词+大模型响应 + ws['Q' + str(row)] = final_score + logger.info("大模型响应:" + response) + logger.info("得分:" + final_score) + + wb.save(excel_file) wb.close() + logger.info("恭喜,所有任务处理完成!")