Le parsing, angle mort de votre RAG : voir, vérifier, et passer au chunkless
Jeudi 10:25, Amphi B
Votre RAG répond à côté, et vous ne savez pas pourquoi. Avant de toucher au prompt ou au modèle de retrieval, le vrai problème est souvent beaucoup plus en amont, là où personne ne regarde : ce que vos documents sont réellement devenus une fois parsés. Garbage in, garbage out.
Ce talk part du débogage concret d’un pipeline RAG en production. Premier réflexe : inspecter visuellement ce qu’un pipeline de document understanding moderne a réellement extrait, et tracer chaque élément jusqu’à sa position d’origine via ses bounding boxes. C’est ce que fait l’outil (open source, license MIT) que je développe autour de Docling. On voit alors ce qui casse en silence : tableaux aplatis, ordre de lecture rompu, structure perdue. Des erreurs qu’aucune métrique de retrieval ne vous signalera.
Une fois l’extraction fiabilisée, le problème se déplace : que faire de ce contenu ? Le RAG classique le découpe en chunks. Et c’est là que ça se complique, moins sur le choix de la stratégie de découpage que sur le versioning. Quand un document évolue, il faut le re-découper, le re-embedder et réconcilier le tout sans laisser de vecteurs orphelins. Cette dette de maintenance est rarement le sujet des talks RAG, c’est pourtant elle qui coûte cher en production. Et c’est en la maîtrisant, autant que le parsing en amont, qu’on a fait passer notre système en production à 95% de bonnes réponses.
C’est cette douleur du versioning qui amène la dernière partie : et si on ne découpait plus du tout ? C’est l’idée du RAG chunkless, un concept porté par l’équipe Docling (IBM Research) et présenté lors d’un webinar LF AI & Data : plutôt qu’un découpage arbitraire, un agent parcourt directement la structure parsée du document. Le projet qui porte ce travail, docling-agent, est encore en cours, et j’y contribue. Côté Docling Studio, j’apporte la couche visuelle : voir l’agent raisonner et naviguer dans le document plutôt que le deviner depuis des logs. On verra ce que ça simplifie, mais aussi ses limites : chunkless ne veut pas dire sans unité de récupération, la question de ce qu’on indexe et de ce qu’on renvoie reste entière. Je présenterai l’état actuel de la réflexion, sans prétendre que c’est une solution universelle.
Le tout illustré par une démonstration live sur documents réels, cas qui passent et cas qui cassent. Vous repartez avec un outil open source et une méthode pour déboguer votre RAG là où ça compte vraiment : en amont.
Pier-Jean Malandrino
Pier-Jean Malandrino est CTO de SCUB (ESN basée à Bordeaux et Angoulême).
Il conçoit et déploie des systèmes RAG en production (retrieval hybride BM25 + pgvector sur infrastructure GPU dédiée), ainsi que des systèmes agentiques.
Côté recherche, il travaille sur la quantification extrême des LLM. Il a réalisé une implémentation Rust indépendante de LLVQ (quantification 2 bits par réseau de Leech, Qualcomm AI Research), avec un noyau CUDA de décodage fusionné, et publié ces travaux sur arXiv : « Unfolding the Leech Lattice: Fused Multi-Shell Decoding and VRAM Layouts for 2-Bit LLM Weights » (évaluation sur Qwen3, de 4B à 14B). Ce travail a aussi donné lieu à une contribution intégrée à candle, le framework ML en Rust de Hugging Face. Contributeur de l’écosystème Docling, le projet open source de parsing documentaire d’IBM Research, il y développe Docling-Studio.
Il accompagne également Karate Labs (éditeur du framework open source de test Karate) comme advisor sur l’automatisation de tests pilotée par IA.
Il est Ambassadeur IA pour le programme « Osez l’IA » du Ministère de l’Économie, et Core Member DZone (une trentaine d’articles sur le RAG, l’IA appliquée et l’architecture logicielle).
