""" EduTutor AI - Main Application Entry Point Simplified main file to avoid ClamAV issues """ import subprocess import sys def install_requirements(): """Install required packages if not available""" required_packages = [ 'torch', 'transformers', 'huggingface-hub', 'gradio', 'sympy', 'numpy' ] for package in required_packages: try: __import__(package) except ImportError: print(f"Installing {package}...") subprocess.check_call([sys.executable, "-m", "pip", "install", package]) # Install requirements before importing install_requirements() # Import our modular components from core.tutor_ai import EduTutorAI from core.features import EducationalFeatures from interface.gradio_app import create_gradio_interface from utils.setup import setup_environment def main(): """Main function to run the EduTutor AI application""" print("🎓 Starting EduTutor AI Application...") # Setup environment setup_environment() # Initialize components ai_tutor = EduTutorAI() features = EducationalFeatures(ai_tutor) # Load model model_ready = ai_tutor.load_model() if not model_ready: print("⚠️ Warning: AI model failed to load. Using fallback responses.") # Create and launch interface print("🌐 Creating web interface...") gradio_app = create_gradio_interface(ai_tutor, features) print("🚀 Launching EduTutor AI on port 7860...") print("🌟 EduTutor AI is now ready!") print("💡 Features available:") print(" • 🤖 AI Chat Tutor") print(" • 📊 Advanced Homework Analyzer") print(" • 📝 Interactive Quizzes") print(" • 📋 Study Plan Generator") print(" • 📈 Progress Tracking") gradio_app.launch( server_port=7860, server_name="0.0.0.0", share=True, show_error=True, quiet=False ) if __name__ == "__main__": main()