|
import requests |
|
import os |
|
import json |
|
|
|
|
|
BASE_URL = "https://agents-course-unit4-scoring.hf.space" |
|
|
|
|
|
|
|
|
|
import os |
|
|
|
def get_hf_username(): |
|
""" |
|
Gets Hugging Face username for submission. |
|
""" |
|
return os.environ.get("HF_USERNAME", "shrutikaP8497") |
|
|
|
def get_code_link(): |
|
""" |
|
Returns the public URL to the Hugging Face Space code. |
|
""" |
|
return "https://huggingface.co/spaces/shrutikaP8497/gaia_agent_code" |
|
|
|
|
|
def download_task_file(task_id, save_dir="downloads"): |
|
""" |
|
Downloads a file associated with a task from the GAIA evaluation API. |
|
""" |
|
os.makedirs(save_dir, exist_ok=True) |
|
url = f"{BASE_URL}/files/{task_id}" |
|
response = requests.get(url) |
|
|
|
if response.status_code == 200: |
|
filename = os.path.join(save_dir, task_id) |
|
with open(filename, "wb") as f: |
|
f.write(response.content) |
|
return filename |
|
else: |
|
print(f"Failed to download file for task {task_id}") |
|
return None |
|
|
|
|
|
def format_answer(agent_output): |
|
""" |
|
Format the agent's response to meet submission requirements: |
|
- Do NOT include 'FINAL ANSWER' |
|
- Must be a concise string or comma-separated list |
|
""" |
|
if isinstance(agent_output, str): |
|
return agent_output.strip() |
|
elif isinstance(agent_output, list): |
|
return ", ".join(map(str, agent_output)) |
|
elif isinstance(agent_output, (int, float)): |
|
return str(agent_output) |
|
else: |
|
return str(agent_output) |
|
|
|
|
|
def log_submission(task_id, answer, reasoning_trace=None, save_path="submission_log.jsonl"): |
|
""" |
|
Log the task_id and answer for debugging/submission traceability. |
|
""" |
|
entry = { |
|
"task_id": task_id, |
|
"submitted_answer": answer, |
|
} |
|
if reasoning_trace: |
|
entry["reasoning_trace"] = reasoning_trace |
|
|
|
with open(save_path, "a") as f: |
|
f.write(json.dumps(entry) + "\n") |
|
|