File size: 1,823 Bytes
37ff7dd
413d2b0
b1437a4
413d2b0
 
5952adf
7eed016
5952adf
 
 
 
7eed016
 
 
 
 
5952adf
 
37ff7dd
39e9071
7eed016
5952adf
7eed016
5952adf
 
7eed016
5952adf
 
 
7eed016
5952adf
 
 
 
 
 
7eed016
5952adf
 
 
 
 
 
 
 
7eed016
5952adf
 
 
7eed016
5952adf
7eed016
 
 
5952adf
7eed016
5952adf
7eed016
5952adf
 
 
 
7eed016
5952adf
 
7eed016
 
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
62
63
64
65
66
67
68
69
70
# app.py
from smolagents import CodeAgent, HfApiModel
from tools.final_answer import FinalAnswerTool
import yaml
from Gradio_UI import GradioUI
import logging
import sys

# Configure logging
logging.basicConfig(
    level=logging.INFO,
    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
    handlers=[
        logging.StreamHandler(sys.stdout),
        logging.FileHandler('app.log')
    ]
)
logger = logging.getLogger(__name__)

def create_agent():
    """Create and configure the agent."""
    try:
        # Initialize tools
        final_answer = FinalAnswerTool()
        
        # Load prompts
        with open("prompts.yaml", 'r', encoding='utf-8') as stream:
            prompt_templates = yaml.safe_load(stream)
        
        # Initialize model
        model = HfApiModel(
            model_id='Qwen/Qwen2.5-Coder-32B-Instruct',
            max_tokens=2096,
            temperature=0.5
        )
        
        # Create 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"Failed to create agent: {str(e)}")
        raise

def main():
    """Main application entry point."""
    try:
        logger.info("Starting Smart Web Analyzer Plus...")
        
        # Create agent
        agent = create_agent()
        logger.info("Agent created successfully")
        
        # Create and launch UI
        ui = GradioUI(agent)
        ui.launch(
            server_name="0.0.0.0",
            server_port=7860,
            share=False
        )
    except Exception as e:
        logger.error(f"Application failed to start: {str(e)}")
        sys.exit(1)

if __name__ == "__main__":
    main()