MHamdan's picture
Initial commit with full functionality extend app req tools
3cd3230
raw
history blame
1.74 kB
# app.py
from smolagents import CodeAgent, HfApiModel, Tool
import logging
from Gradio_UI import GradioUI
# Configure logging
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(levelname)s - %(message)s'
)
logger = logging.getLogger(__name__)
class AnalysisTool(Tool):
"""Tool for analyzing web content."""
name = "web_analyzer"
description = "Analyzes web content for summaries, sentiment, and topics"
def forward(self, text: str, analysis_type: str) -> str:
"""Process the text based on analysis type."""
return text
def create_agent():
"""Create and configure the agent."""
try:
# Initialize tools
analyzer = AnalysisTool()
# Initialize model
model = HfApiModel(
model_id='Qwen/Qwen2.5-Coder-32B-Instruct',
max_tokens=2096,
temperature=0.5
)
# Create agent with tools
return CodeAgent(
model=model,
tools=[analyzer], # Add the tools here
max_steps=3,
verbosity_level=1
)
except Exception as e:
logger.error(f"Failed to create agent: {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
)
except Exception as e:
logger.error(f"Application failed to start: {e}")
raise
if __name__ == "__main__":
main()