omarViga's picture
Update app.py
e02d9a1 verified
import yaml
import os
from smolagents import CodeAgent, InferenceClientModel, GradioUI
# Get current directory path
CURRENT_DIR = os.path.dirname(os.path.abspath(__file__))
# Importa herramientas personalizadas
from tools.web_search import DuckDuckGoSearchTool as WebSearch
from tools.visit_webpage import VisitWebpageTool as VisitWebpage
from tools.suggest_menu import SimpleTool as SuggestMenu
from tools.catering_service_tool import SimpleTool as CateringServiceTool
from tools.superhero_party_theme_generator import SuperheroPartyThemeTool as SuperheroPartyThemeGenerator
from tools.final_answer import FinalAnswerTool as FinalAnswer
# Usa modelo público y gratuito
model = InferenceClientModel(
model_id="mistralai/Mistral-7B-Instruct-v0.2"
)
# Instancia las herramientas
web_search = WebSearch()
visit_webpage = VisitWebpage()
suggest_menu = SuggestMenu()
catering_service_tool = CateringServiceTool()
superhero_party_theme_generator = SuperheroPartyThemeGenerator()
final_answer = FinalAnswer()
# Carga los prompts desde YAML
with open(os.path.join(CURRENT_DIR, "prompts.yaml"), 'r') as stream:
prompt_templates = yaml.safe_load(stream)
# Instancia el agente
agent = CodeAgent(
model=model,
tools=[
web_search,
visit_webpage,
suggest_menu,
catering_service_tool,
superhero_party_theme_generator,
final_answer
],
managed_agents=[],
max_steps=10,
verbosity_level=2,
prompt_templates=prompt_templates
)
# Inicia la interfaz Gradio
if __name__ == "__main__":
GradioUI(agent).launch()