Update app.py
Browse files
app.py
CHANGED
@@ -115,7 +115,7 @@ def run_and_submit_all(profile: gr.OAuthProfile | None):
|
|
115 |
print(f"Answer for task {task_id}: '{submitted_answer}'")
|
116 |
answers_payload.append({
|
117 |
"task_id": task_id,
|
118 |
-
"submitted_answer": submitted_answer,
|
119 |
# "reasoning_trace": None # optional, add if available
|
120 |
})
|
121 |
results_log.append({
|
@@ -127,7 +127,7 @@ def run_and_submit_all(profile: gr.OAuthProfile | None):
|
|
127 |
print(f"Error running agent on task {task_id}: {e}")
|
128 |
answers_payload.append({
|
129 |
"task_id": task_id,
|
130 |
-
"submitted_answer": f"AGENT ERROR: {e}",
|
131 |
# "reasoning_trace": None
|
132 |
})
|
133 |
results_log.append({
|
@@ -140,16 +140,13 @@ def run_and_submit_all(profile: gr.OAuthProfile | None):
|
|
140 |
print("Agent did not produce any answers to submit.")
|
141 |
return "Agent did not produce any answers to submit.", pd.DataFrame(results_log)
|
142 |
|
143 |
-
# 4. Prepare
|
144 |
-
submission_data = {
|
145 |
-
|
146 |
-
|
147 |
-
"answers": answers_payload
|
148 |
-
}
|
149 |
|
150 |
-
|
151 |
-
|
152 |
-
# 5. Submit answers as JSON body
|
153 |
try:
|
154 |
response = requests.post(submit_url, json=submission_data, timeout=60)
|
155 |
response.raise_for_status()
|
@@ -158,8 +155,7 @@ def run_and_submit_all(profile: gr.OAuthProfile | None):
|
|
158 |
f"Submission Successful!\n"
|
159 |
f"User: {result_data.get('username')}\n"
|
160 |
f"Overall Score: {result_data.get('score', 'N/A')}% "
|
161 |
-
f"({result_data.get('correct_count', '?')}/"
|
162 |
-
f"{result_data.get('total_attempted', '?')} correct)\n"
|
163 |
f"Message: {result_data.get('message', 'No message received.')}"
|
164 |
)
|
165 |
print("Submission successful.")
|
@@ -174,19 +170,23 @@ def run_and_submit_all(profile: gr.OAuthProfile | None):
|
|
174 |
error_detail += f" Response: {e.response.text[:500]}"
|
175 |
status_message = f"Submission Failed: {error_detail}"
|
176 |
print(status_message)
|
177 |
-
|
|
|
178 |
except requests.exceptions.Timeout:
|
179 |
status_message = "Submission Failed: The request timed out."
|
180 |
print(status_message)
|
181 |
-
|
|
|
182 |
except requests.exceptions.RequestException as e:
|
183 |
status_message = f"Submission Failed: Network error - {e}"
|
184 |
print(status_message)
|
185 |
-
|
|
|
186 |
except Exception as e:
|
187 |
status_message = f"An unexpected error occurred during submission: {e}"
|
188 |
print(status_message)
|
189 |
-
|
|
|
190 |
|
191 |
|
192 |
# --- Build Gradio Interface using Blocks ---
|
|
|
115 |
print(f"Answer for task {task_id}: '{submitted_answer}'")
|
116 |
answers_payload.append({
|
117 |
"task_id": task_id,
|
118 |
+
"submitted_answer": submitted_answer,
|
119 |
# "reasoning_trace": None # optional, add if available
|
120 |
})
|
121 |
results_log.append({
|
|
|
127 |
print(f"Error running agent on task {task_id}: {e}")
|
128 |
answers_payload.append({
|
129 |
"task_id": task_id,
|
130 |
+
"submitted_answer": f"AGENT ERROR: {e}",
|
131 |
# "reasoning_trace": None
|
132 |
})
|
133 |
results_log.append({
|
|
|
140 |
print("Agent did not produce any answers to submit.")
|
141 |
return "Agent did not produce any answers to submit.", pd.DataFrame(results_log)
|
142 |
|
143 |
+
# 4. Prepare Submission
|
144 |
+
submission_data = {"username": username.strip(), "agent_code": agent_code, "answers": answers_payload}
|
145 |
+
status_update = f"Agent finished. Submitting {len(answers_payload)} answers for user '{username}'..."
|
146 |
+
print(status_update)
|
|
|
|
|
147 |
|
148 |
+
# 5. Submit
|
149 |
+
print(f"Submitting {len(answers_payload)} answers to: {submit_url}")
|
|
|
150 |
try:
|
151 |
response = requests.post(submit_url, json=submission_data, timeout=60)
|
152 |
response.raise_for_status()
|
|
|
155 |
f"Submission Successful!\n"
|
156 |
f"User: {result_data.get('username')}\n"
|
157 |
f"Overall Score: {result_data.get('score', 'N/A')}% "
|
158 |
+
f"({result_data.get('correct_count', '?')}/{result_data.get('total_attempted', '?')} correct)\n"
|
|
|
159 |
f"Message: {result_data.get('message', 'No message received.')}"
|
160 |
)
|
161 |
print("Submission successful.")
|
|
|
170 |
error_detail += f" Response: {e.response.text[:500]}"
|
171 |
status_message = f"Submission Failed: {error_detail}"
|
172 |
print(status_message)
|
173 |
+
results_df = pd.DataFrame(results_log)
|
174 |
+
return status_message, results_df
|
175 |
except requests.exceptions.Timeout:
|
176 |
status_message = "Submission Failed: The request timed out."
|
177 |
print(status_message)
|
178 |
+
results_df = pd.DataFrame(results_log)
|
179 |
+
return status_message, results_df
|
180 |
except requests.exceptions.RequestException as e:
|
181 |
status_message = f"Submission Failed: Network error - {e}"
|
182 |
print(status_message)
|
183 |
+
results_df = pd.DataFrame(results_log)
|
184 |
+
return status_message, results_df
|
185 |
except Exception as e:
|
186 |
status_message = f"An unexpected error occurred during submission: {e}"
|
187 |
print(status_message)
|
188 |
+
results_df = pd.DataFrame(results_log)
|
189 |
+
return status_message, results_df
|
190 |
|
191 |
|
192 |
# --- Build Gradio Interface using Blocks ---
|