Spaces:
Sleeping
Sleeping
| 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 |