fix: thread-safety embedding singleton + QC alertes string

- Ajout threading.Lock sur _get_embed_model() pour empêcher les
  chargements concurrents depuis ThreadPool(2) — élimine les erreurs
  "meta tensor" et les doubles CUDA OOM
- Sentinelle _embed_failed évite les retries infinis après échec
- NotImplementedError ajouté aux exceptions capturées (meta tensor)
- Fallback CPU protégé par try/except avec _embed_failed
- QC: alertes_globales string wrappée en liste (évite itération par
  caractère quand le LLM retourne une string au lieu d'une liste)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
dom
2026-02-18 11:42:14 +01:00
parent 44118f69aa
commit e74064a2e1
2 changed files with 29 additions and 7 deletions

View File

@@ -1124,6 +1124,8 @@ Réponds avec un JSON :
)
alertes_globales = result.get("alertes_globales", [])
if isinstance(alertes_globales, str):
alertes_globales = [alertes_globales]
for a in alertes_globales:
if isinstance(a, str) and a.strip():
dossier.alertes_codage.append(f"QC: {a}")