Final_Assignment_Template / api_client.py
Prasenjit9's picture
Upload 6 files
bf9fb98 verified
raw
history blame
1.55 kB
# api_client.py
import requests
SCORING_API = "https://agents-course-unit4-scoring.hf.space"
def get_all_questions() -> list[dict]:
"""
Fetches all 20 Level 1 questions from the GAIA scoring API.
Returns a list of dicts, each with:
- task_id: str (unique ID for the question)
- question: str (the question text)
- file_name: str (filename of attached file, if any; else empty string)
"""
response = requests.get(f"{SCORING_API}/questions", timeout=30)
if response.status_code == 200:
return response.json()
else:
raise Exception(f"Failed to fetch questions: {response.status_code}")
def submit_answers(username: str, agent_code_url: str, answers: list[dict]) -> dict:
"""
Submits answers to the GAIA API for scoring.
Args:
username: Your HuggingFace username.
agent_code_url: URL to your HF Space code (e.g. https://huggingface.co/spaces/yourname/space/tree/main)
answers: List of {"task_id": "...", "submitted_answer": "..."} dicts.
Returns:
A dict with your score and leaderboard position.
"""
payload = {
"username": username,
"agent_code": agent_code_url,
"answers": answers
}
response = requests.post(f"{SCORING_API}/submit", json=payload, timeout=60)
if response.status_code == 200:
return response.json()
else:
raise Exception(f"Submission failed: {response.status_code}{response.text}")