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