Download agent_tools.py from madsc13nt1st/Final_Assignment_Template: direct link, hf CLI and curl.
- Browser
- Download file 3.05 kB
-
https://huggingface.co/spaces/madsc13nt1st/Final_Assignment_Template/resolve/main/agent_tools.py
- Command line
-
hf download hf://spaces/madsc13nt1st/Final_Assignment_Template/agent_tools.py
-
curl -L -o agent_tools.py https://huggingface.co/spaces/madsc13nt1st/Final_Assignment_Template/resolve/main/agent_tools.py
3.05 kB
| from bs4 import BeautifulSoup | |
| from smolagents import tool, Tool | |
| import markdownify | |
| import openpyxl | |
| import requests | |
| import tabulate | |
| import whisper | |
| # Calculator Tools | |
| def addition_tool(a:float, b:float)->float: | |
| """ | |
| Takes two floating point numbers and returns the results of their addition. | |
| Args: | |
| a: First number of the addition operation | |
| b: Second number of the addition operation | |
| """ | |
| return f"The result of addition between {a} and {b} is {a+b}" | |
| def subtraction_tool(a:float, b:float)->float: | |
| """ | |
| Takes two floating point numbers and returns the results of their subtraction. | |
| Args: | |
| a: First number of the subtraction operation | |
| b: Second number of the subtraction operation | |
| """ | |
| return f"The result of subtraction between {a} and {b} is {a-b}" | |
| def multiplication_tool(a:float, b:float)->float: | |
| """ | |
| Takes two floating point numbers and returns the results of their addition. | |
| Args: | |
| a: First number of the multiplication operation | |
| b: Second number of the multiplication operation | |
| """ | |
| return f"The result of multiplication between {a} and {b} is {a*b}" | |
| def division_tool(a:float, b:float)->float: | |
| """ | |
| Takes two floating point numbers and returns the results of their addition. | |
| Args: | |
| a: The dividend of the division operation | |
| b: The divisor of the division operation | |
| """ | |
| return f"The result of division between {a} and {b} is {a/b}" | |
| def exponent_tool(a:float, b:int)->float: | |
| """ | |
| Takes a floating point number and an integer expoent and returns the results of their exponential operation. | |
| Args: | |
| a: Base number of the addition operation | |
| b: Exponent number of the addition operation | |
| """ | |
| return f"The result of exponential operation between {a} and {b} is {a**b}" | |
| def modulus_tool(a:int, b:int)->float: | |
| """Get the modulus of two numbers. | |
| Args: | |
| a: first int | |
| b: second int | |
| """ | |
| return f"The result of modulus operation between {a} and {b} is {a%b}" | |
| # Main Tools | |
| def transcriber_tool(file_path:str)->str: | |
| """ | |
| Takes the file path of an audio file and returns the transcribed text | |
| Args: | |
| file_path: File path of audio file | |
| """ | |
| model = whisper.load_model("base") # You can try "small" or "medium" for better accuracy | |
| # Transcribe the audio | |
| result = model.transcribe(file_path)["text"] | |
| # Print the text | |
| return f"The result of the transcription is: \n{result}" | |
| def excel_loader_tool(file_path:str)->str: | |
| """ | |
| For loading and reading the contents of an excel file. | |
| Args: | |
| file_path: File path of the excel file | |
| """ | |
| def format_sheet(data): | |
| import tabulate | |
| return tabulate.tabulate(data[1:], headers=data[0], tablefmt="github") | |
| wb = openpyxl.load_workbook(file_path) | |
| ws = wb.active | |
| my_list = list() | |
| for value in ws.iter_rows( | |
| min_row=1, max_row=ws.max_row, min_col=1, max_col=ws.max_column, | |
| values_only=True): | |
| my_list.append(value) | |
| return f"The result of the excel Loader is; \n\n{format_sheet(my_list)}" |