Spaces:
Sleeping
Sleeping
朱东升
commited on
Commit
·
141e12d
1
Parent(s):
452bf3c
requirements update12
Browse files
app.py
CHANGED
@@ -16,6 +16,30 @@ if src_dir not in sys.path:
|
|
16 |
def evaluate(input_data):
|
17 |
"""评估代码的主函数
|
18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
Args:
|
20 |
input_data: 可以是字符串(文件路径)或字典(包含代码信息)
|
21 |
|
@@ -44,11 +68,11 @@ def evaluate(input_data):
|
|
44 |
results = []
|
45 |
for comp in completions:
|
46 |
code = input_data.get('prompt') + comp + '\n' + input_data.get('tests')
|
47 |
-
print(f'Code waiting for testing: \n{code}')
|
48 |
result = evaluate_code(code, language)
|
49 |
# 如果当前代码执行成功,立即返回pass,不再评估后续代码
|
50 |
if result["status"] == "OK":
|
51 |
return {"status": "pass"}
|
|
|
52 |
result['compiled_code'] = code
|
53 |
results.append(result)
|
54 |
|
|
|
16 |
def evaluate(input_data):
|
17 |
"""评估代码的主函数
|
18 |
|
19 |
+
Args:
|
20 |
+
input_data: 可以是字符串(文件路径)、字典(包含代码信息)或列表(批量处理多个测试用例)
|
21 |
+
|
22 |
+
Returns:
|
23 |
+
dict/list: 包含评估结果的字典或列表
|
24 |
+
"""
|
25 |
+
try:
|
26 |
+
# 如果输入是列表(批量处理)
|
27 |
+
if isinstance(input_data, list):
|
28 |
+
results = []
|
29 |
+
for item in input_data:
|
30 |
+
result = evaluate_single_case(item)
|
31 |
+
results.append(result)
|
32 |
+
return results
|
33 |
+
|
34 |
+
# 单个用例处理
|
35 |
+
return evaluate_single_case(input_data)
|
36 |
+
|
37 |
+
except Exception as e:
|
38 |
+
return {"status": "Exception", "error": str(e)}
|
39 |
+
|
40 |
+
def evaluate_single_case(input_data):
|
41 |
+
"""评估单个代码用例
|
42 |
+
|
43 |
Args:
|
44 |
input_data: 可以是字符串(文件路径)或字典(包含代码信息)
|
45 |
|
|
|
68 |
results = []
|
69 |
for comp in completions:
|
70 |
code = input_data.get('prompt') + comp + '\n' + input_data.get('tests')
|
|
|
71 |
result = evaluate_code(code, language)
|
72 |
# 如果当前代码执行成功,立即返回pass,不再评估后续代码
|
73 |
if result["status"] == "OK":
|
74 |
return {"status": "pass"}
|
75 |
+
print(f'Code failed to compile: \n{code}')
|
76 |
result['compiled_code'] = code
|
77 |
results.append(result)
|
78 |
|