Introduction
Kapa développe des assistants IA qui répondent aux questions issues de la documentation technique. Les bases de connaissances que nous traitons contiennent des millions d'images : captures d'écran, diagrammes d'architecture, schémas de circuits, etc. Nous avons passé plusieurs mois à trouver un moyen de les rendre utiles dans notre pipeline RAG.
Contexte Technique
Nous avons étudié des milliers de questions réelles de clients pour comprendre comment les images contribuent à la réponse. Elles se divisent en deux catégories : descriptives et essentielles. Les images descriptives illustrent ce que le texte dit déjà, tandis que les images essentielles contiennent des informations cruciales qui ne se trouvent nulle part ailleurs.
Nous avons confirmé que les images améliorent les réponses, que ce soit pour les images descriptives ou essentielles. Cependant, nous avons réalisé que traiter les images à chaque requête n'est pas viable en raison des coûts et des limitations techniques.
Analyse et Implications
Nous avons donc choisi de décrire chaque image une seule fois, au moment de l'indexation, à l'aide d'un modèle de vision peu coûteux, et de stocker ces descriptions sous forme de texte. Cela nous permet de récupérer les descriptions de texte aux côtés des morceaux de texte ordinaires, sans avoir à traiter les images à chaque requête.
Cette approche fonctionne car le traitement lourd des images a lieu une seule fois, au moment de l'ingestion, et non à chaque requête. Les descriptions de texte sont ensuite récupérées et utilisées par le modèle pour générer des réponses.
Perspective
Il est essentiel de filtrer les images pour éliminer les images inutiles et de développer des classificateurs pour identifier les images qui peuvent être utilisées pour améliorer les réponses. La qualité des descriptions de texte dépend également du contexte et de la taille du modèle utilisé pour la description.
En résumé, notre approche d'indexation d'images pour RAG permet d'améliorer les réponses en utilisant les images de manière efficace, tout en minimisant les coûts et les limitations techniques. Nous continuons à travailler sur l'amélioration de cette approche pour offrir des réponses encore plus précises et utiles aux utilisateurs.