testAgent / BasicAgent.py
optionEdge's picture
Update BasicAgent.py
8aefc6f verified
import smolagents, numpy, math, xlrd, os
import pandas as pd
from typing import Union
from smolagents import (
tool,
CodeAgent,
HfApiModel,
InferenceClientModel,
WebSearchTool,
PythonInterpreterTool,
FinalAnswerTool,
DuckDuckGoSearchTool,
GoogleSearchTool
)
#*
#
class newAgent:
"""Adapts smolagents.CodeAgent to the HF course template API."""
def __init__(self):
model_id = "Qwen/Qwen2.5-Coder-32B-Instruct" # correct repo name
hf_token = os.getenv("HUGGINGFACEHUB_API_TOKEN") # read real secret
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."
)
#*
model = HfApiModel(model_id=model_id, token=hf_token)
# include FinalAnswerTool in tools so agent knows when to stop
tools = [FinalAnswerTool()]
self.agent = CodeAgent(
tools=tools,
model=model,
add_base_tools=True,
max_steps=3 # limit reasoning time
)
def __call__(self, question: str) -> str:
"""ONE question in β†’ ONE pure-text answer out."""
#↓ Replace .run with whatever method actually returns the answer string.
result = self.agent.run(question)
return result
#answer = self.run
#agent.run(
# "At what temperature and for how long should I bake French baguettes made with type 65 flour?",
#)