my_fibo_tool / tool.py
Y0g's picture
Update tool.py
42cd355 verified
Raw
History Blame Contribute Delete
779 Bytes
from smolagents import tool
import numpy as np
@tool
def fibonacci_element(element:str)->str:
"""
Computes FibonacciSequenceElement for give sequence number
Args:
element: sequence number
Returns:
fibonacci element value
"""
sqrt5 = np.sqrt(5)
element = int(element)
return str(int(np.round(1/sqrt5 * (((1+sqrt5)/2)**element-((1-sqrt5)/2)**element))))
from smolagents import Tool
class FiboTool(Tool):
name = "FiboTool"
description = """
Computes Fibonacci Sequence Element for given sequence number"""
inputs = {
"element": {
"type": "string",
"description": "sequence number",
}
}
output_type = "string"
def forward(self, element: str):
return fibonacci_element(element)