Final_Assignment / agent.py
borisyich's picture
Update agent.py
1f4355e verified
raw
history blame
1.96 kB
from smolagents import (InferenceClientModel, CodeAgent, ToolCallingAgent,
DuckDuckGoSearchTool, VisitWebpageTool, FinalAnswerTool,
WikipediaSearchTool, PythonInterpreterTool,
)
model_id = "Qwen/Qwen2.5-72B-Instruct"
model = InferenceClientModel(model_id)
web_agent = ToolCallingAgent(
tools=[
DuckDuckGoSearchTool(),
VisitWebpageTool(),
WikipediaSearchTool()
],
model=model,
name="search_agent",
description="Runs web searches for you. Give it your query as an argument.",
)
python_agent = CodeAgent(
tools=[
PythonInterpreterTool()
],
model=model,
name='python_agent',
description='Use additional_authorized_imports for you. You need to do actions and help to answer the questions with python code',
additional_authorized_imports=[
"json",
"pandas",
"numpy",
"requests",
"time",
"datetime",
],
planning_interval=5,
verbosity_level=2,
max_steps=15,
)
class BasicAgent:
"""An agent who is able to answer questions."""
def __init__(self):
# Instantiate Agent
self.agent = CodeAgent(tools=[
FinalAnswerTool()
],
model=model,
managed_agents=[
web_agent,
python_agent
],
additional_authorized_imports=["requests"],
)
print("BasicAgent initialized.")
def __call__(self, question: str) -> str:
print(f"Agent received question: {question}...")
answer = self.agent.run(question)
print(f"Agent returning answer: {answer}")
return answer