ecom_agent / app.py
fmr-aeg's picture
Upload folder using huggingface_hub
92ff59a verified
import os
from smolagents import CodeAgent, LiteLLMModel
from src.aiagent.utils.ecom_tools import (search_on_amazon,
ParserProductDescriptionWithGuideTool, GetProductDescriptionTool,
CompareProductTool, FilterProduct, FinalAnswerTool)
from src.aiagent.ui.main_gradio import GradioUI
import yaml
from src.aiagent.core.custom_python_executor import LocalPythonExecutor
# with open('config/secrets.yaml') as f:
# SECRETS = yaml.safe_load(f)
#
# os.environ['GEMINI_API_KEY'] = SECRETS['gemini_token']
tools_model = LiteLLMModel(model_id='gemini/gemini-2.0-flash')
# reasoning_model = LiteLLMModel(model_id='gpt-4o-mini')
reasoning_model = LiteLLMModel(model_id='gemini/gemini-2.0-flash')
product_description_parser_with_guide = ParserProductDescriptionWithGuideTool(tools_model)
compare_products = CompareProductTool(tools_model)
filter_product = FilterProduct(tools_model)
get_product_description = GetProductDescriptionTool()
final_answer = FinalAnswerTool()
template = yaml.safe_load(open("config/prompt.yaml"))
agent = CodeAgent(
tools=[
get_product_description,
product_description_parser_with_guide,
search_on_amazon,
compare_products,
filter_product,
final_answer
],
model=reasoning_model,
prompt_templates=template,
max_steps=8,
verbosity_level=1,
grammar=None,
planning_interval=None,
name=None,
description=None,
additional_authorized_imports=['pandas', 'json']
)
agent.python_executor = LocalPythonExecutor(agent.additional_authorized_imports,
max_print_outputs_length=agent.max_print_outputs_length)
if __name__ == '__main__':
GradioUI(agent).launch(allowed_paths=["assets"])