Préserver la structure pendant l'ingestion
Le premier objectif n'est pas le découpage en segments, mais la construction d'un modèle documentaire fiable. Pour chaque élément extrait, il faut conserver :- l'identité du document, de la page et de la section ;
- le type d'élément : paragraphe, titre, image, légende ou tableau ;
- la boîte englobante et l'ordre de lecture lorsqu'ils sont disponibles ;
- les relations entre figures, légendes et texte voisin ;
- la structure des tableaux, y compris les en-têtes et cellules fusionnées ;
- la version de la source et la date d'ingestion ;
- les métadonnées de contrôle d'accès.
Créer une représentation par type de preuve
Une seule représentation répond rarement à toutes les requêtes. J'utilise des vues propres à chaque élément :- texte nettoyé pour la recherche sémantique ;
- Markdown structuré ou JSON pour les tableaux ;
- légendes ou descriptions générées pour les images et diagrammes ;
- embeddings visuels facultatifs lorsque la requête dépend de l'apparence ;
- résumés compacts de la section parente pour récupérer le contexte.
Retrouver les candidats en plusieurs étapes
Un pipeline de recherche multimodale gagne à être séquencé :- qualifier les types de preuves probablement nécessaires ;
- appliquer les filtres de client, document, date et permission ;
- récupérer des candidats depuis les index texte, tableau et image pertinents ;
- fusionner et dédupliquer les résultats ;
- reclasser les modalités avec une politique de pertinence commune ;
- enrichir les éléments retenus avec leur section parente ou leur voisinage.
Générer avec des citations précises
La génération doit recevoir un paquet de preuves compact, pas tous les candidats accumulés. Chaque élément possède un identifiant de citation stable et assez de métadonnées pour afficher une référence utile. La politique de réponse doit demander au modèle de :- distinguer les preuves explicites des interprétations ;
- citer la page et l'élément qui soutiennent chaque affirmation importante ;
- préserver les unités, périodes et en-têtes de tableau ;
- signaler un visuel illisible ou ambigu ;
- ne pas répondre lorsque le paquet de preuves est insuffisant.
Évaluer par modalité et couche d'échec
Un score unique de qualité de réponse ne suffit pas. Les cas de test doivent couvrir :- les documents natifs et scannés ;
- les pages multi-colonnes et notes de bas de page ;
- les graphiques avec légendes et unités ;
- les tableaux avec en-têtes fusionnés ou cellules manquantes ;
- les questions nécessitant du texte et un visuel ;
- les preuves contradictoires entre plusieurs pages ;
- les documents contenant des erreurs d'extraction ou d'OCR.