testAgent / BasicAgent.py
Gokulnath2003's picture
Update BasicAgent.py
0f04bd3 verified
import smolagents
import os
from smolagents import (
tool,
CodeAgent,
InferenceClientModel, # This is the correct model class to use
FinalAnswerTool
)
class newAgent:
"""Adapts smolagents.CodeAgent to the HF course template API."""
def __init__(self):
model_id = "Qwen/Qwen2.5-Coder-32B-Instruct"
hf_token = os.getenv("HUGGINGFACEHUB_API_TOKEN")
if not hf_token:
raise RuntimeError("HUGGINGFACEHUB_API_TOKEN not set in Space secrets")
system_prompt = (
"You are an agent that answers exam questions. "
"Your answers should contain exactly what is asked for in the question. "
"Be exact and concise in your answers. "
"Do not add explanations or additional information. "
"If asked for a list, provide ONLY the items requested separated by commas."
)
# CORRECTED: Use InferenceClientModel instead of HfApiModel
model = InferenceClientModel(model_id=model_id, token=hf_token)
tools = [FinalAnswerTool()]
self.agent = CodeAgent(
tools=tools,
model=model,
add_base_tools=True,
max_steps=3
)
def __call__(self, question: str) -> str:
"""ONE question in → ONE pure-text answer out."""
result = self.agent.run(question)
return result