83 lines
2.6 KiB
Markdown
83 lines
2.6 KiB
Markdown
# Extraction OGC — Qwen3-VL 235B
|
||
|
||
Extraction automatique des fiches OGC (Organisme de Gestion du Contrôle) vers Excel.
|
||
Modèle : **qwen3-vl:235b-cloud** (vision multimodal via Ollama).
|
||
|
||
---
|
||
|
||
## Structure du dossier
|
||
|
||
```
|
||
testExtraction2/
|
||
├── extraction.py ← script principal
|
||
├── README.md ← ce fichier
|
||
├── PLAN_EXTRACTION.md ← documentation technique détaillée
|
||
├── scanOgc/ ← 12 PDFs source (OGC 358 à 429)
|
||
└── output/
|
||
├── extraction_ogc.xlsx ← résultat (4 onglets)
|
||
└── extraction_ogc_raw.json ← données brutes pour debug
|
||
```
|
||
|
||
---
|
||
|
||
## Lancement
|
||
|
||
```bash
|
||
cd testExtraction2
|
||
|
||
# Tous les fichiers
|
||
python3 extraction.py
|
||
|
||
# Un seul fichier (relance partielle — fusionne avec le cache)
|
||
python3 extraction.py "358"
|
||
```
|
||
|
||
---
|
||
|
||
## Ce que fait le script
|
||
|
||
1. Convertit chaque page PDF en image (200 DPI)
|
||
2. Envoie l'image à **qwen3-vl:235b-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
|
||
|
||
---
|
||
|
||
## Particularités techniques
|
||
|
||
- **Thinking mode** : qwen3-vl génère ~4000 tokens de réflexion interne avant la réponse. `num_predict=8192` est obligatoire pour avoir assez de budget tokens.
|
||
- **Rate limit** : pause de 2s entre chaque requête + retry automatique sur 429 (attente 60s × tentative).
|
||
- **Ordre des pages variable** : identification par titre, pas par numéro de page.
|
||
- **Relance partielle** : `python3 extraction.py "XXX"` charge le cache JSON existant et ne réécrase que le fichier relancé.
|
||
|
||
---
|
||
|
||
## Prérequis
|
||
|
||
```bash
|
||
pip install pdf2image pillow pandas openpyxl requests
|
||
# Ollama doit tourner (ollama serve)
|
||
# Modèle requis : qwen3-vl:235b-cloud
|
||
```
|