File size: 1,666 Bytes
37ff7dd
413d2b0
b1437a4
413d2b0
 
5952adf
 
 
 
 
 
 
 
37ff7dd
39e9071
5952adf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4518be2
37ff7dd
5952adf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# 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()