# app.py from smolagents import CodeAgent, HfApiModel from tools.final_answer import FinalAnswerTool import yaml from Gradio_UI import GradioUI import logging # Configure logging logging.basicConfig( level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s' ) logger = logging.getLogger(__name__) def create_agent(): try: # Initialize the final answer tool final_answer = FinalAnswerTool() # Load prompt templates with open("prompts.yaml", 'r', encoding='utf-8') as stream: prompt_templates = yaml.safe_load(stream) # Create the model model = HfApiModel( model_id='Qwen/Qwen2.5-Coder-32B-Instruct', max_tokens=2096, temperature=0.5 ) # Create and return the agent return CodeAgent( model=model, tools=[final_answer], max_steps=6, verbosity_level=1, prompt_templates=prompt_templates ) except Exception as e: logger.error(f"Error creating agent: {str(e)}") raise def main(): try: # Create and launch the agent logger.info("Initializing Smart Web Analyzer Plus...") agent = create_agent() # Initialize and launch UI ui = GradioUI(agent) ui.launch( server_name="0.0.0.0", server_port=7860, share=False # Set to True if you want to share publicly ) except Exception as e: logger.error(f"Application startup failed: {str(e)}") raise if __name__ == "__main__": main()