ADD file via upload
This commit is contained in:
parent
357cd08dad
commit
e3a4762a17
|
@ -0,0 +1,55 @@
|
||||||
|
import re
|
||||||
|
import json
|
||||||
|
|
||||||
|
|
||||||
|
# 加载测试数据
|
||||||
|
def load_test_data(file_path):
|
||||||
|
test_data = []
|
||||||
|
try:
|
||||||
|
with open(file_path, 'r', encoding='utf-8') as file:
|
||||||
|
for line in file:
|
||||||
|
test_data.append(json.loads(line.strip()))
|
||||||
|
except Exception as e:
|
||||||
|
print(f"加载测试数据时发生错误: {e}")
|
||||||
|
return test_data
|
||||||
|
|
||||||
|
|
||||||
|
# 保存提交结果
|
||||||
|
def save_submissions_to_jsonl(submissions, output_file_path):
|
||||||
|
try:
|
||||||
|
with open(output_file_path, 'w', encoding='utf-8') as file:
|
||||||
|
for submission in submissions:
|
||||||
|
json.dump(submission, file, ensure_ascii=False)
|
||||||
|
file.write('\n')
|
||||||
|
print(f"提交的结果已保存到 {output_file_path}")
|
||||||
|
except Exception as e:
|
||||||
|
print(f"保存提交结果时发生错误: {e}")
|
||||||
|
|
||||||
|
|
||||||
|
# 检测答案中的选项
|
||||||
|
def detect_choice_in_answer(answer_text):
|
||||||
|
possible_choices = ['A', 'B', 'C', 'D']
|
||||||
|
|
||||||
|
for choice in possible_choices:
|
||||||
|
if re.search(rf'(?<![a-zA-Z]){choice}(?![a-zA-Z])', answer_text):
|
||||||
|
return choice
|
||||||
|
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
# 提取代码
|
||||||
|
def extract_code_between_triple_backticks(raw_output):
|
||||||
|
# 从 raw_output 中提取第一个和第二个 ``` 之间的代码块。
|
||||||
|
parts = raw_output.split("```")
|
||||||
|
|
||||||
|
# 如果找到至少两个 ```
|
||||||
|
if len(parts) >= 3:
|
||||||
|
code_block = parts[1].strip() # 提取第一个 ``` 和第二个 ``` 之间的部分
|
||||||
|
|
||||||
|
# 如果代码块中包含 "python\n",则删除它
|
||||||
|
if "python\n" in code_block:
|
||||||
|
code_block = code_block.replace("python\n", "")
|
||||||
|
|
||||||
|
return code_block
|
||||||
|
else:
|
||||||
|
return "" # 如果没有找到成对的 ```,返回空字符串
|
Loading…
Reference in New Issue