Spaces:
Runtime error
Runtime error
| # api/app_new.py | |
| import uvicorn | |
| import re | |
| from fastapi import FastAPI | |
| from fastapi.middleware.cors import CORSMiddleware | |
| from .config import setup_logging, check_system_resources, optimize_memory, CORS_ORIGINS, validate_environment | |
| from .database import db_manager | |
| from .routes import router | |
| # ✅ Validate environment | |
| validate_environment() | |
| # ✅ Setup logging | |
| logger = setup_logging() | |
| logger.info("🚀 Starting Medical Chatbot API...") | |
| # ✅ Monitor system resources | |
| check_system_resources(logger) | |
| # ✅ Optimize memory usage | |
| optimize_memory() | |
| # ✅ Initialize FastAPI app | |
| app = FastAPI( | |
| title="Medical Chatbot API", | |
| description="AI-powered medical chatbot with RAG and search capabilities", | |
| version="1.0.0" | |
| ) | |
| # ✅ Add CORS middleware | |
| app.add_middleware( | |
| CORSMiddleware, | |
| allow_origins=CORS_ORIGINS, | |
| allow_credentials=True, | |
| allow_methods=["*"], | |
| allow_headers=["*"], | |
| ) | |
| # ✅ Initialize database connections | |
| try: | |
| db_manager.initialize_embedding_model() | |
| db_manager.initialize_mongodb() | |
| logger.info("✅ Database connections initialized successfully") | |
| except Exception as e: | |
| logger.error(f"❌ Database initialization failed: {e}") | |
| raise | |
| # ✅ Include routes | |
| app.include_router(router) | |
| # ✅ Run Uvicorn | |
| if __name__ == "__main__": | |
| logger.info("[System] ✅ Starting FastAPI Server...") | |
| try: | |
| uvicorn.run(app, host="0.0.0.0", port=7860, log_level="info") | |
| except Exception as e: | |
| logger.error(f"❌ Server Startup Failed: {e}") | |
| exit(1) | |