| """ | |
| Dependency injection for FastAPI | |
| """ | |
| from typing import Optional | |
| from fastapi import HTTPException | |
| from api.services.model_service import ModelService | |
| # Global model service instance | |
| model_service: Optional[ModelService] = None | |
| def get_model_service() -> ModelService: | |
| """Dependency injection for model service""" | |
| if model_service is None: | |
| raise HTTPException(status_code=503, detail="Models not loaded") | |
| return model_service | |
| async def initialize_models(): | |
| """Initialize models on startup""" | |
| global model_service | |
| print("π Loading CodeBERT models...") | |
| model_service = ModelService() # Models load in __init__ | |
| print("β Models loaded successfully!") | |
| def cleanup_models(): | |
| """Cleanup on shutdown""" | |
| global model_service | |
| print("π Shutting down...") | |
| model_service = None | |