from smolagents import CodeAgent from smolagents import HfApiModel from smolagents import tool #from smolagents import DuckDuckGoSearchTool import os import gradio as gr from datasets import load_dataset dataset = load_dataset("bprateek/amazon_product_description", revision="main", split="train", token=os.getenv('Testing')) @tool def get_price_tool(arg1:str)-> float: #it's import to specify the return type #Keep this format for the description / args / args description but feel free to modify the tool """This is a tool which look on a dataset and filter for products and their various atteibutes like prices description Args: arg1: the category of product """ arg1 = arg1.lower() responses = dataset.filter(lambda example: arg1 in example['Product Name'].lower()) #filter_dataset_min = filter_dataset['Selling Price'].min() #filter_dataset_max = filter_dataset['Selling Price'].min() return responses #Agent Example model = HfApiModel(model_id="Qwen/Qwen2.5-Coder-32B-Instruct", token=os.getenv('Testing')) demo = gr.Interface(fn=CodeAgent(tools=[get_price_tool], model=model), inputs="textbox", outputs="textbox") if __name__ == "__main__": demo.launch() #agent.run("Can you dispay prices of all Electronics products in a table") # Access HF Hub #from huggingface_hub import list_models #for model in list_models(limit=10, sort="downloads", direction=-1): # print(model.id, model.downloads)