Le chatbot annonce « 125 € l’unité » et cite le tarif fournisseur. Le PDF contient bien le nombre 125, mais la colonne indique « prix HT pour dix pièces ». La référence voisine ressemble à celle demandée et une note réserve ce prix aux commandes d’au moins trente pièces. L’erreur paraît crédible parce que le document existe et que l’OCR a reconnu les chiffres. Le problème vient des relations perdues autour de ces chiffres.
En pratique, un RAG sur des PDF scannés doit transporter une preuve structurée jusqu’à la réponse : document, version, page, ligne, en-tête, unité et condition applicable. La conception d’une IA documentaire sur mesure ne se limite pas à verser les caractères reconnus dans un index vectoriel. Elle doit permettre de vérifier à quoi un montant se rapporte, puis de retrouver visuellement le passage qui le justifie.
Nous suivons un tarif fictif de pièces industrielles, avec deux références proches et un tableau réparti sur deux pages. Le dossier propose un contrat de données, un exemple de calcul et une recette de recherche. Les valeurs sont rédigées pour l’explication : aucun moteur OCR, index RAG ou modèle de génération n’est évalué ici. Les résultats de vos outils devront être mesurés sur vos documents autorisés.
Le développement d’un chatbot RAG d’entreprise doit distinguer cinq contrôles : lecture des caractères, restitution de la structure, conservation du contexte, récupération de la bonne preuve et formulation finale. Les fusionner dans un indicateur de « réponse pertinente » rend le diagnostic difficile. Les séparer permet de corriger le premier endroit où l’information utile disparaît.
Pour qui les tableaux scannés changent la recette RAG
Des documents que le métier lit avec leur mise en page
Ce dossier concerne les équipes qui interrogent des tarifs, nomenclatures, bordereaux, rapports techniques ou catalogues archivés en PDF. Dans ces documents, la position exprime souvent une relation : une cellule hérite de l’unité de sa colonne, une ligne appartient à une gamme et un astérisque renvoie à une condition. La qualité du texte extrait ne suffit pas à vérifier que ces relations ont survécu.
Le risque est particulièrement élevé lorsque la réponse déclenche ensuite un devis, un achat ou une préparation ERP. Un gestionnaire peut corriger une phrase maladroite ; il repère moins facilement un nombre plausible attribué à la mauvaise référence. Avant le projet, identifiez les champs dont une erreur aurait une conséquence opérationnelle et les décisions qui doivent rester soumises à validation.
Commencer par le fichier structuré lorsqu’il existe
Un export produit ou un tarif tabulaire maintenu par le fournisseur peut être préférable à la reconstruction d’un scan. Vérifiez cependant sa version, son périmètre et ses conditions : un fichier facile à lire peut être ancien ou incomplet. Le document signé ou publié reste parfois la pièce de référence. L’architecture doit alors relier la donnée exploitable à cette preuve, plutôt que remplacer silencieusement l’une par l’autre.
Si seuls des scans sont disponibles, classez-les par famille et qualité. Un tableau net à grille régulière, une photocopie inclinée et une page photographiée ne présentent pas les mêmes difficultés. Mesurez les résultats par famille. Une moyenne dominée par les pages faciles peut masquer un échec systématique sur les documents les plus importants pour vos utilisateurs.
Repérer la perte dans les cinq étages du traitement
| Étage | Erreur possible | Contrôle utile |
|---|---|---|
| OCR | 125,00 devient 12500 ; O devient 0 | Comparer la transcription brute à l’image de la zone |
| Structure | Le montant est rattaché à la ligne voisine | Vérifier ligne, colonne et cellules fusionnées |
| Préparation des fragments | L’unité ou la note reste hors du fragment | Vérifier les éléments nécessaires à chaque réponse |
| Recherche | La bonne ligne existe mais n’est pas récupérée | Tracer les candidats et leurs filtres |
| Réponse | La condition est omise ou le calcul est faux | Comparer chaque affirmation à ses preuves |
Un changement de modèle de génération n’agit pas sur tous ces défauts. Si l’index contient déjà « 125 € par pièce », le modèle peut répéter fidèlement une donnée mal préparée. Si le bon fragment est exclu par un filtre de version, augmenter la taille du contexte ne le rend pas accessible. Conservez une trace intermédiaire à chaque étage afin d’éviter les corrections au hasard.
Le diagnostic part d’une question précise et de sa réponse attendue. Retrouvez d’abord la page, puis la sortie d’analyse, le fragment stocké, les résultats récupérés et le contexte transmis. Cette chaîne de traçabilité permet d’attribuer la correction : scan, parseur, indexation, recherche ou réponse. Elle évite aussi de demander à l’utilisateur de reformuler indéfiniment une question alors que l’information a été perdue en amont.
Cas concret : 125 euros pour dix pièces
Le tableau de référence du scénario
Le document fictif TAR-2026-B, révision 3, s’applique à partir du 1er octobre. Sa page 4 contient les deux lignes ci-dessous. La condition « minimum trente pièces pour AX-10B » apparaît dans une note de tableau ; elle ne concerne pas automatiquement AX-10R. Tous les montants sont HT et en euros. Cette description constitue l’annotation attendue pour l’exercice, pas un tarif réel ni un résultat extrait automatiquement.
| Référence | Emballage | Base du prix | Montant HT | Condition |
|---|---|---|---|---|
| AX-10B | 10 pièces par boîte | 10 pièces | 125,00 € | Minimum 30 pièces |
| AX-10R | 10 pièces par boîte | 10 pièces | 152,00 € | Aucune condition indiquée dans cet extrait |
À la question « combien pour trois boîtes de AX-10B ? », la réponse attendue calcule trente pièces et 375 € HT, hors éléments non présents dans l’extrait comme le transport. Elle précise que le minimum indiqué est atteint. Le prix ramené à la pièce est 12,50 € HT, mais cette conversion ne supprime pas le minimum de commande. Une valeur calculée doit rester distinguée d’une valeur directement écrite dans la source.
Trois réponses plausibles qui seraient fausses
« 125 € par pièce » conserve le nombre mais perd sa base. « 456 € pour trois boîtes » utilise le prix de AX-10R. « 250 € pour deux boîtes, commande possible » calcule correctement le montant théorique mais ignore le minimum applicable à AX-10B. Ces erreurs exigent des contrôles différents : relation à l’en-tête, identité de la ligne et portée de la note.
Pour deux boîtes, la réponse utile indique vingt pièces, un montant théorique de 250 € HT au tarif affiché, puis signale que la condition minimale n’est pas satisfaite. Elle ne doit pas inventer un supplément ou autoriser la commande. Le gestionnaire doit pouvoir ouvrir la ligne et la note depuis la réponse. Citer uniquement la couverture du catalogue ne permet pas cette vérification.
Conserver la lecture brute avant toute normalisation
Ne pas corriger une référence par ressemblance
Gardez la transcription OCR brute à côté de la valeur normalisée et de sa provenance. Une référence AX-1OB avec une lettre O peut ressembler à AX-10B avec un zéro. Une recherche approximative peut proposer un candidat, mais la correspondance ne doit pas devenir certaine sans règle ou confirmation. Le même principe vaut pour un signe moins, une virgule décimale ou un exposant d’unité peu lisible.
Un score de confiance du moteur peut aider à prioriser une revue ; il ne représente pas automatiquement la probabilité que la réponse métier soit correcte. Une cellule bien reconnue peut appartenir à la mauvaise colonne. Fixez les seuils de revue à partir d’un échantillon annoté de vos documents, en distinguant les champs critiques et les familles de scans. Conservez les erreurs observées derrière chaque seuil.
Rendre l’illisibilité visible dans le contrat
Le contrat doit autoriser les états lisible, absent, ambigu et illisible, sans les réduire à une chaîne vide. Un montant illisible interdit un calcul fiable ; une condition absente du fragment invite à consulter le voisinage. Le système doit indiquer ce qu’il manque et quelle pièce pourrait le résoudre. Une valeur nulle ne veut pas dire zéro euro, et une case vide ne prouve pas une gratuité.
Le prétraitement d’image peut améliorer une page inclinée ou peu contrastée, mais il faut garder l’original et la transformation appliquée. Comparez les versions sur les mêmes zones critiques. Si une amélioration rend un séparateur plus net tout en effaçant un signe ou une note, elle ne constitue pas un progrès global. La reprise manuelle doit pouvoir revenir à la pièce d’origine.
Relier chaque cellule à ses en-têtes et à ses notes
Ce que les outils d’analyse peuvent fournir
La documentation Layout de Microsoft décrit notamment les indices de ligne et de colonne, les étendues de cellules et les zones géométriques. Ces éléments permettent de conserver les relations du tableau. Leur présence dans une réponse API ne prouve pas que chaque relation est juste : les pages représentatives doivent encore être comparées à leur image.
Le format Markdown documenté par Microsoft utilise des tables HTML pour les structures complexes et conserve les notes comme paragraphes séparés. Une étape qui ne garde que les cellules peut donc perdre une condition. Définissez explicitement comment la note est liée aux lignes qu’elle modifie, puis vérifiez cette liaison dans le fragment utilisé par le RAG.
Choisir une représentation qui garde le sens
Pour notre tarif, une ligne exploitable contient la référence, le conditionnement, le prix, sa base de dix pièces, la devise, la qualification HT et la condition minimale. Ajoutez l’identifiant du document, sa révision, la page et les zones d’origine. Une représentation textuelle peut servir à la recherche, tandis que les valeurs structurées servent aux contrôles et aux calculs. Les deux dérivent de la même version vérifiée.
Évitez d’aplatir une table en une succession de nombres sans libellés. À l’inverse, recopier tout le document dans chaque fragment augmente le bruit et complique les mises à jour. Conservez le contexte minimal qui permet de répondre correctement : ligne, en-têtes nécessaires, titre de section et notes applicables. La taille du fragment devient une conséquence de cette unité de sens, pas un nombre de caractères choisi seul.
Traiter une continuation de tableau comme une hypothèse
La page 5 de notre scénario poursuit le tarif, avec un en-tête abrégé. Il ne faut pas déduire automatiquement que toute première ligne de la nouvelle page continue la dernière table précédente. Une autre gamme, une autre devise ou une autre date peut commencer. La règle de raccordement doit comparer les colonnes, les titres, les unités et les indices de continuation disponibles.
Google indique dans la documentation de son Layout Parser qu’une table PDF sur plusieurs pages peut être séparée en deux tables. Microsoft précise aussi une limite d’ordre de lecture entre pages dans la description de la réponse d’analyse. Ces limites justifient une recette dédiée ; elles ne permettent pas de classer universellement un fournisseur devant l’autre.
Conservez les identités des deux tables physiques, même lorsqu’une vue logique les réunit. Si la continuation reste incertaine, exposez l’ambiguïté et demandez une revue. Dans le jeu de test, ajoutez une vraie continuation et une nouvelle table visuellement similaire. Un raccordement qui réussit uniquement le premier cas pourrait fusionner silencieusement deux ensembles incompatibles en production.
Retrouver une référence exacte sans perdre ses conditions
Séparer le repérage du document et celui de la ligne
Une question sur AX-10B doit retrouver sa ligne, pas seulement un catalogue où le produit apparaît. Combinez selon votre corpus la recherche lexicale de référence et une recherche sémantique pour les formulations métier. Conservez la référence exacte comme champ filtrable lorsque sa reconnaissance est fiable. Si elle est ambiguë, présentez les candidats au lieu de normaliser sans preuve.
Lorsqu’un résultat est sélectionné, vérifiez que le contexte remis au modèle contient l’unité et la note applicable. La recherche peut trouver la bonne ligne mais le mécanisme d’assemblage tronquer sa condition. Journalisez donc les identifiants récupérés et les identifiants réellement transmis. Cette différence est essentielle pour attribuer un défaut à la récupération ou à la préparation du contexte final.
Préserver la version et les droits
Un ancien tarif peut être parfaitement extrait et pourtant impropre à une question sur le prix actuel. Reliez chaque fragment à la version source et aux dates d’application connues. Lorsque deux versions restent admissibles et se contredisent, la réponse doit expliquer le conflit plutôt que choisir celle dont le score de recherche est supérieur. Un rang de similarité n’est pas une autorité documentaire.
Appliquez les droits au document, aux fragments et à la consultation de la citation. Un salarié autorisé à lire une fiche produit publique n’a pas nécessairement accès aux conditions négociées d’un autre client. L’URL d’une page ou d’une image découpée ne doit pas contourner ce contrôle. Le cache doit conserver le périmètre d’accès pertinent, et la suppression d’une source doit atteindre ses représentations dérivées.
Calculer après avoir établi les unités
Le calcul de trois boîtes suit deux transformations explicites : 3 × 10 = 30 pièces, puis 30 ÷ 10 × 125 = 375 € HT. Stockez les valeurs et les unités utilisées, ainsi que la règle de conversion. Pour de l’argent, une représentation décimale adaptée évite les surprises d’arrondi binaire. Le moteur de calcul ne doit pas recevoir un nombre détaché de sa base tarifaire.
La réponse distingue « le document indique 125 € HT pour dix pièces » et « pour trente pièces, le calcul donne 375 € HT ». Le premier énoncé cite la ligne et l’en-tête ; le second cite aussi les hypothèses du calcul. Si le transport, une remise ou une taxe n’apparaît pas dans les preuves, le système ne les ajoute pas implicitement. Le périmètre du total doit rester lisible.
Paradoxalement, retrouver le bon montant peut rendre une réponse plus trompeuse qu’une abstention si l’unité est perdue. Dans une recette financière, vérifiez donc l’ensemble valeur–unité–référence–condition. Un contrôle qui compare seulement la présence du nombre 125 accepterait plusieurs réponses erronées du scénario. La bonne assertion porte sur une relation, pas sur un mot ou un chiffre isolé.
Ouvrir la preuve au bon endroit
Une citation vérifiable dans l’interface métier
La citation ouvre la révision utilisée, la bonne page et, si possible, la zone de la ligne avec ses en-têtes. Une surbrillance trop étroite peut cacher l’unité ; une capture de page entière peut demander une recherche manuelle importante. Présentez assez de voisinage pour vérifier la relation, avec un accès à la page complète. Le lecteur doit comprendre ce qui vient du document et ce qui a été calculé.
Conservez la numérotation physique du PDF et, lorsqu’elle diffère, le numéro imprimé. Une couverture ou une annexe peut décaler « page 4 ». L’interface peut afficher les deux pour éviter une fausse impression de citation cassée. Si le document est remplacé, une ancienne réponse ne doit pas ouvrir silencieusement la même page d’une nouvelle version qui dit autre chose.
Un second scénario : le tarif a changé
Une révision 4 porte le prix fictif de AX-10B à 130 € pour dix pièces. Une réponse historique à 375 € peut rester explicable avec la révision 3, mais elle ne doit pas être présentée comme le prix courant. Une nouvelle réponse pour trois boîtes devient 390 € HT, sous réserve des conditions de cette nouvelle version. La conservation de l’historique et le choix du tarif applicable sont deux besoins différents.
La recette vérifie qu’une question actuelle utilise la version admise par la politique documentaire et qu’une question historique conserve sa période. Si l’utilisateur ne précise pas la date et que plusieurs tarifs sont applicables selon le contrat, le système demande une précision. Un document plus récent n’annule pas automatiquement toutes les conditions commerciales antérieures.
Mesurer les erreurs par relation et par étape
| Test proposé | Attente | Échec bloquant pour ce cas |
|---|---|---|
| Trois boîtes AX-10B, révision 3 | 30 pièces, 375 € HT, minimum satisfait | Prix unitaire ou référence erronée |
| Deux boîtes AX-10B | Minimum non satisfait signalé | Commande déclarée admissible |
| Référence avec O ou zéro illisible | Ambiguïté conservée | Correction silencieuse |
| Note placée sur la page suivante | Condition récupérée avec sa portée | Réponse sans réserve justifiée |
| Deux tables similaires successives | Identités conservées | Fusion sans preuve |
| Révision 4 applicable | 390 € HT pour trois boîtes | Ancien prix annoncé actuel |
| Tarif d’un autre client | Accès refusé | Montant ou citation divulgué |
Pour chaque question, annotez les zones nécessaires avant de lancer les outils. Mesurez ensuite leur présence dans l’extraction, le fragment, les résultats et le contexte. Évaluez séparément la réponse, le calcul et les citations. Le protocole ci-dessus est une proposition de recette, pas une série de résultats mesurés sur un fournisseur OCR ou un modèle.
Gardez les dénominateurs explicites : pages, cellules critiques, relations annotées ou questions ne sont pas interchangeables. Une extraction qui réussit 98 cellules sur 100 peut manquer les deux unités qui rendent dix réponses fausses. Le suivi doit présenter ces erreurs et leur gravité. Une fuite de droits ou un prix attribué à la mauvaise référence ne se compense pas par une moyenne élevée sur les autres champs.
Erreurs fréquentes dans les projets RAG sur scans
La première erreur consiste à remplacer une preuve manquante par une explication plausible. Le modèle connaît peut-être les conditionnements habituels d’un secteur ; cela ne l’autorise pas à inventer celui du document. Une unité absente doit produire une demande de précision ou une réponse limitée. De même, un total cohérent avec les autres lignes ne prouve pas qu’un caractère ambigu a été correctement lu.
La seconde consiste à changer simultanément OCR, découpage, recherche et prompt, puis à attribuer le progrès au dernier modèle ajouté. Conservez une base stable et modifiez un étage à la fois lorsque c’est possible. Analysez les régressions sur le même jeu de questions. Une amélioration sur les tableaux nets peut s’accompagner d’une dégradation des notes ou des références courtes.
La troisième est de choisir le fournisseur à partir d’un seul exemple de démonstration. Comparez les outils sur vos familles de documents et leurs contraintes : droits, formats, régions disponibles, limites, coût et reprise. Les documentations décrivent des capacités et des limites ; elles ne fournissent pas la précision attendue sur votre corpus. Toute annonce de gain doit préciser les documents, la version et le protocole mesurés.
Plan d’action : rendre un tarif vérifiable de bout en bout
Constituer un dossier de recette avant l’index
Choisissez une famille de documents et un propriétaire métier. En entrée, réunissez les fichiers autorisés, leurs versions et les questions utiles ; en sortie, exigez des réponses attendues avec les zones nécessaires. Attribuez la responsabilité d’annotation à une personne qui comprend les unités et les conditions. La technique ne doit pas décider seule si une note concerne une ligne ou toute la gamme.
Préparez des exemples nets, dégradés et ambigus, sans effacer les cas qui échouent. Le contrat d’extraction conserve valeurs brutes, valeurs normalisées, état du champ et provenance. Définissez le seuil de revue pour les champs critiques, puis une file de reprise et son responsable. Le monitoring suit les pièces bloquées et leur âge ; le repli conserve le document pour une lecture manuelle autorisée.
Relier les contrôles au système réellement utilisé
Construisez la chaîne sur cet échantillon : analyse, validation de structure, fragments, index et affichage des preuves. Conservez les versions des outils et les résultats intermédiaires. Le responsable de recette vérifie chaque relation critique, y compris les tableaux répartis sur plusieurs pages. Les citations doivent fonctionner avec le profil autorisé et refuser le profil qui n’a pas accès au document.
Exécutez ensuite les questions sur un lot distinct, réservé à l’évaluation. Mesurez temps de traitement, erreurs, reprises et coût par document utilisable, puis coût par réponse correctement étayée. Une pièce analysée avec succès mais rejetée ensuite reste une dépense. Les coûts de validation et de correction font partie du projet ; ils ne doivent pas disparaître derrière le prix d’un appel OCR.
Décidez d’ouvrir un périmètre limité seulement lorsque les cas critiques sont acceptés par le métier et que les attentes sont attribuées. Une nouvelle famille de documents exige une nouvelle recette. À chaque changement de parseur, de modèle ou de politique documentaire, rejouez les cas qui protègent unités, références et droits. La progression se mesure en usages vérifiés, pas en quantité de fichiers chargés.
- À faire : relier chaque valeur critique à sa cellule, ses en-têtes, ses conditions et sa version avant de générer une réponse.
- À différer : automatiser les calculs ou écritures ERP lorsque l’unité, la référence ou le périmètre documentaire reste ambigu.
- À refuser : présenter un score OCR, une citation existante ou une démonstration isolée comme une preuve de fiabilité du RAG complet.
Relier extraction, découpage, recherche et preuve
Le dossier sur les champs absents dans une extraction IA précise les états à conserver. La comparaison des découpages d’un corpus RAG aide à choisir les frontières lorsque la preuve dépasse une cellule ou une ligne.
Si la bonne représentation existe mais ne remonte pas, utilisez le diagnostic de recherche hybride et de reranking. Pour examiner ce que la réponse fait réellement dire à ses sources, poursuivez avec la validation du soutien apporté par les citations. Ces contrôles complètent la recette spécifique des scans.
Retrouver la pièce exacte depuis le prochain worker
La fidélité de lecture suppose d’abord une entrée disponible et identifiée. Le diagnostic des pièces jointes introuvables en mode queue n8n examine le stockage binaire, les chemins locaux et les références conservées après une attente. Un nom de fichier identique ne prouve pas que le traitement retrouve les mêmes octets.
Son laboratoire distingue un fichier absent, un homonyme de même taille et une nouvelle révision. Ces contrôles se placent avant l’OCR et l’extraction : une source différente ne peut pas être reçue comme une simple reprise de lecture. La recette documentaire doit ensuite vérifier les cellules, unités et conditions sur la version effectivement retrouvée, en conservant le lien entre la pièce d’origine et chaque transformation.
Conclusion : conserver la relation qui donne son sens au nombre
Un PDF scanné ne devient pas une source RAG fiable parce que son texte est lisible. Une valeur appartient à une ligne, une unité, une période et parfois une condition. Le scénario du tarif montre comment une reconnaissance correcte peut encore conduire à une mauvaise réponse lorsque ces relations sont perdues.
Le premier travail consiste à préserver cette structure et à rendre ses limites visibles. Gardez les ambiguïtés, contrôlez les continuations de tableaux et distinguez les valeurs écrites des calculs. L’utilisateur doit pouvoir ouvrir la bonne preuve sans chercher lui-même dans toutes les pages du document.
La recette d’un RAG documentaire relié à ses sources doit ensuite suivre le même fait à travers extraction, fragments, recherche, contexte et réponse. Les matrices proposées permettent de préparer cette vérification, sans prétendre remplacer l’essai de vos outils sur vos documents. Une erreur localisée devient corrigeable ; une moyenne générale laisse souvent le métier seul face au risque.
L’expertise IA de Dawap relie ces contrôles à vos usages documentaires et à vos logiciels. Le livrable attendu est un système qui répond avec une preuve exploitable, demande une précision lorsque la source manque et conserve les conditions nécessaires avant toute action métier.