EDUTUTOR_AI / app.py
RLikhitha's picture
Create app.py
165831c verified
"""
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()