Assistant RAG connecté à une base de connaissances privée
Projet développé pour un éditeur de contenus techniques informatiques qui souhaitait proposer à ses abonnés un outil d'assistant conversationnel IA apportant des réponses fiables basées sur la base documentaire de ses magazines.
Résultats clefs
- +8000 contenus référencés
- 100% souverain dans la gestion des données
- 24/7 assistance continue pour les abonnés
Le contexte
Cet éditeur spécialisé dispose d'une base de données d'articles techniques riche et variée - open source, programmation, cybersécurité, électronique et embarqué - qui au fil de ses 30 années d'existence représente désormais une somme de connaissance importante retranscrite au sein d'environ 8000 articles mis à la disposition de ses clients - entreprises, organismes de formation, services étatiques - par le biais d'une base documentaire accessible à travers un abonnement.
L'objectif était de mettre en place un assistant conversationnel capable de répondre aux questions des abonnés adossé à cette base de connaissances, tout en garantissant la fiabilité, et la confidentialité, à la fois des échanges, mais aussi des données propriétaires en elle-même.
Les enjeux
Les réponses données par l'assistant conversationnel devaient exclusivement être basées uniquement sur la base documentaire interne de l'éditeur afin d'assurer une fiabilité des concepts transmis, exempt d'informations externes ou d'hallucinations. L'assistant devait savoir dire « je ne sais pas » et non pas donner la météo du jour ou la recette de la pâte à crêpes.
Les articles de la base documentaire contiennent des informations propriétaires, ils ne devaient pas être utilisés par les systèmes tiers dont dépendent l'assistant RAG. Aucune donnée ne devait être utilisée pour l'entraînement d'IA, ni exposée au Cloud Act. La confidentialité (des données, mais aussi des échanges) était une condition non négociable.
Et enfin, l'ensemble du système devait être interconnecté avec le système de vente et permettre à la fois la gestion des accès et la traçabilité du nombre de tokens consommés par chaque interrogation de l'assistant afin d'être mis en relation avec le forfait d'utilisation propre à l'abonné.
L'approche
Le projet est à la croisée des chemins entre la structuration de données, l'exploitation de ces données et la mise en place d'un système respectant la confidentialité. C'est le mélange de ces aspects qui a rendu la conception et la mise en place du projet complexe. Cela a nécessité une approche méthodique et une collaboration avec les équipes internes à l'entreprise commanditaire.
- Audit du corpus : inventaire des sources, définition de la structure générale et identification des modalités de mise à jour des données.
- Prototype : conception et mise en place d'un prototype basé sur un corpus documentaire restreint afin de valider la faisabilité.
- Architecture : phase d'analyse des solutions techniques correspondants aux besoins de confidentialité et de sécurité, tests de performance des différentes approches techniques possibles.
- Jeu d'évaluation : constitution avec l'équipe de rédaction d'un jeu de questions réelles et de leurs réponses attendues, pour mesurer l'efficacité des différents LLM et modèles d'embedding audités.
- Pipeline d'ingestion : découpage des articles, enrichissement par des métadonnées (date de parution, contexte de parution, auteur) et système d'indexation des nouveaux contenus et contenus modifiés.
- Vectorisation : vectorisation des contenus au sein d'une base de données vectorielle adaptée. Différentes approches de vectorisation ont été testées et comparées en termes de performance et de qualité.
- Garde-fous : mise en place d'un prompt conçu afin de limiter les risques d'hallucinations, de réponses non pertinente et de confidentialité.
- Implémentation : implémentation de l'assistant IA sur le CMS Drupal propulsant la base documentaire. Ajout des options d'historique, de confidentialité et de gestion des crédits d'utilisation.
- Interconnexion : mise en place d'une liaison API avec le système d'abonnement afin de gérer les autorisations d'accès et la consommation des crédits d'utilisation.
- Validation : validation de l'assistant IA par l'équipe interne et mise en production définitive.
Le livrable
- Un assistant IA basé sur un LLM propulsé par une infrastructure souveraine, hébergée en Europe, sans stockage des requêtes et des données et sans entrainement du modèle. Le tout conforme RGPD et LPD. Et, bonus écologique, le tout est alimenté par de l'énergie renouvelable.
- Un pipeline d'ingestion automatisé, déclenché à chaque modification d'un document source. Le système est totalement autonome.
- Un module Drupal d'assistant IA complet avec un back-office de paramétrage. Réutilisable sur d'autres projets en cas de nécessité.
- Un système entièrement couplé à l'outil de vente en temps réel via des API's. Aucun délai pour la prise en compte des nouveaux abonnements et aucune action manuelle nécessaire.
La recherche d'une infrastructure respectant la politique de confidentialité et de protection des données personnelles (RGPD et LPD), ainsi que la garantie non-exploitation des informations propriétaires par des tiers, a été cruciale dans le choix de l'architecture mise en place.
Ce que j'en retiens
Le succès de la mise en place d'un assistant RAG ne dépend pas tant de la qualité du modèle, mais plutôt de la structuration du corpus, du jeu d'évaluation et des garde-fous. Le LLM, le modèle d'embedding et la base vectorielle sont des briques techniques fonctionnelles et interchangeables, mais les données sont le cœur du système.
Autres interventions
Mise à niveau d'une plateforme e-commerce
Assurer la modernisation d'une application e-commerce PHP legacy fonctionnelle et sans alternative viable sur le marché.
Plateforme connectée de location de vélos
Une plateforme connectée de location de vélos électriques avec liens IoT pour l'accès au local, aux vélos et la gestion de la maintenance.