Files
ScanOGC_extract/README.md
2026-04-24 11:04:31 +02:00

2.9 KiB
Raw Permalink Blame History

Extraction OGC — Ministral-3 8B

Extraction automatique des fiches OGC (Organisme de Gestion du Contrôle) vers Excel. Modèle : ministral-3:8b-cloud (vision via Ollama).


Structure du dossier

TestExtract_mistral/
├── extraction.py          ← script principal
├── README.md              ← ce fichier
├── scanOgc -> ../testExtraction2/scanOgc   ← lien symbolique vers les PDFs
└── output/
    ├── extraction_ogc.xlsx      ← résultat (4 onglets)
    └── extraction_ogc_raw.json  ← données brutes pour debug

Lancement

cd TestExtract_mistral

# Tous les fichiers
python3 extraction.py

# Un seul fichier (relance partielle — fusionne avec le cache)
python3 extraction.py "358"

Ce que fait le script

Même logique que le projet qwen (testExtraction2) :

  1. Convertit chaque page PDF en image (200 DPI)
  2. Envoie l'image à ministral-3:8b-cloud pour identifier le type de page
  3. Ignore la page "Séjour d'hospitalisation complète" (bloc manuscrit — phase 2)
  4. Pour chaque autre page, extrait les données en JSON via un prompt dédié
  5. Assemble tout en Excel (4 onglets)

Types de pages traités

Type Action
FICHE_RECUEIL Extrait (données séjour, codages, GHM/GHS)
ELEMENTS_PREUVE Extrait (tableau 17 documents)
FICHE_ADMIN_2_2 Extrait (GHS final, décision concertation)
FICHE_ADMIN_1_2 Extrait (argumentaire imprimé complet)
SEJOUR_MANUSCRIT Ignoré — commentaires manuscrits (phase 2)
FICHE_CONCERTATION_VIDE Ignoré — page vide

Sortie Excel (4 onglets)

Données principales — 1 ligne par OGC, tous les champs scalaires
Diagnostics — 1 ligne par code (DP/DR/DAS), établissement + recodage
Actes — 1 ligne par acte CCAM, établissement + recodage
Eléments de preuve — 1 ligne par type de document × OGC


Différences vs projet Qwen

Qwen3-VL 235B Ministral-3 8B
Vitesse par page ~10100s ~210s
Thinking mode Oui (num_predict=8192 obligatoire) Non (num_predict=2048 suffit)
Rate limit Modéré Plus serré — pause 3s entre requêtes
JSON malformé Rare Parfois des newlines dans les valeurs

Particularités techniques

  • Pas de thinking : ministral répond directement, les prompts courts et le num_predict=2048 suffisent.
  • Rate limit serré : pause de 3s entre chaque requête + retry automatique sur 429. Ne pas lancer en parallèle avec le projet qwen.
  • Newlines dans JSON : ministral peut inclure des sauts de ligne dans les valeurs string — le parser les nettoie automatiquement.
  • Relance partielle : python3 extraction.py "XXX" charge le cache JSON existant.

Prérequis

pip install pdf2image pillow pandas openpyxl requests
# Ollama doit tourner (ollama serve)
# Modèle requis : ministral-3:8b-cloud