Spaces:
Sleeping
Sleeping
File size: 877 Bytes
d22f12d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | 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):
@wraps(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 |