Spaces:
Runtime error
Runtime error
| import json | |
| import uuid | |
| import time | |
| from datetime import datetime, timezone | |
| from pathlib import Path | |
| # Dossier où seront stockés les logs de production | |
| LOG_DIR = Path("logs") | |
| LOG_PATH = LOG_DIR / "prediction_logs.jsonl" | |
| def log_prediction_event(inputs: dict, outputs: dict, status: str, latency_ms: float): | |
| """ | |
| Enregistre les détails d'une requête de prédiction dans un fichier JSONL. | |
| Permet l'analyse ultérieure de la dérive (drift) et des performances. | |
| """ | |
| # Créer le dossier s'il n'existe pas | |
| LOG_DIR.mkdir(parents=True, exist_ok=True) | |
| # Créer l'événement structuré | |
| event = { | |
| "timestamp": datetime.now(timezone.utc).isoformat(), | |
| "request_id": str(uuid.uuid4()), | |
| "status": status, | |
| "latency_ms": round(latency_ms, 2), | |
| "inputs": inputs, | |
| "outputs": outputs, | |
| } | |
| # Ajouter la ligne au fichier log | |
| with LOG_PATH.open("a", encoding="utf-8") as f: | |
| f.write(json.dumps(event) + "\n") |