diff --git a/dsLightRag/Doc/T1、史校长资料/测试结果/100题测试结果.xlsx b/dsLightRag/Doc/T1、史校长资料/测试结果/100题测试结果.xlsx deleted file mode 100644 index 228e826a..00000000 Binary files a/dsLightRag/Doc/T1、史校长资料/测试结果/100题测试结果.xlsx and /dev/null differ diff --git a/dsLightRag/Doc/T1、史校长资料/测试结果/100题测试结果【补充了千问3对华为答案的打分】.xlsx b/dsLightRag/Doc/T1、史校长资料/测试结果/100题测试结果【补充了千问3对华为答案的打分】.xlsx new file mode 100644 index 00000000..57bccab2 Binary files /dev/null and b/dsLightRag/Doc/T1、史校长资料/测试结果/100题测试结果【补充了千问3对华为答案的打分】.xlsx differ diff --git a/dsLightRag/Test/T6_Qwen3ForHuaWeiScore.py b/dsLightRag/Test/T6_Qwen3ForHuaWeiScore.py new file mode 100644 index 00000000..b3226966 --- /dev/null +++ b/dsLightRag/Test/T6_Qwen3ForHuaWeiScore.py @@ -0,0 +1,61 @@ +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' + +if __name__ == '__main__': + prompt = """ + 请针对下面这两段文字【1】和【2】进行评分,最高分为10分,最低分为0分,每1分差别为一个档次。 + 具体评分标准为: + 只要【1】中包含【2】完全相同或者含义相同的内容,即从【1】可以推理出【2】即视为正确,打10分; + 【1】中完全没有【2】表达的内容即视为错误打0分;趋于中间的按照涵盖程度打分,分越高越相似。 + 请注意:结果展示时,请按照如下标准进行输出: + 先展示分析过程,然后展示最终得分,【最终得分】:x分,注意:【】括号是必须要有的格式! x替换为具体的分数,范围从0到10的整数。 + """ + wb = load_workbook(excel_file) + ws = wb.active # 获取第一个sheet + + 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['L' + 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['R' + str(row)] = prompt + "\n" + response # 提示词+大模型响应 + ws['S' + str(row)] = final_score + logger.info("大模型响应:" + response) + logger.info("得分:" + final_score) + + wb.save(excel_file) + wb.close() + logger.info("恭喜,所有任务处理完成!") diff --git a/dsLightRag/Test/T7_QWen3ForHuaWeiFix.py b/dsLightRag/Test/T7_QWen3ForHuaWeiFix.py new file mode 100644 index 00000000..8418bfb1 --- /dev/null +++ b/dsLightRag/Test/T7_QWen3ForHuaWeiFix.py @@ -0,0 +1,64 @@ +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' + +if __name__ == '__main__': + prompt = """ + 请针对下面这两段文字【1】和【2】进行评分,最高分为10分,最低分为0分,每1分差别为一个档次。 + 具体评分标准为: + 只要【1】中包含【2】完全相同或者含义相同的内容,即从【1】可以推理出【2】即视为正确,打10分; + 【1】中完全没有【2】表达的内容即视为错误打0分;趋于中间的按照涵盖程度打分,分越高越相似。 + 请注意:结果展示时,请按照如下标准进行输出: + 先展示分析过程,然后展示最终得分,【最终得分】:x分,x替换为具体的分数,范围从0到10的整数。 + """ + wb = load_workbook(excel_file) + ws = wb.active # 获取第一个sheet + + for row in range(2, 102): # 行号从2到101 + if ws['S' + str(row)] and ws['S' + str(row)].value: + print("发现已评估完得分的问题,将跳过,得分:"+ws['Q' + str(row)].value) + continue + # 提示词 + query_text = prompt + "\n" + query_text = query_text + "下面将提供两段文字:\n" + + query_text = query_text + "【1】:\n" + O_content = ws['L' + 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['R' + str(row)] = prompt + "\n" + response # 提示词+大模型响应 + ws['S' + str(row)] = final_score + logger.info("大模型响应:" + response) + logger.info("得分:" + final_score) + + wb.save(excel_file) + wb.close() + logger.info("恭喜,所有任务处理完成!") diff --git a/dsLightRag/Test/testPyGeoBra.py b/dsLightRag/Test/testPyGeoBra.py new file mode 100644 index 00000000..b128feb3 --- /dev/null +++ b/dsLightRag/Test/testPyGeoBra.py @@ -0,0 +1,20 @@ +# pip install geogebra-ggb-api-python + +from pygeogebra import GeoGebra + +# 创建实例 +ggb = GeoGebra() + +# 绘制点、线、圆 +point_A = ggb.add_point("A", (0, 0)) +point_B = ggb.add_point("B", (2, 1)) +line_AB = ggb.add_line("AB", point_A, point_B) +circle = ggb.add_circle("Circle", point_A, 3) + +# 添加动态滑块 +slider = ggb.add_slider("k", 0, 5, 1) +dynamic_point = ggb.add_point("P", (slider, slider**2)) # 抛物线上的点 + +# 导出为HTML或PNG +ggb.export("figure.html") # 交互式网页 +ggb.export("figure.png", dpi=300) # 静态图片 \ No newline at end of file