experimentation / app.py
rahulnamdev's picture
Update app.py
534160c verified
raw
history blame
1.47 kB
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)