fix: prompt CPAM exige codes CIM-10 explicites, RAG résilient aux erreurs embedding
- Prompt : consigne de toujours citer les codes CIM-10 avec libellé (jamais "codage initial" sans préciser le code), appliquée dans conclusion et partout - RAG résilient : _search_rag_for_control attrape toute exception (meta tensor, CUDA OOM, index absent) et génère la contre-argumentation sans sources plutôt que de perdre silencieusement tout le contrôle CPAM - Embedding fallback : condition élargie pour couvrir "meta tensor" en plus de "memory" dans le message d'erreur RuntimeError Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -45,8 +45,9 @@ def _get_embed_model():
|
||||
logger.info("Chargement du modèle d'embedding (%s)...", _device)
|
||||
_embed_model = SentenceTransformer(EMBEDDING_MODEL, device=_device)
|
||||
except (torch.OutOfMemoryError, torch.cuda.CudaError, torch.AcceleratorError, RuntimeError) as exc:
|
||||
if _device == "cuda" and "memory" in str(exc).lower():
|
||||
logger.warning("CUDA OOM pour l'embedding — fallback CPU")
|
||||
exc_msg = str(exc).lower()
|
||||
if _device == "cuda" and ("memory" in exc_msg or "meta tensor" in exc_msg):
|
||||
logger.warning("CUDA erreur pour l'embedding — fallback CPU : %s", exc)
|
||||
torch.cuda.empty_cache()
|
||||
_embed_model = SentenceTransformer(EMBEDDING_MODEL, device="cpu")
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user