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
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:
@@ -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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user