from fastapi import FastAPI from app.routes.nlp import load_model_nlp, router as nlp_router from app.routes.tts import load_model_tts from app.routes.asr import load_model_asr, router as asr_router from app.routes.translation import load_model_translation, router as trans_router import os # Initialize application app = FastAPI(debug=False) @app.on_event("startup") async def startup_event(): print("[INFO] Loading all models...") try: app.state.model_nlp, app.state.tokenizer_nlp = load_model_nlp() app.state.model_trans, app.state.tokenizer_trans = load_model_translation() app.state.model_tts= load_model_tts() app.state.model_asr = load_model_asr() except Exception as e: print("[ERROR] Failed to load models:", e) print("[INFO] All models loaded.") # Include the NLP router app.include_router(nlp_router) # Include the translation router app.include_router(trans_router) # Include the ASR router app.include_router(asr_router) @app.get("/") def root(): return {"message": "Welcome to the English Learning API"}