Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
import logging | |
from fastapi import FastAPI | |
from api.router import router, verify_api_key | |
from db.models import fetch_models_for_group | |
from models.loader import load_models | |
from config.settings import RESOURCE_GROUP | |
# Configuration de base des logs | |
logging.basicConfig( | |
level=logging.INFO, | |
format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", | |
) | |
logger = logging.getLogger(__name__) | |
# Créer l'application FastAPI | |
app = FastAPI( | |
title="Tamis AI Inference API", | |
description="API pour l'inférence des modèles de classification d'objets", | |
version="0.1.0", | |
) | |
# Ajouter middleware d'authentification | |
app.middleware("http")(verify_api_key) | |
# Inclure les routes | |
app.include_router(router) | |
async def startup(): | |
"""Initialiser l'API : charger les modèles depuis la base de données.""" | |
logger.info("Starting API initialization...") | |
# Charger les modèles depuis la base de données | |
models_data = await fetch_models_for_group(RESOURCE_GROUP) | |
await load_models(models_data) | |
logger.info("API initialization complete.") | |
async def health_check(): | |
"""Point d'entrée pour vérifier l'état de l'API.""" | |
return {"status": "healthy"} | |