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:
dom
2026-03-04 22:00:40 +01:00
parent ce7a9650af
commit 798cee463f
7 changed files with 688 additions and 62 deletions

View File

@@ -5,19 +5,25 @@
# === Ollama ===
# OLLAMA_URL=http://localhost:11434
# OLLAMA_MODEL=gemma3:27b-cloud
# OLLAMA_TIMEOUT=120
# OLLAMA_MODEL=gemma3:27b
# OLLAMA_TIMEOUT=600
# OLLAMA_MAX_PARALLEL=2
# === Modèles par rôle LLM ===
# T2A_MODEL_CODING=gemma3:27b-cloud # Codage CIM-10/CCAM, extraction DAS
# T2A_MODEL_CPAM=deepseek-v3.2:cloud # CPAM passe 1 + passe 2
# T2A_MODEL_VALIDATION=deepseek-v3.2:cloud # Validation adversariale
# T2A_MODEL_CODING=gemma3:27b # Codage CIM-10/CCAM, extraction DAS
# T2A_MODEL_CPAM=mistral-small3.2:24b # CPAM passe 1 + passe 2 (TIM complet, bonne précision bio)
# T2A_MODEL_VALIDATION=qwen3:32b # Validation adversariale (rapide, modèle différent → LOGIC-3 actif)
# T2A_MODEL_QC=gemma3:12b # QC batch justifications
#
# IMPORTANT : T2A_MODEL_CPAM et T2A_MODEL_VALIDATION DOIVENT être différents
# en production pour que la validation adversariale soit réellement indépendante.
# Si identiques, la validation adversariale est automatiquement dégradée (LOGIC-3).
#
# Benchmark (dossier 183_23087212, machine locale) :
# mistral-small3.2:24b → TIM complet, meilleure précision bio, 430s
# qwen3:32b → TIM complet, rapide (302s), JSON fiable
# gemma3:27b → hallucinations bio, format TIM non respecté
# llama3.3:70b → riche mais trop lent (1743s), nécessite DGX Spark
# === Sélecteur DP (NUKE-3) ===
# T2A_DP_RANKER_LLM=1 # 1/true/yes = LLM tiebreaker actif, 0/false/no = pré-ranker déterministe uniquement