Spaces:
Sleeping
Sleeping
| from functools import wraps | |
| import time | |
| from typing import Any, Optional | |
| from smolagents.tools import Tool | |
| from smolagents import tool | |
| class Timer: | |
| def __init__(self): | |
| self.start, self.end = 0,0 | |
| def start_timer(self) -> None: | |
| '''Start timer that measures the time taken to answer the question.''' | |
| self.start = time.time() | |
| def stop_timer(self) -> float: | |
| '''Stop timer that measures the time taken to answer the question.''' | |
| self.end = time.time() | |
| return self.end - self.start | |
| def timer_tools() -> list: | |
| timer = Timer() | |
| def wrap(method): | |
| def wrapper(*args, **kwargs): | |
| return method(*args, **kwargs) | |
| return wrapper | |
| start_timer = tool(wrap(timer.start_timer)) | |
| stop_timer = tool(wrap(timer.stop_timer)) | |
| return start_timer, stop_timer |