feat: architecture multi-modèles LLM + quality engine + benchmark
- Multi-modèles : 4 rôles LLM (coding=gemma3:27b-cloud, cpam=gemma3:27b-cloud, validation=deepseek-v3.2:cloud, qc=gemma3:12b) avec get_model(role) - Prompts externalisés : 7 templates dans src/prompts/templates.py - Cache Ollama : modèle stocké par entrée (migration auto ancien format) - call_ollama() : paramètre role= (priorité: model > role > global) - Quality engine : veto_engine + decision_engine + rules_router (YAML) - Benchmark qualité : scripts/benchmark_quality.py (A/B, métriques CIM-10) - Fix biologie : valeurs qualitatives (troponine négative) non filtrées - Fix CPAM : gemma3:27b-cloud au lieu de deepseek (JSON tronqué par thinking) - CPAM max_tokens 4000→6000, viewer admin multi-modèles - Benchmark 10 dossiers : 100% DAS valides, 10/10 CPAM, 243s/dossier Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
34
config/bio_rules.yaml
Normal file
34
config/bio_rules.yaml
Normal file
@@ -0,0 +1,34 @@
|
||||
version: 2
|
||||
|
||||
# Règles biologiques (contradiction bio ⇒ ruled_out)
|
||||
# + garde-fou "preuve manquante" (diag d'ionogramme sans valeur extraite ⇒ NEED_INFO)
|
||||
#
|
||||
# Objectif: éviter des FAIL "bêtes" quand la biologie contredit clairement un diagnostic,
|
||||
# et éviter des PASS "trop optimistes" quand on n'a même pas la valeur biologique.
|
||||
#
|
||||
# Hiérarchie des seuils:
|
||||
# - Priorité aux normes du document (ex: [N: 135-145])
|
||||
# - Sinon fallback config/reference_ranges.yaml
|
||||
# - Si âge inconnu/enfant: safe zones conservatrices (reference_ranges.yaml)
|
||||
|
||||
missing_evidence:
|
||||
enabled: true
|
||||
veto: VETO-17
|
||||
severity: LOW
|
||||
score_penalty: 2
|
||||
|
||||
rules:
|
||||
hyponatremia:
|
||||
enabled: true
|
||||
codes: ["E87.1"] # hyponatrémie
|
||||
analyte: sodium
|
||||
|
||||
hyperkalemia:
|
||||
enabled: true
|
||||
codes: ["E87.5"] # hyperkaliémie
|
||||
analyte: potassium
|
||||
|
||||
hypokalemia:
|
||||
enabled: true
|
||||
codes: ["E87.6"] # hypokaliémie
|
||||
analyte: potassium
|
||||
Reference in New Issue
Block a user