Aria | Interroger la documentation de votre entreprise grâce au RAG
- Collaboration client
Dans de nombreux métiers, les équipes consacrent encore une part importante de leur temps à des tâches répétitives et chronophages. Rechercher des informations, parcourir des documents, recouper des données : autant d’activités nécessaires dont l’accumulation laisse parfois peu de place aux missions qui font pleinement appel à leur expertise, à leur créativité et à leur jugement.
En janvier 2026, à l’occasion du concours de pitch entrepreneurial de Chamonix, je rencontre le directeur Recherche et Innovation d’un équipementier de l’industrie automobile. Présente dans 11 pays, l’entreprise compte aujourd’hui 3 500 collaborateurs, répartis sur 20 sites de production et 4 centres de R&D.
Chaque trimestre, le pôle RSE de l’entreprise reçoit des questionnaires de la part des constructeurs automobiles. Pour y répondre, les équipes doivent retrouver les informations dans leur documentation, croiser les sources et formuler leurs réponses. Ce travail mobilise de nombreuses heures à chaque questionnaire.
Pour libérer les équipes de ces recherches, le directeur Recherche et Innovation, le chef de projet RSE et moi-même imaginons Aria, une plateforme interne dont l’objectif est de passer de la documentation à la connaissance, en rendant l’information directement interrogeable par les collaborateurs.
Pour cela, Aria propose trois outils complémentaires :
- une base documentaire permettant de centraliser et d’organiser les documents RSE de l’entreprise ;
- un chatbot pour interroger cette documentation et obtenir des réponses fondées sur son contenu ;
- un module de préremplissage des questionnaires RSE adressés par les clients.
Pour formuler ses réponses, Aria s’appuie sur le RAG (Retrieval-Augmented Generation, ou génération augmentée par la recherche). Cette méthode consiste à rechercher dans la base documentaire les informations pertinentes pour répondre à une question, puis à les transmettre au modèle de langage afin qu’il rédige une réponse à partir de ces sources.
Préparer la documentation à la recherche
La documentation de l’entreprise se compose de fichiers PDF. Bien que parfaitement lisibles pour un humain, ces fichiers ne sont pas directement exploitables par un moteur de recherche sémantique.
Pour qu’Aria puisse y retrouver les passages utiles à chaque question, leur contenu doit être extrait, vectorisé et stocké dans une base de données. C’est ce qu’on appelle l’indexation.
Extraire la donnée
Afin de permettre l’indexation des documents, les collaborateurs doivent pouvoir les importer dans la plateforme. Aria dispose pour cela d’un module de gestion documentaire, permettant à l’équipe RSE de tenir sa base documentaire à jour.
Chaque import de document déclenche automatiquement l’extraction de son contenu. La difficulté de cette extraction tient à la variété de mise en page des documents : colonnes, tableaux ou encadrés suivent un ordre de lecture évident pour un humain, mais que le fichier ne décrit pas toujours.
L’enjeu est donc de reconstituer la structure du document, afin de récupérer un texte organisé et fidèle à son contenu d’origine, prêt à être exploité par notre système.
Pour cela, j’utilise pdfplumber, associé à un algorithme de découpage spatial (XY-cut), afin d’identifier les différentes zones d’une page et d’en reconstituer l’ordre de lecture. Lorsque certaines pages contiennent principalement des images plutôt que du texte, un modèle multimodal prend le relais pour en extraire les informations.
Vectoriser la donnée
Maintenant que le texte est extrait et structuré, il faut le rendre compréhensible pour notre moteur de recherche. L’objectif est de retrouver une information à partir de son sens, plutôt que de sa formulation exacte.
Je choisis pour cela de mettre en place un système de recherche sémantique. Son fonctionnement repose sur la vectorisation des données : chaque passage de texte est transformé en une représentation numérique de son sens, sous la forme d’un vecteur.
Pour cela, je découpe le texte en passages plus courts, appelés chunks. Dans Aria, chaque chunk contient environ 450 tokens. Le découpage respecte les limites des pages et conserve les coordonnées des lignes pour retrouver précisément les sources dans les PDF.
Chaque chunk est ensuite transmis au modèle text-embedding-3-large d’OpenAI, qui le convertit en vecteur numérique. Dans cet espace vectoriel, des textes exprimant des idées proches tendent à se retrouver à proximité, même lorsqu’ils utilisent des mots ou des langues différentes.
En complément, chaque chunk est également indexé par mots-clés avec tsvector, afin de retrouver des références précises, comme le code d’une norme. Cette indexation conserve les mots sans les ramener à leur racine, pour préserver les acronymes et les codes.
Stocker la donnée
Nos documents sont maintenant transformés en passages de texte, associés à leurs vecteurs et à leurs mots-clés. Il faut désormais stocker et organiser ces informations pour pouvoir les retrouver rapidement, tout en conservant le lien avec leurs documents d’origine.
Pour cela, je choisis d’utiliser une base de données PostgreSQL, associée à l’extension pgvector. Cette solution permet de réunir les documents, leurs métadonnées, les chunks et leurs vecteurs dans une même base de données, sans avoir à déployer un moteur de recherche vectorielle indépendant.
Les PDF d’origine restent stockés sur le serveur, tandis que PostgreSQL conserve les informations nécessaires à leur exploitation. Lorsqu’un document est remplacé, son ancien contenu est supprimé et le nouveau réindexé, afin que les recherches reposent toujours sur sa dernière version.
Nous disposons désormais d’une base documentaire structurée et indexée, prête à être interrogée par notre moteur de recherche.
Construire des réponses sourcées
Une fois la documentation indexée, le RAG peut entrer en jeu.
Lorsqu’un utilisateur pose une question en langage naturel, notre système analyse sa demande, puis enchaîne les trois étapes du RAG :
- retrouver les passages utiles dans la base documentaire (Retrieval),
- enrichir le contexte transmis au modèle avec ces passages (Augmentation),
- générer une réponse à partir de ces éléments, en indiquant les sources utilisées (Generation).
Vectoriser la question de l’utilisateur
Pour être comparée aux passages indexés, la question doit elle aussi être vectorisée. Elle est donc transmise à un modèle d’embedding, qui la représente dans le même espace sémantique que les documents.
Rechercher l’information
La recherche vectorielle utilise ici la similarité cosinus pour mesurer la proximité entre ces vecteurs. Plus cette similarité est élevée, plus les textes qu’ils représentent sont susceptibles de traiter du même sujet.
Pour retrouver également des références précises, comme le code d’une norme, j’ajoute une recherche par mots-clés.
Les résultats sont ensuite fusionnés grâce à RRF (Reciprocal Rank Fusion), qui combine les classements des deux recherches pour faire ressortir les passages les plus pertinents.
Générer une réponse sourcée et vérifiable
Une fois les informations pertinentes retrouvées, il reste à les transmettre à un modèle de langage (LLM), accompagnées de la question de l’utilisateur.
Pour assurer la traçabilité des réponses, Aria demande au modèle de citer les passages utilisés. Ces citations sont ensuite vérifiées automatiquement dans les documents d’origine, afin de limiter les risques d’hallucinations.
Grâce aux coordonnées conservées lors de l’extraction, chaque citation peut être retrouvée et surlignée directement dans le PDF source. L’utilisateur peut ainsi vérifier visuellement les informations fournies par Aria, plutôt que de se fier uniquement à la réponse générée.
Savoir dire « je ne sais pas »
Citer ses sources ne suffit pas : Aria doit aussi s’abstenir lorsque la documentation ne contient pas la réponse. Pour un questionnaire transmis à un client, mieux vaut une absence de réponse qu’une réponse inventée.
Aria s’appuie sur plusieurs garde-fous successifs. Les passages trop éloignés de la question sont écartés grâce à un seuil de similarité. Si aucun passage pertinent n’est retrouvé, Aria l’indique sans solliciter le modèle de langage. Toute réponse documentaire générée sans citation est également transformée en refus.
Lorsque la documentation aborde le sujet sans répondre précisément à la question, Aria explique ce qui manque et présente les informations les plus proches, accompagnées de leurs sources.
Notre système est désormais capable de retrouver les informations pertinentes dans la documentation, de générer des réponses sourcées et vérifiables, et de reconnaître les limites de ce qu’il sait.
Mettre Aria au service des équipes
Maintenant que nos systèmes sont développés, nous devons les rendre accessibles à leurs utilisateurs principaux : l’équipe RSE de l’entreprise.
Interroger les documents en langage naturel via un chatbot
Pour retrouver rapidement une information, chaque collaborateur peut interroger directement la base documentaire de l’entreprise en langage naturel dans le chatbot portant le nom de l’application, Aria. Il obtient ainsi une réponse accompagnée de ses sources.
Chaque citation est cliquable et ouvre le PDF d’origine à la bonne page, avec le passage correspondant surligné.
Préremplir les questionnaires
Pour préremplir un questionnaire, les équipes RSE importent leur fichier Excel, Word ou PDF, et Aria identifie les questions ainsi que les zones à renseigner.
Chaque proposition de réponse est soumise à l’utilisateur, qui peut la valider, la modifier ou la refuser. Seules les réponses explicitement validées sont intégrées au document exporté. Sans intervention humaine, la zone reste incomplète. Cette approche permet à l’entreprise de s’assurer que les informations transmises aux clients ont été contrôlées.
Le document peut ensuite être exporté dans son format d’origine.
Aria est désormais accessible aux équipes, qui peuvent interroger la documentation en langage naturel et préremplir les questionnaires de leurs clients.
Déployer Aria sur l’infrastructure du client
Au-delà de ses fonctionnalités, Aria doit respecter une exigence importante du client : être hébergée sur son infrastructure interne pour qu’il garde la maîtrise de ses données et du code source.
Je déploie donc l’application sur un serveur privé, à l’aide de Docker Compose. L’architecture réunit une API FastAPI, une interface Next.js et une base de données PostgreSQL avec pgvector.
L’accès est sécurisé par Caddy, utilisé comme reverse proxy, et l’authentification repose sur le SSO Microsoft Entra ID. Les collaborateurs utilisent leurs identifiants habituels, avec des autorisations définies selon leur rôle.
Les documents, comme les données indexées, restent sur l’infrastructure du client. Les LLM utilisés sont appelés via Microsoft Foundry : les échanges sont soumis aux conditions de traitement des données de la plateforme.
Développée sur mesure, Aria est livrée avec son code source et son infrastructure, permettant au client de la maintenir et de la faire évoluer de manière autonome.
L’entreprise dispose désormais d’un outil opérationnel, en production sur son infrastructure, prêt à être utilisé par ses équipes.
Évaluer et améliorer Aria
Une fois en service, Aria doit encore faire ses preuves. J’intègre donc des outils accessibles aux administrateurs pour suivre la fiabilité de ses réponses, les lacunes documentaires et les coûts.
Mesurer la fiabilité des réponses
Une réponse sourcée n’est pas forcément juste. Un juge automatique, lui-même un modèle de langage, vérifie que les affirmations d’Aria sont bien soutenues par les passages cités. Ses verdicts doivent être confrontés à des évaluations humaines.
Les validations des équipes RSE permettent aussi de mesurer la part des propositions acceptées telles quelles et de celles qui nécessitent une correction.
Identifier les savoirs à documenter
Une question sans réponse peut révéler une information absente de la documentation. Aria suit donc la part de ces questions et rédige chaque semaine un plan d’action : les documents à produire, leur contenu attendu et les questions qu’ils permettraient de débloquer.
Rendre visible le coût de chaque réponse
Aria comptabilise les tokens consommés et affiche le coût financier estimé de chaque réponse, document indexé et questionnaire, ainsi qu’une estimation de l’énergie consommée et des émissions de CO₂ associées.
La valeur d’Aria se mesurera au temps réellement gagné par les équipes, à la fiabilité des réponses et à l’effort nécessaire pour les vérifier. Certaines questions sans réponse révèleront des savoirs encore à documenter, ouvrant ainsi des pistes pour enrichir les connaissances partagées.
La recherche documentaire n’est qu’un exemple parmi les nombreux processus métier que l’IA peut simplifier. En effet, d’un secteur à l’autre, des équipes qualifiées consacrent encore des heures à des tâches répétitives.
Chaque opération simplifiée rend aux collaborateurs du temps pour les missions où leur expertise, leur créativité et leur sensibilité humaine font réellement la différence. Toute l’ambition d’Aria tient dans ce temps retrouvé et dans ce qu’il rend possible.