Spaces:
Sleeping
Sleeping
File size: 1,895 Bytes
c216f4b 70b0f89 c216f4b 70b0f89 c216f4b 70b0f89 89e6d63 70b0f89 4b51ad9 70b0f89 c216f4b 70b0f89 89e6d63 4b51ad9 70b0f89 4b51ad9 70b0f89 4b51ad9 70b0f89 4b51ad9 70b0f89 89e6d63 179d569 89e6d63 179d569 70b0f89 6d36bae 4b51ad9 70b0f89 c216f4b efa0ab7 4b51ad9 6d36bae c216f4b 4b51ad9 70b0f89 89e6d63 6d36bae 6478b83 c216f4b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
import os
import requests
from smolagents import CodeAgent, tool, OpenAIServerModel
API_URL = "https://agents-course-unit4-scoring.hf.space"
@tool
def fetch_questions() -> list:
"""
Fetch the full list of GAIA evaluation questions.
Returns:
list: A list of question dicts, each with 'task_id' and 'question'.
"""
resp = requests.get(f"{API_URL}/questions", timeout=15)
resp.raise_for_status()
return resp.json()
@tool
def fetch_random_question() -> dict:
"""
Fetch a single random GAIA question.
Returns:
dict: A dict with keys 'task_id' and 'question'.
"""
resp = requests.get(f"{API_URL}/random-question", timeout=15)
resp.raise_for_status()
return resp.json()
@tool
def submit_answers(username: str, agent_code: str, answers: list) -> dict:
"""
Submit the agent's answers to GAIA and get the scoring.
Args:
username (str): HF username for the submission.
agent_code (str): URL of your Space repo for verification.
answers (list): List of dicts, each with 'task_id' and 'submitted_answer'.
Returns:
dict: Contains 'score', 'correct_count', 'total_attempted', 'message', etc.
"""
payload = {"username": username, "agent_code": agent_code, "answers": answers}
resp = requests.post(f"{API_URL}/submit", json=payload, timeout=60)
resp.raise_for_status()
return resp.json()
def create_agent() -> CodeAgent:
"""
Build and return a configured CodeAgent using OpenAI GPT-3.5 Turbo.
Requires OPENAI_API_KEY in the environment.
Returns:
CodeAgent: Configured with GAIA tools.
"""
model = OpenAIServerModel(model_id="gpt-3.5-turbo")
agent = CodeAgent(
tools=[fetch_questions, fetch_random_question, submit_answers],
model=model
# Use CodeAgent's built-in prompt handling
)
return agent
|