perf: pré-chargement docTR au démarrage + nettoyage debug logs
Some checks failed
security-audit / Bandit (scan statique) (push) Successful in 13s
security-audit / pip-audit (CVE dépendances) (push) Successful in 12s
security-audit / Scan secrets (grep) (push) Successful in 9s
tests / Lint (ruff + black) (push) Successful in 14s
tests / Tests unitaires (sans GPU) (push) Failing after 15s
tests / Tests sécurité (critique) (push) Has been skipped

docTR se chargeait au premier appel OCR (~30s). Maintenant pré-chargé
au démarrage du backend → premier clic rapide.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dom
2026-04-21 17:25:35 +02:00
parent 0b452f975a
commit 74ee0dadee
3 changed files with 19 additions and 1 deletions

View File

@@ -9,7 +9,7 @@ from typing import List, Optional
import numpy as np
from PIL import Image
# Singleton paresseux
# Singleton — chargé une seule fois
_predictor = None
@@ -28,6 +28,15 @@ def _get_predictor():
return _predictor
def preload():
"""Pré-charge le modèle OCR au démarrage."""
try:
_get_predictor()
print("✅ [OCR] docTR pré-chargé")
except Exception as e:
print(f"⚠️ [OCR] Pré-chargement échoué: {e}")
def ocr_extract_text(image: Image.Image) -> str:
"""Extrait le texte brut d'une image PIL.