朱东升 commited on
Commit
141e12d
·
1 Parent(s): 452bf3c

requirements update12

Browse files
Files changed (1) hide show
  1. app.py +25 -1
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