MHamdan's picture
Initial commit with full functionality extend app req tools
5952adf
raw
history blame
1.67 kB
# 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()