dongsheng commited on
Commit
3d718d0
·
verified ·
1 Parent(s): bb04a18

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -26
app.py CHANGED
@@ -171,43 +171,33 @@ def evaluate_single_case(input_data):
171
  return {"status": "Exception", "error": "Input item must be a dictionary"}
172
 
173
  language = input_data.get('language')
174
- completions = input_data.get('processed_completions', [])
175
 
176
- if not completions:
177
  return {"status": "Exception", "error": "No code provided"}
178
 
179
  # Use a retry mechanism for all languages for better reliability
180
  max_retries = 2 # One retry for all languages
181
 
182
- status_list, stderr_list = [], []
183
- for comp in completions:
184
- code = input_data.get('prompt') + comp + '\n' + input_data.get('tests')
 
185
 
186
- # Try up to max_retries times for all test cases
187
- for attempt in range(max_retries):
188
- result = evaluate_code(code, language)
189
-
190
- # If success or last attempt, return/record the result
191
- if result["status"] == "OK":
192
- break
193
- # For retries, briefly wait to allow resources to stabilize
194
- time.sleep(0.3)
195
-
196
- status_list.append(result["status"])
197
- stderr_list.append(result["stderr"])
198
-
199
- processed_completions = input_data.pop('processed_completions', [])
200
- completions = input_data.pop('completions', [])
201
 
202
- meta_data = [
203
- {
204
- 'processed_completion': p_comp,
205
- 'completion': comp,
206
  'status': status,
207
  'stderr': stderr
208
  }
209
- for p_comp, comp, status, stderr in zip(processed_completions, completions, status_list, stderr_list)
210
- ]
211
 
212
  input_data['meta_data'] = meta_data
213
  return input_data
 
171
  return {"status": "Exception", "error": "Input item must be a dictionary"}
172
 
173
  language = input_data.get('language')
174
+ code = input_data.get('code', "")
175
 
176
+ if code == "":
177
  return {"status": "Exception", "error": "No code provided"}
178
 
179
  # Use a retry mechanism for all languages for better reliability
180
  max_retries = 2 # One retry for all languages
181
 
182
+ # Try up to max_retries times for all test cases
183
+ status, stderr = "", ""
184
+ for attempt in range(max_retries):
185
+ result = evaluate_code(code, language)
186
 
187
+ # If success or last attempt, return/record the result
188
+ if result["status"] == "OK":
189
+ break
190
+ # For retries, briefly wait to allow resources to stabilize
191
+ time.sleep(0.3)
192
+
193
+ status = result["status"]
194
+ stderr = result["stderr"]
 
 
 
 
 
 
 
195
 
196
+ meta_data = {
197
+ 'code': code,
 
 
198
  'status': status,
199
  'stderr': stderr
200
  }
 
 
201
 
202
  input_data['meta_data'] = meta_data
203
  return input_data