Spaces:
Sleeping
Sleeping
| from fastapi import FastAPI | |
| from fastapi.middleware.cors import CORSMiddleware | |
| from app.routes import router as emotion_router | |
| import os | |
| app = FastAPI( | |
| title="NLP Emotion Analyzer", | |
| description="Emotion & Sentiment Analyzer using HuggingFace models", | |
| version="1.0.0" | |
| ) | |
| app.add_middleware( | |
| CORSMiddleware, | |
| allow_origins=["*"], | |
| allow_credentials=True, | |
| allow_methods=["*"], | |
| allow_headers=["*"], | |
| ) | |
| app.include_router(emotion_router, tags=["Emotion Analyzer"]) | |
| def root(): | |
| return {"message": "Welcome to NLP Emotion Analyzer API", "status": "running", "endpoints": ["/api/predict", "/api/explain"]} | |
| # Warm up models on startup to avoid long first request | |
| def startup_event(): | |
| try: | |
| from app.model_loader import model_registry | |
| model_registry.initialize() | |
| try: | |
| from app.predict import text_predictor | |
| _ = text_predictor.predict("warm up", task="sentiment") | |
| except Exception: | |
| pass | |
| print("Models initialized.") | |
| except Exception as e: | |
| print("Models not initialized:", e) | |
| if __name__ == "__main__": | |
| import uvicorn | |
| uvicorn.run("app.main:app", host="127.0.0.1", port=8000, reload=True) | |