AlessandroMasala's picture
Update functions/agent.py
c169a13 verified
# functions/agent.py
"""Agent definition for GAIA question answering system."""
import logging
from smolagents import CodeAgent, VisitWebpageTool
from functions.tools import (
google_search,
wikipedia_search,
get_wikipedia_page,
libretext_book_search,
get_libretext_book,
)
from functions.agent_helper_functions import step_memory_cap, step_wait
from configuration import MODEL
logger = logging.getLogger(__name__)
def create_agent() -> CodeAgent:
"""Creates the GAIA agent using GPT‑4.1 or Mistral‑7B fallback."""
agent = CodeAgent(
model=MODEL,
tools=[
google_search,
VisitWebpageTool(),
wikipedia_search,
get_wikipedia_page,
libretext_book_search,
get_libretext_book,
],
add_base_tools=False,
additional_authorized_imports=['bs4.*', 'json'],
step_callbacks=[step_memory_cap, step_wait],
name="GAIA_agent",
verbosity_level=5,
max_steps=20,
planning_interval=5
)
logger.info("GAIA_agent created with dynamic LLM (OpenAI or HF fallback).")
return agent