Slava Chaunin
add timer tool
d22f12d
raw
history blame contribute delete
877 Bytes
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