Update app.py
Browse files
app.py
CHANGED
|
@@ -69,10 +69,11 @@ class LLMGAIAAgent:
|
|
| 69 |
# Clean up the response if needed
|
| 70 |
response = self._clean_response(response)
|
| 71 |
|
| 72 |
-
|
|
|
|
| 73 |
except Exception as e:
|
| 74 |
print(f"Error generating response: {e}")
|
| 75 |
-
return self._fallback_response(question)
|
| 76 |
|
| 77 |
def _prepare_prompt(self, question: str) -> str:
|
| 78 |
"""Prepare an appropriate prompt based on the question type."""
|
|
@@ -160,7 +161,10 @@ class GAIAAgent:
|
|
| 160 |
question_type = self._classify_question(question)
|
| 161 |
|
| 162 |
# Use the appropriate handler
|
| 163 |
-
|
|
|
|
|
|
|
|
|
|
| 164 |
|
| 165 |
def _classify_question(self, question: str) -> str:
|
| 166 |
"""Classify the question into one of the supported types."""
|
|
@@ -340,9 +344,15 @@ class EvaluationRunner:
|
|
| 340 |
try:
|
| 341 |
# Call agent with task_id parameter if supported
|
| 342 |
if hasattr(agent, '__code__') and 'task_id' in agent.__code__.co_varnames:
|
| 343 |
-
|
| 344 |
else:
|
| 345 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 346 |
|
| 347 |
answers_payload.append({
|
| 348 |
"task_id": task_id,
|
|
@@ -351,7 +361,8 @@ class EvaluationRunner:
|
|
| 351 |
results_log.append({
|
| 352 |
"Task ID": task_id,
|
| 353 |
"Question": question_text,
|
| 354 |
-
"Submitted Answer": submitted_answer
|
|
|
|
| 355 |
})
|
| 356 |
except Exception as e:
|
| 357 |
print(f"Error running agent on task {task_id}: {e}")
|
|
|
|
| 69 |
# Clean up the response if needed
|
| 70 |
response = self._clean_response(response)
|
| 71 |
|
| 72 |
+
# Return JSON with final_answer key
|
| 73 |
+
return json.dumps({"final_answer": response})
|
| 74 |
except Exception as e:
|
| 75 |
print(f"Error generating response: {e}")
|
| 76 |
+
return json.dumps({"final_answer": self._fallback_response(question)})
|
| 77 |
|
| 78 |
def _prepare_prompt(self, question: str) -> str:
|
| 79 |
"""Prepare an appropriate prompt based on the question type."""
|
|
|
|
| 161 |
question_type = self._classify_question(question)
|
| 162 |
|
| 163 |
# Use the appropriate handler
|
| 164 |
+
answer = self.handlers[question_type](question)
|
| 165 |
+
|
| 166 |
+
# Return JSON with final_answer key
|
| 167 |
+
return json.dumps({"final_answer": answer})
|
| 168 |
|
| 169 |
def _classify_question(self, question: str) -> str:
|
| 170 |
"""Classify the question into one of the supported types."""
|
|
|
|
| 344 |
try:
|
| 345 |
# Call agent with task_id parameter if supported
|
| 346 |
if hasattr(agent, '__code__') and 'task_id' in agent.__code__.co_varnames:
|
| 347 |
+
json_response = agent(question_text, task_id)
|
| 348 |
else:
|
| 349 |
+
json_response = agent(question_text)
|
| 350 |
+
|
| 351 |
+
# Parse the JSON response
|
| 352 |
+
response_obj = json.loads(json_response)
|
| 353 |
+
|
| 354 |
+
# Extract the final_answer for submission
|
| 355 |
+
submitted_answer = response_obj.get("final_answer", "")
|
| 356 |
|
| 357 |
answers_payload.append({
|
| 358 |
"task_id": task_id,
|
|
|
|
| 361 |
results_log.append({
|
| 362 |
"Task ID": task_id,
|
| 363 |
"Question": question_text,
|
| 364 |
+
"Submitted Answer": submitted_answer,
|
| 365 |
+
"Full Response": json_response
|
| 366 |
})
|
| 367 |
except Exception as e:
|
| 368 |
print(f"Error running agent on task {task_id}: {e}")
|