RAG « pixel-native » : guide pratique de l’indexation visuelle des documents

Une évolution notable vient d’être rendue publique dans le domaine.

RAG « pixel-native » : guide pratique de l’indexation visuelle des documents

Dans ce tutoriel, nous construisons de A à Z un pipeline complet de génération augmentée par la recherche, natif pour Pixel, et nous examinons comment fonctionne la recherche de documents sans recourir à l’analyse syntaxique HTML classique, à l’extraction de texte ou à des stratégies de découpage en blocs fixes. Nous convertissons les pages web et les documents PDF en images, les divisons en tuiles qui se chevauchent, générons des représentations multimodales à l’aide de SigLIP, CLIP ou d’un backend Qwen3-VL (en option), puis stockons les vecteurs obtenus dans un index FAISS pour permettre une travaux de recherche par similarité efficace. Nous améliorons également la recherche grâce à un système de notation BM25 basé sur la reconnaissance optique de caractères (OCR) et à la fusion réciproque des classements, nous regroupons les informations au niveau des tuiles pour obtenir des résultats au niveau des documents, et nous rendons le mécanisme accessible via un service de recherche FastAPI. Au cours du processus, nous évaluons la qualité de la recherche à l’aide des indicateurs Recall@k et du rang réciproque moyen, nous entraînons un adaptateur résiduel léger par apprentissage contrastif, nous visualisons les captures d’écran récupérées et, de manière facultative, nous transmettons les tuiles contenant les preuves les plus solides à un système vision-langage afin de générer des réponses contextualisées.

À noter également, nous définissons la configuration globale, les requêtes d’évaluation, le comportement de journalisation et les paramètres d’exécution du pipeline PixelRAG. Nous installons Python ainsi que les dépendances système requises, notamment Playwright, Chromium, Tesseract, FAISS et les bibliothèques Transformer. Nous créons également une aide à l’exécution asynchrone qui permet aux coroutines de rendu du navigateur de s’exécuter de manière fiable dans les environnements Google Colab et Jupyter.

Nous créons la couche de rendu de documents qui convertit les pages web, les contenus textuels et les fichiers PDF en tuiles d’images structurées. Nous capturons les pages web à l’aide de Playwright, supprimons les éléments gênants, appliquons un découpage vertical par chevauchement et éliminons les tuiles vides ou en double. Nous proposons par ailleurs des solutions de secours pour le rendu du texte et la génération de PDF synthétiques, afin que le pipeline continue de fonctionner lorsque le rendu par le navigateur ou le contenu externe n’est pas disponible.

Nous extrayons le texte par OCR de chaque tuile affichée afin de permettre la exploration par échantillonnage et la génération automatique de paires d’apprentissage. Nous mettons en œuvre les backends d’encodage SigLIP, CLIP et Qwen3-VL, qui placent les requêtes textuelles et les captures d’écran de documents dans un espace vectoriel commun. Nous traitons ensuite les images de tuiles par lots et générons des représentations normalisées prêtes à être indexées pour l’analyse de similarité.

Nous créons la classe `PixelIndex` et stockons les représentations normalisées des tuiles dans un index FAISS à produit scalaire. Nous prenons en charge la exploration exacte en plan pour les petits ensembles de éléments, la recherche basée sur l’IVF pour les collections plus volumineuses, l’indexation BM25 sur du texte issu de la reconnaissance optique de caractères (OCR), de ce fait que le stockage persistant des vecteurs et des métadonnées. Nous gérons également l’ensemble du processus d’indexation : rendu des documents, exécution de la reconnaissance optique de caractères (OCR), génération de vecteurs d’encodage, création de l’index et enregistrement de tous les résultats sur le disque.

Dans le même temps, nous mettons en œuvre une travaux de recherche hybride en combinant des classements vectoriels denses et des classements BM25 basés sur l’OCR grâce à une fusion réciproque des classements. Nous regroupons les tuiles correspondantes en performances au niveau du document, tout en conservant les tuiles les plus pertinentes, les scores de similarité et les extraits OCR pour vérification. Nous exposons également le système de recherche via un serveur FastAPI doté de points de terminaison de santé et de recherche qui s’exécutent sur un thread Uvicorn en arrière-plan.

Nous évaluons la qualité de la recherche à l’aide des indicateurs Recall@1, Recall@3, Recall@5 et du rang réciproque moyen sur un petit ensemble de référence. Nous extrayons des paires de pseudo-requêtes et de tuiles à partir de contenu issu de la reconnaissance optique de caractères (OCR), entraînons un adaptateur contrastif résiduel, puis appliquons la transformation apprise à la fois aux représentations de la requête et à celles de l’image. Nous prenons en outre en charge la génération de réponses contextualisées à l’aide d’un modèle d’IA de vision-langage et affichons les vignettes de captures d’écran les mieux classées, accompagnées de leurs scores de pertinence.

Cette actualité s’inscrit dans une dynamique plus large qui mérite d’être suivie.

À lire également :


Selon l’information initialement publiée par MarkTechPost : MarkTechPost