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()