Spaces:
Sleeping
Sleeping
File size: 905 Bytes
71c1ad2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | # app/dependencies.py
# FastAPI dependency injection
from app.models.model_registry import model_registry
from app.services.redis_service import redis_service
from app.services.mongo_service import mongo_service
async def require_models():
"""Dependency: ensure models are loaded."""
status = model_registry.get_status()
if not status.get("text_model") and not status.get("image_model"):
from fastapi import HTTPException
raise HTTPException(
status_code=503,
detail="AI models not loaded. Server is starting up.",
)
return model_registry
async def require_mongo():
"""Dependency: ensure MongoDB is connected."""
if not mongo_service.is_connected:
from fastapi import HTTPException
raise HTTPException(
status_code=503,
detail="MongoDB not available.",
)
return mongo_service
|