chore: sauvegarde état courant avant merge des branches teammates

Modifications en cours : pipeline médical (cim10_extractor, dp_finalizer,
dp_selector, fusion, rag_search), viewer (helpers, detail.html),
cache ollama et référentiels.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
dom
2026-03-08 12:36:54 +01:00
parent 214a5d1914
commit 0c38bc261b
12 changed files with 4365 additions and 82 deletions

View File

@@ -83,10 +83,38 @@ def get_pipeline():
def analyze(text: str) -> EdsnlpResult:
"""Analyse un texte médical avec edsnlp.
Essaie le serveur distant d'abord, puis fallback local.
Retourne les entités CIM-10, médicaments et dates détectées.
"""
result = EdsnlpResult()
# Essayer le serveur distant d'abord
try:
from .remote_embed import ner_remote
remote = ner_remote(text)
if remote is not None and "error" not in remote:
for ent in remote.get("cim10", []):
result.cim10_entities.append(CIM10Entity(
texte=ent["text"], code=ent["code"],
negation=ent.get("negation", False),
hypothese=ent.get("hypothesis", False),
))
for ent in remote.get("drugs", []):
result.drug_entities.append(DrugEntity(
texte=ent["text"], code_atc=ent.get("code_atc"),
negation=ent.get("negation", False),
))
for ent in remote.get("dates", []):
result.date_entities.append(DateEntity(
texte=ent["text"], value=ent.get("value"),
))
logger.debug("edsnlp distant: %d CIM-10, %d drugs, %.0fms",
len(result.cim10_entities), len(result.drug_entities),
remote.get("time_ms", 0))
return result
except ImportError:
pass
if not is_available():
return result