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

95 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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
```bash
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
```bash
pip install pdf2image pillow pandas openpyxl requests
# Ollama doit tourner (ollama serve)
# Modèle requis : ministral-3:8b-cloud
```