Spaces:
Sleeping
Sleeping
# 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() |