feat: guardian déterministe + config modèles locaux + prompt TIM R1-R6
Guardian déterministe post-LLM (0 appel modèle, <1ms) : - Corrige les valeurs bio hallucinées via confrontation dossier - Step 1b : vérifie l'association test↔diagnostic via _BIO_THRESHOLDS - Chemin bidirectionnel : CONFIRMÉ↔NON CONFIRMÉ selon bio réelle - Force R3 : codes bio-infirmés → codes_non_defendables - Step 2b : retire les codes bio-confirmés de codes_non_defendables - Retire les moyens défendant des codes bio-contredits - _safe_bio_replace() : regex protégeant les normes [X-Y] - Nettoyage texte libre (conclusion, rappel, codes_nd, raisonnement) - Score factuel déterministe avec pénalités Config modèles pour déploiement local (DGX Spark) : - CPAM : mistral-small3.2:24b (TIM complet, bonne précision bio) - Validation : qwen3:32b (rapide, LOGIC-3 actif) - Timeout : 120s → 600s pour modèles locaux Ollama : migration /api/generate → /api/chat (messages format) Prompt CPAM_ARGUMENTATION restructuré : - R1-R6 non-négociables en tête (avant données) - Champ raisonnement_interne (chain-of-thought structuré) - 5 passes TIM avec références explicites aux règles Test cpam_quality : métriques guardian dans le résumé Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -30,6 +30,7 @@ from .cpam_validation import (
|
||||
_build_correction_prompt,
|
||||
_format_response,
|
||||
_assess_quality_tier,
|
||||
_guardian_deterministic,
|
||||
)
|
||||
|
||||
# Backward compat — sera retiré dans un commit futur
|
||||
@@ -172,6 +173,9 @@ def generate_cpam_response(
|
||||
logger.info(" CPAM : %d code(s) hors périmètre supprimé(s) : %s",
|
||||
len(sanitized), ", ".join(sanitized))
|
||||
|
||||
# 6b. Gardien déterministe — corrige hallucinations bio, force R3
|
||||
result = _guardian_deterministic(result, dossier, controle, tag_map)
|
||||
|
||||
# 7. Validation des références RAG
|
||||
ref_warnings = _validate_references(result, sources)
|
||||
if ref_warnings:
|
||||
@@ -239,6 +243,7 @@ def generate_cpam_response(
|
||||
result = corrected
|
||||
validation = validation2
|
||||
_sanitize_unauthorized_codes(result, dossier, controle)
|
||||
result = _guardian_deterministic(result, dossier, controle, tag_map)
|
||||
ref_warnings = _validate_references(result, sources)
|
||||
grounding_warnings = _validate_grounding(result, tag_map)
|
||||
code_warnings = _validate_codes_in_response(result, dossier, controle)
|
||||
|
||||
Reference in New Issue
Block a user