| from smolagents import ( | |
| CodeAgent, | |
| OpenAIServerModel, | |
| DuckDuckGoSearchTool, | |
| WikipediaSearchTool | |
| ) | |
| def run_agent(model_id, level, question, file_name, ground_truth): | |
| if level == 1: | |
| max_steps = 5 | |
| elif level == 2: | |
| max_steps = 10 | |
| elif level == 3: | |
| max_steps = 20 | |
| print("###") | |
| print(level) | |
| print(max_steps) | |
| print("###") | |
| agent = CodeAgent( | |
| add_base_tools = True, | |
| additional_authorized_imports = ["pandas", "numpy"], | |
| max_steps = max_steps, | |
| model = OpenAIServerModel(model_id = model_id), | |
| tools = [DuckDuckGoSearchTool(), | |
| WikipediaSearchTool()], | |
| verbosity_level = 2 | |
| ) | |
| answer = agent.run(question) | |
| return answer, str(answer == ground_truth) |