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