Spaces:
Sleeping
Sleeping
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?", | |
#) |