docs: état de l'art Document AI mars 2026

Recherche complète extraction/analyse fichiers:
- OCR: GLM-OCR (0.9B, TOP PICK), OCRFlux-3B, olmOCR, PaddleOCR
- Pipelines: Docling (97.9% tables), MinerU, Marker, Unstructured
- VLMs documents: GLM-4.5V, Qwen2.5-VL-72B, DeepSeek-VL2
- Recommandation: Docling remplace pdf-parse, GLM-OCR pour scannés
- Pipeline futur: indexer documents uploadés dans le RAG

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
L'électron rare
2026-03-16 23:15:40 +01:00
parent 894a2b3b0d
commit 2b279476dd
+116
View File
@@ -0,0 +1,116 @@
# État de l'art — Import & Analyse de Fichiers (Mars 2026)
Recherche sur les meilleures solutions open source locales pour l'extraction
et l'analyse de documents dans KXKM_Clown.
---
## 1. Modèles OCR / Vision-Document
### Top picks (petits, locaux)
| Modèle | Taille | Description | Pertinence KXKM |
| --- | --- | --- | --- |
| **GLM-OCR** | 0.9B | OCR multimodal (CogViT 0.4B + GLM 0.5B), 94.6 OmniDocBench, tables, formules, KIE | **TOP PICK** — ultra-léger, tourne sur CPU |
| **OCRFlux-3B** | 3B | Fine-tune Qwen2.5-VL-3B, PDF→Markdown clean, tourne sur GTX 3090 | Excellent rapport taille/qualité |
| **Qwen3.5:9b** | 5.5B | Vision native, bon en documents (déjà installé) | Déjà en place, polyvalent |
| **olmOCR** | variable | Allen AI, PDF→texte haute fidélité, tables, équations, manuscrit | Très précis, open source |
### Grands modèles (référence, si VRAM suffisante)
| Modèle | Taille | Description |
| --- | --- | --- |
| **GLM-4.5V** | 106B (12B actifs, MoE) | SOTA 41 benchmarks multimodaux |
| **Qwen2.5-VL-72B** | 72B | 131K context, extraction structurée, factures |
| **DeepSeek-VL2** | variable | Layout, tables, graphiques, ~100 langues |
---
## 2. Pipelines d'extraction de documents
### Comparatif des outils
| Outil | Type | Tables | Vitesse | Local | Recommandation |
| --- | --- | --- | --- | --- | --- |
| **Docling** (IBM) | Pipeline Python | 97.9% tables simples | 28s/doc | ✅ | **TOP PICK local** — DataFrames natifs |
| **MinerU** | Pipeline hybride VLM+OCR | Bon | Moyen | ✅ | 109 langues, multi-format |
| **Marker** | Pipeline Surya | Bon layout | 6min/doc | ✅ | Meilleur quand Docling échoue |
| **Unstructured.io** | Pipeline complet | 0.844 score | Rapide | ✅ | Meilleur score tables complexes |
| **LlamaParse** | Cloud API | Meilleure précision | 17s/doc | ❌ | Cloud requis |
| **PaddleOCR** | OCR toolkit | PP-StructureV3 | Rapide | ✅ | Multilingue, formules, manuscrit |
| **Reducto** | Cloud API | Excellent | Rapide | ❌ | API payante |
### Pipeline recommandé pour KXKM
```
Fichier uploadé
├── PDF → Docling (tables, layout, DataFrames)
│ fallback: MinerU ou Marker
├── Image → Qwen3.5:9b (vision native, déjà en place)
│ ou GLM-OCR pour extraction texte pure
├── Word/Excel/PPT → python-docx/openpyxl/python-pptx (déjà en place)
├── Audio → faster-whisper (déjà en place)
└── Texte/code → UTF-8 direct (déjà en place)
```
---
## 3. Améliorations recommandées
### Court terme (immédiat)
1. **Installer Docling** (`pip install docling`) pour remplacer pdf-parse
- Extraction tables structurées en DataFrames
- Layout analysis supérieur
- Support OCR pour PDFs scannés
2. **Pull GLM-OCR** sur Ollama (`ollama pull glm-ocr` si dispo, sinon HF)
- 0.9B = ultra-rapide
- OCR + KIE (Key Information Extraction)
### Moyen terme
3. **Intégrer MinerU** pour les documents complexes multi-pages
- Pipeline hybride VLM + OCR traditionnel
- 109 langues
4. **Utiliser Qwen3.5:9b** directement pour l'analyse de documents visuels
- Déjà installé, vision native
- Peut décrire des layouts, charts, diagrammes
### Long terme
5. **PaddleOCR** pour les cas edge (manuscrit, formules mathématiques)
6. **Pipeline RAG documentaire** : indexer les documents uploadés dans le RAG
pour que les personas puissent s'y référer dans les conversations futures
---
## 4. Comparaison avec l'état actuel KXKM
| Fonctionnalité | Actuel | Recommandé |
| --- | --- | --- |
| PDF texte | pdf-parse (basique) | **Docling** (tables, layout, OCR) |
| PDF scanné | Non supporté | Docling + OCR ou GLM-OCR |
| Images → texte | minicpm-v / qwen3-vl | **qwen3.5:9b** (déjà fait) |
| Tables Excel | openpyxl (OK) | OK, garder |
| Word | python-docx (OK) | OK, garder |
| Audio | faster-whisper (OK) | OK, garder |
| Indexation RAG | Non (fichiers jetés après analyse) | **Indexer dans le RAG** |
---
Sources:
- [MinerU - PDF→LLM-ready markdown](https://github.com/opendatalab/MinerU)
- [olmOCR - Allen AI](https://olmocr.allenai.org/)
- [GLM-OCR 0.9B](https://www.marktechpost.com/2026/03/15/zhipu-ai-introduces-glm-ocr-a-0-9b-multimodal-ocr-model-for-document-parsing-and-key-information-extraction-kie/)
- [Best Multimodal Models for Documents 2026](https://www.siliconflow.com/articles/en/best-multimodal-models-for-document-analysis)
- [Docling vs LlamaParse vs Unstructured](https://llms.reducto.ai/document-parser-comparison)
- [PDF Table Extraction Benchmark](https://procycons.com/en/blogs/pdf-data-extraction-benchmark/)
- [Best Open Source OCR Tools 2026](https://unstract.com/blog/best-opensource-ocr-tools/)
- [LLMs for OCR and PDF Parsing](https://www.cradl.ai/posts/llm-ocr)