Suggestions

Produits et ressources

Retour à toutes les ressources

Résumé

La génération augmentée par récupération (RAG) représente une perspective différente dans la recherche d'entreprise, allant au-delà des résultats obsolètes des opérations booléennes vers un flux de conversation dynamique qui comprend l'intention de l'utilisateur et génère des réponses contextuelles.

Que faut-il savoir lors de la mise en œuvre de RAG avec votre solution de recherche ? 

Ce livre blanc aborde les points suivants :

  • Le rôle de RAG dans les architectures d'IA d'entreprise modernes

  • Une analyse comparative entre les paradigmes de recherche traditionnels et la recherche sémantique basée sur RAG.

  • Exigences en matière de sécurité, de confidentialité et de conformité

  • Considérations relatives à la mise en œuvre 

  • Meilleures pratiques et pièges courants

Découvrez dans notre dernier livre blanc comment intégrer RAG à votre feuille de route en matière d'IA et débloquer des capacités de recherche de nouvelle génération avec Algolia.

Que savoir lors de la mise en œuvre de RAG avec votre solution de recherche

1. Résumé

Dans le monde actuel, où les données sont reines, l'information est devenue le nouveau carburant. Les entreprises – qu'elles opèrent dans le commerce de détail, la finance ou d'autres secteurs – qui disposent d'immenses réserves de données inexploitées peuvent à la fois accélérer leur transformation technologique et offrir à leurs clients des solutions inégalées. 

Des catalogues de produits aux bases de connaissances du service client, en passant par les wikis internes et la documentation multilingue, le volume et la diversité des informations peuvent submerger employés et clients. Les systèmes de recherche traditionnels par mots-clés, bien que simples et intuitifs, sont souvent source de frustration pour les utilisateurs qui doivent parcourir des pages d'informations incomplètes ou non pertinentes, confrontés à des problèmes de vocabulaire, d'erreurs de logique booléenne et de références obsolètes. 

La génération augmentée par la recherche (RAG) offre une approche novatrice : en combinant des mécanismes de recherche sémantique avec de puissants modèles de langage à grande échelle (LLM), les organisations peuvent fournir des réponses conversationnelles et contextuelles directement à partir de leurs données. Au lieu de présenter des liens bruts ou des extraits de documents que les lecteurs doivent parcourir rapidement, la RAG extrait les informations pertinentes et combine les règles métier et le contexte du domaine pour que la sortie d'un modèle produise des réponses précises et adaptées au domaine d'activité.

Dans ce livre blanc, nous explorerons : 

  • Définition de RAG et son rôle dans les architectures d'IA d'entreprise modernes . Nous analyserons les composantes de récupération et de génération, tant architecturales que techniques, définirons les modèles d'intégration et les bases de données vectorielles, et discuterons de la conception d'invites LLM idéales pour la recherche organisationnelle. 
  • Cette section propose une analyse comparative des paradigmes de recherche traditionnels (correspondance booléenne et par mots-clés) et de la recherche sémantique basée sur RAG . Elle aborde les indicateurs de performance, les aspects financiers et les architectures hybrides, offrant ainsi une vision claire des évolutions nécessaires à un système de recherche organisationnel actuel. 
  • Exigences en matière de sécurité, de confidentialité et de conformité , avec des directives pour le chiffrement des stockages vectoriels, la gestion des informations personnelles identifiables (IPI) et la tenue d'audits du système. 
  • Considérations essentielles relatives à la mise en œuvre de RAG , notamment l'ingestion de données, les stratégies de segmentation, la génération d'embeddings, la mise à l'échelle de la base de données vectorielle, l'orchestration LLM et les pipelines d'observabilité. 
  • Gestion des données dans les pipelines RAG : comment prétraiter les données avant de les intégrer à l’architecture.  
  • Modèles d'intégration avec des solutions de recherche existantes , démontrant des architectures RAG adaptées à différents scénarios, utilisant Algolia Search et une clarification conceptuelle de base. 
  • Cas d'utilisation commerciale dans le secteur du commerce de détail , mettant en évidence les facteurs de retour sur investissement tels que la réduction des temps de traitement, l'amélioration de la satisfaction client et l'augmentation des taux de conversion. 
  • Expériences destinées aux consommateurs , notamment les achats conversationnels, les chatbots et la recherche par image, enrichies par RAG. 
  • Meilleures pratiques et pièges courants, couvrant l'ingénierie rapide, la mise à jour du système, la maintenance et les stratégies de surveillance. 

À la fin de ce document, vous aurez une compréhension globale de la manière de piloter, d'itérer et de déployer RAG au sein de votre organisation, permettant ainsi aux employés de trouver des réponses plus rapidement et ravissant les clients grâce à des expériences conversationnelles intelligentes sur tous les canaux. 

2. De la recherche par mots-clés à l'accès conversationnel 

2.1 L'évolution de la recherche d'entreprise 

La recherche d'entreprise a considérablement évolué depuis ses débuts à la fin des années 1990. Les systèmes de recherche traditionnels par mots-clés s'appuyaient sur un index inversé (associant les termes aux identifiants des documents) et sur des requêtes booléennes pour filtrer les résultats. Au fil du temps, des fonctionnalités telles que le facettage, la saisie semi-automatique et la recherche par meilleure correspondance (BM25) ont amélioré la pertinence, mais les utilisateurs sont toujours confrontés à des défis importants, notamment : 

  • Inadéquation du vocabulaire : les utilisateurs peuvent ne pas connaître le terme exact employé dans les documents. Ils peuvent saisir un terme qui leur est familier, par exemple « basket » alors que le catalogue d’entreprise utilise « chaussure de sport » comme étiquette d’identification. 
  • Requêtes complexes : Les questions en plusieurs parties nécessitent souvent plusieurs tentatives ou un « labyrinthe booléen » où les utilisateurs doivent choisir manuellement les paramètres disponibles comme le prix, la taille, les évaluations, etc. après avoir saisi leur préférence initiale dans la recherche, ce qui engendre de la frustration dans ce scénario.  
  • Index obsolètes : Dans la plupart des systèmes de recherche traditionnels, lorsqu’un nouveau contenu est ajouté à une base de données ou à une collection de documents, l’index de recherche doit être entièrement reconstruit pour intégrer ces nouvelles informations. De nombreux systèmes anciens utilisent des flux de travail par lots : toutes les modifications sont collectées sur une période donnée (quelques heures, voire plusieurs jours), puis une tâche est exécutée pour supprimer l’ancien index et en construire un nouveau. D’autres systèmes traditionnels utilisent l’indexation incrémentale (avec fusion périodique), ce qui rend le contenu récent inaccessible et entraîne des résultats obsolètes jusqu’à la fin de la tâche. 

Ces cinq dernières années, avec l'avènement de l'IA, deux avancées majeures ont remodelé le paysage technique : 

  • Représentations vectorielles et recherche vectorielle : Les représentations vectorielles associent chaque élément de texte (par exemple, une phrase ou la description d’un produit) à un vecteur, c’est-à-dire une position dans un espace de grande dimension. Dans cet espace, les textes sémantiquement similaires se regroupent : « robe rouge » et « robe rose » se trouvent proches l’une de l’autre, tandis que « caractéristiques d’un ordinateur portable » est beaucoup plus éloignée.
  • Recherche vectorielle : imaginez que votre requête soit « trouver des robes rouges à moins de 100 $ ». Cette phrase devient un ensemble de coordonnées. Au lieu de parcourir chaque document à la recherche de ces mots et expressions, le système recherche les quelques points stockés les plus proches des coordonnées de votre requête. Ce sont les résultats les plus pertinents.  

Les modèles d'intégration neuronale transforment le texte en vecteurs denses qui capturent les corrélations sémantiques. Grâce à des algorithmes comme l'approximation du plus proche voisin (ANN), les systèmes peuvent retrouver des documents en se basant sur leur signification plutôt que sur une correspondance exacte des mots. 

Pourquoi la capture du sens sémantique est-elle nécessaire dans la recherche moderne ? 

Il est essentiel de comprendre précisément ce que recherchent les clients. Lorsqu'une personne saisit « robe rouge », elle s'attend à trouver des vêtements alliant cette couleur et ce style précis : une robe, et rien d'autre. Proposer un short bleu ou un t-shirt en réponse à une telle requête est non seulement agaçant, mais cela mine également la confiance de l'utilisateur dans le système de recherche. La recherche moderne, grâce à la génération de résultats augmentés (RAG), discerne ces nuances subtiles et fournit des résultats qui respectent à la fois la couleur et la catégorie avec une précision infaillible. 

Modèles de langage de grande taille (LLM) :  

Un LLM est un modèle qui renvoie des réponses fluides lorsqu'on lui fournit une entrée. Le LLM utilise ce contexte précis pour générer une réponse exacte et actualisée. 

Les systèmes de modélisation du langage humain (LLM) combinent des connaissances factuelles solides et une aisance linguistique. Certains LLM incluent des modèles pré-entraînés de type transformeur, tels que GPT, PaLM et LLaMA, capables de comprendre le contexte et de raisonner à partir des données d'entrée. ChatGPT est un produit qui exécute une ou plusieurs versions de modèles GPT pour générer des réponses aux requêtes des utilisateurs. Le contexte de ces modèles provient principalement d'un entraînement global réalisé à partir d'informations librement accessibles sur le web, ainsi que d'ensembles de données annotés par des humains pour des domaines spécifiques. Il constitue généralement le fondement factuel du système lors de la génération des réponses. 

En combinant la recherche vectorielle avec les capacités de génération des modèles de langage naturel (LLM), on obtient RAG. RAG associe une base de données vectorielle de données organisationnelles et une requête utilisateur vectorisée, puis les transmet au LLM. Le modèle LLM utilise ensuite ce contexte actualisé et ciblé, issu de la base de données et de la requête, pour générer des réponses à la fois factuelles et fluides. En résumé, RAG « ancre » le LLM en lui fournissant d'abord les informations pertinentes, puis lui permet de convertir le résultat en une réponse en langage naturel.  

2.2 Pourquoi l'interaction en langage naturel change la donne 

Dans un scénario antérieur à RAG, lorsqu'un employé de magasin doit vérifier si une règle promotionnelle s'applique ou non aux articles en liquidation, le paradigme de recherche traditionnel entre en jeu : 

1. Recherchez « règles des soldes de liquidation » et consultez plusieurs documents PDF correspondant à ces mots-clés. 

2. Appliquez les filtres « promotion d'été » et parcourez la liste des résultats. 

3. Effectuer manuellement des références croisées entre les dates et les catégories de produits 

Ce processus étape par étape peut engendrer une perte de temps considérable pour un résultat minime, créant ainsi des inefficacités et une charge cognitive supplémentaire. Cela serait non seulement préjudiciable au vendeur, mais aussi au client qui patiente peut-être dans la file d'attente.  

Avec RAG, le même processus devient aussi simple que : 

« Est-ce que les soldes d'été incluent les maillots de bain de fin de saison ? » 

Sous le capot, le système : 

  • Intègre la requête et récupère les 5 à 10 (top-k) passages les plus pertinents des documents de politique et des métadonnées des produits. 
  • Élabore une consigne comprenant ces passages et un modèle demandant au titulaire d'un LLM de répondre en faisant spécifiquement référence aux catégories d'habilitation. 
  • Invoque le LLM, qui génère une réponse directe du type : 

« Oui. Conformément à la section 4.2.1 de la Politique de promotion d'été, tous les articles signalés comme « liquidation – fin de saison » – y compris les maillots de bain – sont admissibles à la réduction de 20 %. » 

(Source : Summer_Promo_Policy.pdf ; Product_Metadata_Store.csv) 

Avantages : 

  • Charge cognitive réduite : les utilisateurs s'expriment normalement, sans avoir besoin d'opérateurs booléens ni de jargon technique. 
  • Suppression des conjectures : les LLM paraphrasent la ressource réelle et en déduisent l’intention, comblant ainsi les lacunes lexicales. 
  • Temps de réponse plus rapide : les requêtes de bout en bout s’exécutent en moins d’une seconde. 

2.3 L'urgence des détaillants à proposer des expériences plus riches 

Face à l'exigence actuelle de réponses instantanées et précises – que ce soit via des chatbots, des assistants vocaux, des bornes interactives ou des applications mobiles – les détaillants ne peuvent se permettre aucune lacune ni incohérence. La recherche optimisée par RAG permet de faire le lien entre ces différents canaux de manière fluide.

Cohérence omnicanale
Chaque client obtient la même réponse actualisée, quel que soit le lieu ou la question posée. Qu'il scanne un QR code en magasin ou appuie sur le bouton « Aide » de son téléphone, la plateforme RAG sous-jacente puise dans la même base de connaissances et fournit une réponse uniforme. Vous n'obtiendrez ainsi aucune information contradictoire concernant les spécifications des produits ou les conditions générales. 

Support évolutif
Les questions courantes telles que « Quelle est la politique de retour ? », « Cet article est-il en stock ? » ou « Est-il disponible dans une autre couleur/taille ? » sont traitées automatiquement par des assistants intelligents, 24 h/24 et 7 j/7. Cela permet aux spécialistes humains de se concentrer sur les cas complexes (demandes VIP, problèmes techniques, problèmes de transactions/remboursements) plutôt que de fournir des informations répétitives, ce qui vous permet d'adapter le support sans augmenter vos effectifs. 

Engagements personnalisés
Grâce à l'intégration de RAG avec les données clients disponibles (commandes précédentes, statut de fidélité, historique de navigation), les demandes de suivi semblent naturelles et pertinentes : « J'ai vu que vous avez acheté une robe rouge la semaine dernière ; aimeriez-vous des talons assortis ? » Le système affine chaque réponse en fonction du profil du client, transformant les FAQ standardisées en conversations véritablement personnalisées. 

3. Principes fondamentaux de RAG 

3.1 Qu’est-ce que la génération augmentée par récupération (RAG) ? 

En substance, RAG combine la recherche de passages de contenu sémantiquement pertinents pour une requête donnée et leur utilisation pour orienter et étayer la sortie d'un LLM. On peut le décrire comme une architecture globale optimisée qui enrichit la requête de l'utilisateur, le contexte (les documents ou textes fournis par l'utilisateur) et les connaissances de base du LLM afin de générer une sortie non seulement efficace, mais aussi fondée sur les informations factuelles de l'entreprise.  

Entre l'alimentation en contexte et la saisie des requêtes, nous devons explorer comment rendre ces informations lisibles par machine afin qu'elle comprenne ce qu'elle lit.  

3.2 RAG dans le paysage plus large de l'IA d'entreprise 

Les systèmes de recherche traditionnels ont commencé à décliner avec l'intégration progressive des chatbots dans le service client. Ces derniers gèrent activement les FAQ et conservent de précieuses métadonnées clients pour améliorer l'engagement. Cependant, avant l'essor récent de l'IA, les chatbots étaient peu intelligents. Pour rester compétitives face à cette révolution, les entreprises ont cherché à intégrer l'IA non seulement via les chatbots, mais aussi via leurs systèmes de recherche destinés aux utilisateurs et aux employés. 

À mesure que les entreprises adoptent l'IA nouvellement évoluée au-delà des chatbots autonomes ou des tableaux de bord analytiques, RAG intègre plusieurs domaines de l'IA, notamment les suivants. 

Recherche vectorielle et récupération sémantique 

Les plongements lexicaux modernes ne se contentent pas de capturer la cooccurrence des mots ; ils apprennent des représentations plus profondes des relations de sens entre eux. Des modèles comme CLIP d'OpenAI établissent des ponts entre les modalités (différents modes de données), en projetant images, extraits audio et textes dans un même espace multidimensionnel (vectorisation). Dans le contexte de la recherche, de l'analyse, de la génération et de la consultation (RAG), cela signifie que vous pouvez récupérer un exemple d'image pour une demande de fonctionnalité produit, ou extraire un extrait de transcription vidéo lorsque les utilisateurs demandent des instructions ; aucun pipeline séparé n'est nécessaire. Ces avancées permettent aux étapes de recherche de proposer des expériences véritablement multimodales. Par exemple, un utilisateur pourrait télécharger l'image d'un bijou en or et chercher un bijou similaire en argent. Le même modèle qui génère des informations à partir de requêtes textuelles et d'informations de base de données peut également vectoriser l'intégralité des données d'une image dans le même espace de plongement lexical, puis combiner les requêtes vectorisées pour générer des solutions correspondant aux préférences de l'utilisateur. Même si les suggestions ne correspondent pas exactement à l'image (si celle-ci ne présente pas de bijoux), le modèle proposera, dans la mesure du possible, ce que l'entreprise a de plus proche de la demande de l'utilisateur. 

Génération centrée sur la connaissance 

Au-delà de la simple réponse aux questions ponctuelles, RAG optimise les flux de travail documentaires. Les outils de résumé enrichi par la recherche peuvent intégrer de volumineux documents de politique interne, puis générer des rapports de conformité à la demande, en citant des passages précis et en signalant automatiquement les éventuelles lacunes. De même, les processus de vérification des faits exploitent RAG pour confronter les affirmations à des sources faisant autorité, produisant ainsi des tableaux de preuves traçables que les auditeurs ou les équipes juridiques peuvent consulter. Les entreprises utilisent ces cadres pour maintenir leurs manuels, procédures opérationnelles standard et guides techniques à jour en fonction de l'évolution de la réglementation ou des mises à jour de produits, automatisant ainsi des tâches qui nécessitaient auparavant des équipes de documentation dédiées. 

IA conversationnelle et agents 

Les assistants conversationnels de pointe ne se contentent pas de bavarder : ils raisonnent à travers des processus en plusieurs étapes, orchestrant les appels d’API, les vérifications de conditions et les requêtes de récupération au cours d’une seule session. Un agent de vente au détail, par exemple, pourrait d’abord extraire les données d’inventaire via une API ERP, puis effectuer une recherche RAG sur les « meilleures alternatives » en cas de faible stock, et enfin consulter un moteur de tarification pour proposer une réduction. Cette prise de décision dynamique – savoir quand effectuer une recherche et quand faire appel à un service externe – transforme les chatbots traditionnels en conseillers flexibles capables de gérer des transactions de bout en bout, des évaluations de risques et des recommandations de vente incitative personnalisées. En intégrant la recherche RAG au cœur de ces domaines, les organisations peuvent construire : 

  • Experts en domaine automatisés
    Déployez des consultants virtuels disponibles 24h/24 et 7j/7 : ils fournissent à la demande les dernières politiques d’entreprise, les feuilles de route produit ou les mentions légales. Les processus d’approbation, par exemple pour les supports marketing, peuvent même être renforcés en bloquant l’accès à certaines informations jusqu’à ce que la validation d’un responsable soit intégrée au contexte. 
  • Chatbots proactifs
    Le système déclenche l'extraction de connaissances aux moments clés : si un client consulte trop longtemps un produit de grande valeur, le système peut automatiquement récupérer les offres promotionnelles ou les avantages fidélité activés lors de l'inscription. De même, les alertes RAG (Rapid Agility Group) de gestion des risques peuvent détecter des schémas de transaction inhabituels (souvent un montant total élevé ou une grande quantité d'un produit) et activer en temps réel les protocoles de prévention de la fraude à destination des agents du service client. 
  • Flux de travail basés sur les données
    Intégrez directement les résultats de RAG dans vos systèmes d'information : les informations extraites ou les actions synthétisées peuvent générer des tickets dans les services d'assistance, mettre à jour les enregistrements de votre CRM, voire déclencher des processus d'approbation dans votre ERP. RAG passe ainsi d'un simple générateur de réponses passif à un acteur clé des opérations de l'entreprise, bouclant la boucle entre l'extraction des connaissances et leur exécution automatisée. 

Maintenant que nous avons compris comment un ou plusieurs systèmes RAG peuvent contribuer à intégrer l'IA dans les espaces de recherche d'entreprise, vous allez maintenant approfondir votre compréhension de la manière dont RAG permet à toutes les fonctionnalités de s'unir en une seule unité de calcul.  

3.3 Composants RAG principaux 

Un pipeline RAG d'entreprise est un flux de travail multi-étapes qui garantit des réponses actualisées, pertinentes et conformes à grande échelle. Pour que ce flux de travail fonctionne correctement, il est essentiel de bien comprendre ses composantes. Les concepts techniques fondamentaux du RAG sont les principaux moteurs de son architecture. Les points suivants vous donneront une vue d'ensemble de son fonctionnement pour les données d'une entreprise et du déroulement initial du flux :  

Ingestion et segmentation des données 

L'ingestion de données est le processus de collecte de tous vos contenus bruts provenant de diverses sources et de leur acheminement vers une zone de transit centrale où ils seront préparés pour le traitement, l'analyse, la gestion et l'assemblage (RAG). On peut l'imaginer comme le déplacement de livres de genres différents vers un seul et même ensemble. Les données de votre organisation peuvent provenir de multiples plateformes : 

  • Système de gestion de contenu (SGC) : Contentful, Drupal, WordPress — texte enrichi avec médias intégrés 
  • Gestion de la relation client (CRM) : Cas Salesforce, tickets Zendesk — dialogues clients et historique des problèmes
  • Stockage de fichiers : compartiments S3, bibliothèques SharePoint — PDF, présentations, feuilles de calcul 
  • Bases de données : Tables MySQL/Postgres, schémas ERP/CRM 

Les données provenant de différentes plateformes, collectées sur un socle commun, vont désormais passer par le processus ETL, qui signifie : 

  • Extraire le texte brut (et les métadonnées telles que l'auteur et l'horodatage) 
  • Transformer en normalisant les polices, en supprimant le HTML/CSS et en convertissant les tableaux en listes de texte brut 
  • Charger dans une base de données de transit ou un système de stockage d'objets, en étiquetant le type de contenu et la date d'ingestion 

Maintenant que vous avez préparé vos données brutes et les avez acheminées à travers le processus ETL, il est temps de les « découper ». 

Le découpage en segments (chunking) consiste à découper ces documents volumineux et monolithiques en passages plus courts et sémantiquement cohérents, généralement de 200 à 500 mots chacun, soit environ 267 à 667 tokens. Il s'agit de prendre en compte les éléments suivants : 

  • Limites contextuelles des LLM : La plupart des modèles ne peuvent « lire » que quelques milliers de mots à la fois. 
  • Précision : Des segments plus petits permettent à l'étape de récupération de cibler précisément le passage le plus pertinent. 

Les bonnes pratiques de découpage en segments comprennent : 

  • Scintigraphie sémantique : Privilégiez les coupures en fin de paragraphe, en titre de section ou en fin de page PDF. Cela garantit que la logique de la phrase n’est pas perdue et que LLM la restitue correctement.  
  • Chevauchement : Incluez un chevauchement de 10 à 20 % (par exemple, 50 à 100 mots ou 67 à 133 jetons) entre les blocs adjacents afin de ne pas perdre le contexte lorsqu’un concept s’étend sur deux sections. 

Pourquoi c'est important : 

Par exemple, un manuel produit de 2 000 mots pourrait être divisé en cinq sections de 400 mots, se chevauchant d'environ 80 mots. Si la question d'un utilisateur correspond à la section n° 3, le texte d'introduction et de suivi est suffisant pour que la réponse reste cohérente. 

Pourquoi surveiller la taille et le chevauchement de la fenêtre de contexte ? La division des blocs de 267 à 667 jetons permet d'équilibrer le contexte et le coût des jetons. Cet équilibre est nécessaire pour plusieurs raisons : 267 à 667 jetons (200 à 500 mots) suffisent à représenter le contexte global d'un paragraphe ; un nombre inférieur pourrait être insuffisant pour que le modèle de langage naturel (LLM) en saisisse l'essentiel. Une autre raison est le coût du LLM par jeton, facturé par les API utilisées. Dans la plage de jetons mentionnée, vous pouvez récupérer et intégrer davantage de segments au modèle sans dépasser ses limites ni engendrer de dépenses excessives. Un chevauchement d'environ 50 à 100 jetons (67 à 133 jetons) favorise la rétention du contexte, évitant ainsi au modèle de perdre la fluidité entre les segments. Ceci garantit la continuité du contexte entre les phrases ou les paragraphes. 

Une fois le découpage de nos données brutes terminé, vous passez à la partie la plus cruciale de cette étape de traitement des données : la génération des embeddings.  

Génération d'embeddings 

La génération d'embeddings consiste à représenter les données prétraitées dans une matrice de dimension fixe, pouvant comporter de 512 à plus de 1536 dimensions. Autrement dit, chaque mot du texte prétraité est représenté par un vecteur de dimension spécifique. Le vecteur du mot « reine » sera très proche de celui du mot « femme » et plus éloigné de celui du mot « football ». 

Choix du modèle 

Vous pouvez choisir des modèles d'intégration prêts à l'emploi basés sur des transformateurs (par exemple, text embedding-ada-002) ou utiliser des intégrations spécialisées pour des langages spécifiques. Pour le traitement de données multimodales, il existe des modèles d'intégration dédiés qui permettent d'unifier les données dans un espace d'intégration unique, ce qui facilite les systèmes de recherche multimodaux.  

Mise à jour de la génération d'embeddings 

Afin de maintenir nos index sémantiques à jour avec les dernières mises à jour documentaires, nous pouvons actualiser les représentations vectorielles par lots, en flux continu ou de manière hybride, selon les besoins de l'organisation. Par exemple, en cas de modification de la politique de retour, les documents contenant les anciennes politiques seront remplacés par les nouvelles. Notre base de données vectorielles existante doit donc également prendre en compte cette mise à jour. Les deux méthodes sont décrites en détail ci-dessous : 

Traitement par lots : La mise à jour de l’intégration peut être programmée à intervalles réguliers, par exemple une fois par semaine ou tous les trois jours. Cette option est idéale pour une entreprise qui ne met généralement pas à jour ses documents fréquemment. Toute mise à jour effectuée entre ces échéances sera perdue et une requête utilisateur relative aux domaines concernés par la mise à jour risque de ne pas être prise en compte tant que celle-ci n’aura pas été effectuée.  

Streaming : Les pipelines en temps réel (Kafka, Pub/Sub, Kinesis) diffusent instantanément les documents nouveaux ou mis à jour. Cette approche est plus sûre, que les mises à jour soient fréquentes ou non. Même les entreprises à forte croissance n'auront pas à se soucier de modifier leur architecture de recherche si le streaming est déjà en place. Les inconvénients de cette méthode résident dans la complexité de sa configuration, la nécessité de gérer les erreurs par élément et la difficulté à faire face aux pics de trafic imprévisibles. 

Magasin vectoriel et index 

Un entrepôt de vecteurs est une base de données spécialisée pour le stockage d'un grand nombre d'embeddings. Sa particularité réside dans sa capacité à effectuer des recherches ultrarapides parmi ces embeddings, réduisant ainsi considérablement le temps de traitement. Cette performance est rendue possible grâce à une structure de données appelée index. L'entrepôt de vecteurs construit cet index sur les embeddings, ce qui permet de trouver des vecteurs spécifiques en un temps record.  

Lors de la conception de votre système de stockage vectoriel, le choix de la stratégie d'indexation et du schéma de partitionnement des données appropriés est crucial pour les performances, l'évolutivité et la conformité.  

types d'index d'architecture

  • L'architecture HNSW (Hierarchical Navigable Small World) pour les insertions dynamiques et les recherches à faible latence utilise une structure de données de type graphe multicouche qui stocke un vecteur sous forme de nœud, lequel est connecté à quelques voisins d'autres vecteurs de la couche supérieure.  
  • Fichier inversé avec quantification du produit (IVF+PQ) pour les très grandes échelles : cette méthode regroupe les plongements en n groupes grossiers via l’algorithme des k-moyennes, créant des « listes inversées » de vecteurs par centroïde. PQ divise ensuite chaque vecteur en sous-vecteurs et remplace chacun par l’indice du centroïde du dictionnaire de codes le plus proche, stockant le résultat sous forme de codes entiers compacts. 
  • Partitionnement : Indexation selon une limite logique, partitionnement par zone géographique ou catégorie de contenu afin de respecter les règles de résidence des données. Cela facilite la récupération des données d’entreprise en présence de plusieurs hôtes situés à différents endroits.  

Logique de récupération 

Jusqu'à présent, nous nous sommes concentrés sur le prétraitement des données contextuelles issues des documents d'entreprise. Désormais, nous devons nous intéresser aux données provenant directement des utilisateurs, mais attention : il faut que ce soit rapide.

La logique de recherche est l'ensemble des étapes qui transforment les requêtes utilisateur en éléments de contexte pertinents avant de les envoyer au LLM. Pour que les représentations vectorielles des requêtes soient correctement intégrées à votre index vectoriel, vous devez utiliser le même modèle (et la même version) que celui utilisé pour précalculer les représentations vectorielles de vos documents, ainsi que toutes les étapes de prétraitement effectuées avant et après l'intégration.  

Pour que les interactions avec vos utilisateurs restent instantanées, cette étape d'intégration doit être réalisée en moins de 50 ms. Les nouvelles requêtes reflètent souvent l'évolution de l'intention de l'utilisateur : il vient peut-être de cliquer sur un lien produit ou de changer de contexte. Générer les intégrations à la volée vous permet de réagir immédiatement à ces nuances. 

Les filtres métier permettent d'affiner la recherche en excluant les documents non admissibles, par exemple en appliquant les critères suivants : identifiant de locataire, balise de langue ou catégorie de produit mentionnés dans la requête. Ces exclusions sont immédiatement signalées. Seuls les passages restants sont pris en compte. 

Le vecteur de requête, combiné au vecteur stocké (après application des filtres métier), sera transmis au modèle de réseau de neurones artificiels (RNA), qui renverra les extraits de contexte K selon la distance cosinus ou euclidienne. La valeur de « K » sera un nombre réel positif que vous pourrez choisir.  

Assemblage rapide et invocation LLM 

Une fois que nous avons obtenu l'extrait de contexte K le plus pertinent pour la requête de nos utilisateurs, nous le structurons en une invite compréhensible qui sera envoyée à notre module LLM. Selon la structure de l'invite, le module LLM sera en mesure de générer une réponse ciblée et précise. Il est donc essentiel de porter une attention particulière à la technique d'assemblage de l'invite. 

Message système 

Commencez par une instruction claire et générale qui précise le rôle du modèle et les attentes tonales. Par exemple : 

[Système] : Vous êtes un guide produit convivial qui répond aux questions des clients de manière concise. 

Cette ligne « système » ancre le comportement du modèle avant même l'apparition de tout contenu spécifique à l'utilisateur. 

Blocs de contexte étiquetés 

Les extraits de contexte K récupérés grâce à la logique de récupération précédente peuvent être regroupés dans l'invite étiquetée comme

[Contexte 1]…[Contexte K] [Contexte 1] : …premier extrait… [Contexte 2] : …deuxième extrait… . . [Contexte K] : …kème extrait… … 

En numérotant explicitement les passages de contexte, vous incitez le LLM à ancrer chaque affirmation dans un bloc spécifique, améliorant ainsi la véracité des faits et permettant des références ultérieures.  

Enfin, affichez la requête originale : 

Question de l'utilisateur : « Comment retourner un achat en ligne ? » 

Cette séparation claire entre « instruction système → contexte → question » aide le modèle à distinguer ce qu’il doit faire (système), où chercher (contexte) et à quoi répondre (requête de l’utilisateur). 

Tenez compte des limitations de jetons, car elles peuvent varier d'un modèle à l'autre, et le raisonnement par chaîne de pensée (CoT) peut utiliser plus de jetons que prévu. Pour garantir que le modèle puisse générer une réponse complète, prévoyez une marge : 4 000 jetons pour le contexte et les extraits, puis 1 000 pour la réponse elle-même. 

Post-traitement et livraison des réponses 

Une fois que votre LLM a généré le texte, appliquez une dernière couche de finition et intégrez le résultat à votre expérience utilisateur : 

  • Validation de la structure
    Vérifiez que le modèle respecte le format de sortie attendu (par exemple, listes à puces, schéma JSON). Toute anomalie ou déviation par rapport au format de sortie doit être rejetée et le processus relancé. 
  • Nettoyage de sécurité
    Soyez vigilant face à toute fuite de données, notamment concernant les jetons internes, les clés de substitution et les informations personnelles identifiables (IPI), avant de mettre le système à la disposition des utilisateurs finaux.
  • Extraction de citations
    Identifiez le bloc [Contexte i] à l'origine de chaque affirmation. Les liens intégrés qui renvoient au titre du document original, à la page ou au numéro de paragraphe rendent le raisonnement de votre système pleinement crédible et fiable. 

flux de données traditionnel en chiffon.png

4. Recherche RAG vs. recherche traditionnelle 

Aspect 

Recherche traditionnelle 

Recherche optimisée par RAG

Mécanisme de récupération

Index inversé basé sur les jetons 

Similarité vectorielle via un réseau de neurones artificiels

Paraphrase de gestion

Mauvais – nécessite des jetons exacts 

Excellent – ​​saisit la sémantique latente

Fréquence de mise à jour

Réindexation périodique 

Toujours à jour au moment de la requête

Latence 

~10–50 ms 

~150–500 ms (vecteur + LLM)

Profil de coût 

Prévisible (stockage, processeur) 

Variable — Appels API, inférence GPU

effort du développeur

Outillage éprouvé, boutons de réglage bien compris

Émergence — nouveaux composants et ingénierie rapide

Explicabilité

Liens directs vers les documents correspondants

Texte généré — doit inclure des citations et des aperçus.

4.1 Recherche par mots-clés vs. recherche sémantique 

La recherche par mots clés est au cœur des systèmes de recherche traditionnels depuis des décennies. Elle consiste à segmenter le texte en mots ou expressions, puis à comparer ces termes exacts (ou leurs racines) à un index inversé. Cependant, elle présente des limites lorsque : 

  • Les requêtes utilisent des synonymes ou un langage naturel long (langage humain). 
  • Les utilisateurs posent des questions en plusieurs parties ou dépendant du contexte 
  • Les exigences de fraîcheur imposent l'injection en temps réel de nouvelles données

4.2 Injection de contexte statique vs. dynamique 

Du point de vue d'un index statique, le système de recherche se bloque périodiquement. Cela se produit lors d'une mise à jour de l'espace d'intégration suite à l'ajout de nouveaux contenus dans la base de données de l'entreprise.  

À l'inverse, au lieu de s'appuyer sur un index monolithique, l'injection dynamique de contenu déclenche une nouvelle intégration de la requête utilisateur et une recherche par le plus proche voisin dans la base de données de l'organisation, prenant en compte les entrées nouvelles, modifiées et archivées. Si un article d'assistance a été mis à jour il y a une heure ou une note de service publiée il y a quelques minutes, son intégration est déjà présente dans votre base de données vectorielle et peut être récupérée immédiatement. Cette récupération instantanée est possible grâce à un flux d'ingestion en temps réel (via Kafka, Pub/Sub ou des microservices pilotés par webhook) qui maintient votre base de données vectorielle à jour en toute simplicité.  

Le traitement par lots RAG peut également constituer une meilleure approche que le traitement par lots traditionnel, car la mise à jour s'effectue en quelques heures plutôt qu'en plusieurs jours comme avec le traitement par lots traditionnel.  

L'index statique fait généralement référence à la technique traditionnelle de regroupement des recherches, mais celle-ci est différente du regroupement effectué pour les systèmes RAG (regroupement RAG) et présente des compromis distincts.  

Aspect 

Recherche par lots traditionnelle 

lots de RAG

Ce que vous avez par lots

Document → Construction de l'index (tokenisation, analyseurs)

Génération de documents → Intégration

Granularité

Souvent, des corpus entiers ou de grands lots (heures/jours)

Documents nouveaux/mis à jour depuis la dernière exécution (minutes/heures)

But 

Créer ou reconstruire l'index inversé pour la recherche en texte intégral

Précalculer les vecteurs pour le contenu « froid ».


4.3 Avantages et inconvénients des cas d'utilisation dans le commerce de détail 

  • Précision des requêtes de niche : Les consommateurs formulent souvent leurs questions de manière conversationnelle : « Montrez-moi des baskets éco-responsables avec soutien de la voûte plantaire à moins de 100 $ ». Un moteur de recherche basé uniquement sur les mots clés peut rencontrer des difficultés, notamment en omettant des synonymes comme « écologique » associé à « éco-responsable » ou en ne faisant pas le lien entre « soutien de la voûte plantaire » et les technologies de soins des pieds. RAG, en revanche, excelle dans le traitement de ces requêtes complexes en langage naturel. Son système de recherche par intégration fait remonter les descriptions et avis produits sémantiquement pertinents, et le LLM les combine pour créer une réponse cohérente et personnalisée. Résultat : moins de pages « Aucun résultat trouvé » et des clients plus satisfaits qui se sentent écoutés. 
  • Coût : L'ajout de RAG engendre de nouveaux coûts dans votre budget d'infrastructure. Vous devrez prévoir le stockage de votre index vectoriel (SSD ou service géré) et les coûts de calcul pour la génération des embeddings, que ce soit par lots ou en flux continu. De plus, chaque appel LLM entraîne des frais d'API ou des coûts liés au GPU si le système est auto-hébergé. Pour maîtriser vos dépenses, surveillez attentivement votre consommation, définissez des limites de débit ou des quotas lors des pics de trafic et envisagez des architectures hybrides, c'est-à-dire privilégiez une simple recherche par mots-clés pour les requêtes à faible valeur ajoutée afin de garantir la prévisibilité de votre facture cloud.  
  • Transparence : Avec la recherche traditionnelle, les utilisateurs voient les titres ou des extraits des documents, cliquent dessus et évaluent eux-mêmes leur pertinence. Les résultats RAG, en revanche, sont synthétisés : les clients reçoivent une réponse unique et personnalisée plutôt qu’une liste de résultats bruts. Pour maintenir la confiance, il est essentiel de citer ses sources. 

5. La mise en œuvre simplifiée des solutions d'entreprise et de recherche 

5.1 Choisissez votre style d'intégration 

L'architecture RAG est très polyvalente pour l'intégration à tout type de système de recherche existant. En fonction de la structure du code, du contrôle de l'infrastructure et de l'échelle, RAG peut être configurée pour s'adapter au flux de travail actuel. 

Side-car (prêt à l'emploi) 

Description : Il s’agit d’un système autonome pour votre moteur de recherche existant. Aucune modification de code n’est nécessaire : il suffit de rediriger vos requêtes de recherche vers le composant sidecar pour obtenir les réponses. 

Fonctionnement : Au lieu d’envoyer directement les requêtes des utilisateurs à votre moteur de recherche traditionnel, vous les redirigez vers le sidecar. Celui-ci intercepte la requête, effectue l’intégration et la récupération par réseau de neurones artificiels, puis fusionne ces résultats vectoriels avec les correspondances de mots clés avant de renvoyer une liste classée. 

AVANTAGES : 

Aucune réécriture de code — Votre application principale appelle toujours le même point de terminaison de recherche, mais celui-ci pointe vers un proxy plus intelligent. 

Déploiement rapide — Il suffit de lancer un nouveau conteneur ou une nouvelle fonction Lambda. 

Solution de repli sécurisée — Si le module complémentaire rencontre un problème, le trafic peut être redirigé de manière transparente vers l'ancien moteur de recherche. 

CONSIDÉRATIONS : 

Saut de latence : Ajoute un appel réseau supplémentaire, assurez-vous donc que votre sidecar soit proche (même VPC ou région). 

Surveillance : Mettez en œuvre à la fois votre recherche principale et votre moteur de recherche secondaire pour comparer les résultats et suivre les gains de performance. 

La plupart des plateformes de recherche proposent un module complémentaire ou un plugin de recherche vectorielle (par exemple, NeuralSearch™ d'Algolia ). Il vous suffit d'activer le plugin, de configurer votre champ d'intégration, et votre interface de recherche existante continue de fonctionner exactement comme avant. 

Bibliothèque embarquée (intégrée à l'application) 

Qu'est-ce que c'est ? Un SDK ou une bibliothèque légère que vous intégrez directement dans le code de votre application. 

Fonctionnement : Votre gestionnaire de point de terminaison de recherche appelle l’API de la bibliothèque RAG au cours du même processus. La bibliothèque se charge de l’intégration, de la recherche vectorielle et de la construction de l’invite, puis renvoie les résultats enrichis à votre code existant. 

AVANTAGES : 

Vitesse en cours de traitement : L’absence de saut réseau supplémentaire signifie des temps de récupération inférieurs à 50 ms si votre index vectoriel est colocalisé. 

Contrôle plus précis : vous pouvez ajuster avec précision la mise en cache, la logique de nouvelle tentative et la gestion des erreurs directement là où vous en avez besoin. 

Architecture simplifiée : aucun microservice autonome à maintenir, juste une nouvelle dépendance. 

CONSIDÉRATIONS : 

Complexité du déploiement : Vous devez regrouper et versionner la bibliothèque avec votre application, et gérer les dépendances de modèle ou d’index. 

Contention des ressources : Assurez-vous que vos serveurs d'applications disposent de suffisamment de CPU/RAM pour l'inférence embarquée si vous hébergez les modèles localement. 

Passerelle centrale d'IA (point unique) 

Qu'est-ce que c'est ? Une passerelle API partagée ou une couche d'orchestration que chaque application d'équipe appelle pour les services RAG. 

Fonctionnement : Toutes les requêtes RAG, telles que les outils de support client, les applications mobiles ou les tableaux de bord internes, transitent par une passerelle unique. Celle-ci centralise l’authentification, les contrôles d’accès au niveau du locataire, les quotas d’utilisation et les données analytiques. 

POURQUOI VOUS L'ADOREREZ : 

Gouvernance d'entreprise : des politiques centralisées garantissent que chaque équipe utilise les mêmes modèles, versions d'index et règles de sécurité. 

Observabilité unifiée : Un tableau de bord unique affiche le trafic RAG global, la latence, les taux d'erreur et les indicateurs de retour sur investissement. 

Mises à niveau simplifiées : le déploiement d'un nouveau modèle d'intégration ou d'une nouvelle configuration de stockage vectoriel s'effectue une seule fois au niveau de la passerelle, et non par service. 

CONSIDÉRATIONS : 

Point de défaillance unique : une interruption de service de la passerelle affecte toutes les applications en aval ; à atténuer grâce à la mise à l’échelle automatique et au déploiement multizone. 

Planification du débit : La passerelle doit gérer votre trafic RAG combiné de pointe, prévoyez donc une concurrence CPU, GPU ou vector-DB adéquate. 

En faisant correspondre le niveau de confort technique et les besoins opérationnels de votre équipe à l'un de ces styles d'intégration, RAG sera opérationnel rapidement. 

5.2 Exemple de code avec stockage vectoriel local FAISS et LangChain 

Dans le domaine de la recherche d'entreprise, un entrepôt de vecteurs est une base de données spécialisée qui stocke des représentations vectorielles de haute dimension représentant des documents, des listes de produits ou des éléments de connaissances. Le code source ci-dessous vous permet d'utiliser n'importe quelle source de données publique et d'observer le fonctionnement de l'entrepôt de vecteurs.  

Remplacez OPENAI_API_KEY par votre propre clé ( vous pouvez obtenir une clé OpenAI gratuitement ) et ce code devrait fonctionner correctement. FAISS convertit vos documents organisationnels (contexte) et vos dossiers papier en vecteurs vectoriels et leur attribue des index.  


#!/usr/bin/env python3

# ---------------------------------------------------------------------
# 0. Dependencies (install these before running)
# -----------------------------------------------------------------------------
!pip install langchain-community langchain-openai openai unstructured faiss-cpu tiktoken

# -----------------------------------------------------------------------------
# 1. Imports & API Key Configuration
# -----------------------------------------------------------------------------
import os
from langchain.document_loaders import UnstructuredURLLoader
from langchain.text_splitter import CharacterTextSplitter
from langchain_openai import OpenAIEmbeddings,OpenAI
from langchain.vectorstores import FAISS
from langchain.chains import RetrievalQA

# Replace with your own key
os.environ["OPENAI_API_KEY"] = "YOUR_OPENAI_API_KEY"

#-----------------------------------------------------------------------------
# 2. Load the Article
---------------------------------------------------------------------
# You can swap this URL for any publicly accessible article
urls = ["https://www.example.com/some-article"]
loader = UnstructuredURLLoader(urls=urls)
documents = loader.load()

#-----------------------------------------------------------------------------
# 3. Split into Chunks
#-----------------------------------------------------------------------------
text_splitter = CharacterTextSplitter(
    separator="\\n",
    chunk_size=1000,
    chunk_overlap=200
)
texts = text_splitter.split_documents(documents)

# -----------------------------------------------------------------------------
# 4. Embed & Index into FAISS
# -----------------------------------------------------------------------------
embeddings = OpenAIEmbeddings(openai_api_key=YOUR_OPENAI_KEY)
vectorstore = FAISS.from_documents(texts, embeddings)

# -----------------------------------------------------------------------------
# 5. Build the RetrievalQA Chain
# -----------------------------------------------------------------------------
llm = OpenAI(openai_api_key=YOUR_OPENAI_KEY, temperature=0.6, max_tokens=500)
qa = RetrievalQA.from_chain_type(
    llm=llm,
    chain_type="stuff",
    retriever=vectorstore.as_retriever(),
)

# -----------------------------------------------------------------------------
# 6. Ask Questions
# -----------------------------------------------------------------------------
def answer_question(query: str):
    result = qa({"query": query})
    print("\\n> Question:", query)
    print("Answer:", result["result"])

if __name__ == "__main__":
    # you can substitute with your own questions 
    answer_question("What is the main thesis of the article?")
    answer_question("List two key insights mentioned about RAG.")
    answer_question("How does the author suggest handling long documents?")

5.3 Automatisation de la configuration et validation continue 

Le déploiement fluide de RAG repose sur la nécessité de traiter vos composants de récupération et de génération avec la même importance que n'importe quel autre service critique. En codifiant l'infrastructure, en intégrant des contrôles de cohérence continus à votre pipeline CI et en versionnant chaque paramètre d'invite et d'index, vous transformez RAG d'un module complémentaire expérimental en une composante pleinement gérée de votre cycle de livraison.  

  • Infrastructure as code : définissez vos ressources RAG (Ressources, Infrastructure, Agilité, Architecture) telles que les clusters de stockage vectoriel, l’intégration de microservices et les passerelles API dans des modèles Terraform ou CloudFormation. Stockez-les dans Git avec le code de votre application afin que chaque environnement (développement, préproduction, production) soit déployé de manière identique.
  • Contrôles de bon fonctionnement basés sur l'intégration continue : ajoutez un test de fumée léger à votre pipeline de build. Ce test appelle votre point de terminaison RAG avec une requête connue et vérifie que vous recevez une réponse non vide et correctement formatée, dans les délais prévus par vos SLA de latence. Le déploiement ne se poursuit que si ce test est réussi, vous assurant ainsi de ne jamais livrer une configuration RAG défectueuse ou dégradée. 
  • Gestion des versions des invites et des paramètres : conservez les modèles d’invites, les versions des modèles d’intégration et les mappages d’index sous contrôle de version. Lorsque vous modifiez les paramètres, votre outil IaC (infrastructure en tant que code) peut détecter les dérives et vous alerter avant que des modifications non intentionnelles ne soient mises en production.

Parce que chaque élément (recherche vectorielle, kits de développement logiciel d'IA et IaC) peut être adopté progressivement, vous constaterez des avantages RAG mesurables en quelques jours, vous pourrez itérer rapidement sur le classement ou apporter des modifications rapides et vous maintiendrez une fiabilité à toute épreuve à mesure que vous évoluez. 

5.4 Exemple de code avec le client de recherche d'Algolia 

Le client de recherche d'Algolia est la bibliothèque officielle que vous utilisez pour communiquer avec le service de recherche hébergé d'Algolia depuis votre application.  


# <https://www.algolia.com/doc/libraries/python/v4/>
from algoliasearch.search.client import SearchClientSync  # sync client

APP_ID = "YOUR_APP_ID"
API_KEY = "YOUR_API_KEY"
INDEX = "YOUR_INDEX_NAME"

client = SearchClientSync(APP_ID, API_KEY)

# Add a new record
resp = client.save_object(index_name=INDEX, body={"objectID": "id", "test": "val"})
print(resp)
print(resp.to_json())

# Wait until indexing is done
client.wait_for_task(index_name=INDEX, task_id=resp.task_id)

# Search
search_resp = client.search(
    search_method_params={
        "requests": [
            {"indexName": INDEX, "query": "YOUR_QUERY", "hitsPerPage": 50},
        ],
    },
)
print(search_resp.to_json())

Ceci n'est qu'un aperçu d' Algolia Search Client . Après avoir suivi ce guide de démarrage rapide pour vous inscrire, vous obtiendrez votre_ID_d'application et votre_clé_API. Nous pouvons vous accompagner dans cette démarche via une demande de démonstration . 

Échelle 5.5 à votre propre rythme 

Le trafic des entreprises peut connaître une forte augmentation lors des périodes de pointe saisonnières. Ces pics de trafic saisonniers surchargent inévitablement les systèmes existants, conçus pour un trafic prévisible. L'un des nombreux avantages des systèmes RAG est leur capacité à s'adapter par petites étapes. Voici quelques exemples de mise à l'échelle de vos systèmes RAG : 

  • Partitionnement par sujet ou région : Comme évoqué brièvement dans la partie 3.3, le partitionnement consiste à organiser une base de données selon un attribut spécifique tel que les sujets, par exemple « Documentation électronique », « Guides de confidentialité », « Forums utilisateurs », ce qui permet de conserver des index petits et rapides, ou les partitions régionales où vous pouvez héberger des partitions proches de vos utilisateurs (par exemple, les partitions UE à Francfort, les partitions APAC à Singapour) afin de minimiser la latence et de respecter les règles de résidence des données.  
  • Calcul à la demande : Vous pouvez faire évoluer votre système en utilisant des services cloud qui augmentent la capacité pendant les périodes de forte activité commerciale ou de déploiement de nouvelles politiques et la réduisent pendant les périodes plus calmes, ce qui minimise les coûts inutiles. 

5.6 Surveillance, enregistrement et évaluation du pipeline RAG 

L'utilisateur accède au système et effectue une requête. Il obtient la réponse (et est satisfait si votre pipeline RAG est configuré à 100 %) et quitte le système, finalisant ainsi le processus. La plupart des organisations pensent qu'une fois le pipeline RAG mis en place, tout est en ordre jusqu'à ce qu'un problème survienne et nécessite la mobilisation de toute l'équipe d'ingénierie à 8 h du matin un dimanche. L'approche idéale pour tout projet d'ingénierie, y compris l'intégration d'un pipeline RAG, consiste à établir un pipeline d'évaluation des performances. Ce pipeline peut varier selon les technologies utilisées, mais son objectif principal reste le même : surveiller, évaluer et consigner les résultats/réponses du système.  

  • Contrôles rapides de l'état du système : Suivez le temps de réponse moyen et les taux de réussite dans un graphique simple — feu vert : tout va bien, feu rouge : une investigation est nécessaire 
  • Contrôles qualité périodiques : Chaque mois, nous examinons une sélection de questions et réponses réelles afin de garantir l’exactitude des informations. De petits ajustements permettent de maintenir un niveau de confiance élevé.
  • Journalisation : Mettez en place un système de journalisation régulier enregistrant les requêtes, les réponses, la date et l’heure, ainsi que les temps de réponse quotidiens. Vous pourrez ainsi consulter ces journaux pour analyser le flux d’entrée-sortie et déboguer le système.
  • Alertes : Définissez des seuils simples (par exemple, 95 % des requêtes en moins de 500 ms). En cas de défaillance du système, vous recevez une alerte automatique ; plus besoin de surveillance nocturne. 

Avec des rôles clairement définis, des modifications de code minimales et une surveillance simple, le déploiement de RAG ressemble davantage à une mise à niveau facile qu'au lancement d'un grand projet technologique. 

6. Exactitude et tests des données 

Les composants du système RAG sont dotés de différents boutons permettant d'optimiser les performances. Une compréhension approfondie de ces paramètres vous aide à concevoir un système efficace, précis et soumis à une validation constante basée sur les performances. 

6.1 Division plus intelligente des documents 

Le découpage des documents en sections plus courtes aide le système à mieux mémoriser le contexte. Un léger chevauchement est possible afin que le contexte ne disparaisse pas entre les sections, comme nous l'avons vu précédemment. Vous allez maintenant découvrir différentes techniques de découpage des documents : 

  • Détection de sections sémantiques : L’utilisation de classificateurs basés sur des transformeurs pour détecter les titres, les paragraphes et les divisions aux sections logiques (par exemple, BERT) peut être utile pour la segmentation logique. 
  • Chevauchement adaptatif : Ajustement dynamique de la taille du chevauchement en fonction de l’importance des sections — chevauchement plus important pour les sections politiques essentielles, plus faible pour les sections standard.
  • Segmentation intermodale : Pour les PDF multimédias (texte et images), extraire le texte et les légendes d’images issus de la reconnaissance optique de caractères (OCR), puis segmenter les représentations multimodales afin d’améliorer la recherche d’images. Cela permet de conserver le contexte entre les différents médias et de fournir une réponse pertinente aux utilisateurs.

6.2 Assurance qualité simplifiée du système RAG 

Suite de tests QA automatisés : créez une série de 1 000 à 1 500 paires question-réponse par domaine. Répertoriez les questions courantes, comme « Comment obtenir un remboursement ? », comparez les réponses aux réponses correctes connues et notez les erreurs éventuelles. Intégrez cette suite de tests aux pipelines d’intégration continue (CI) afin d’exécuter des tests de rappel et de précision de génération à chaque mise à jour d’index ou de contexte.  

  • Tests de charge simulés : Vous pouvez utiliser des outils comme Locust pour simuler des milliers de requêtes RAG simultanées, validant ainsi les performances à grande échelle. 
  • Injection d'erreurs : Introduire des données de contexte manquantes ou corrompues dans le système afin de détecter d'éventuelles anomalies ou déviations par rapport aux modèles de réponse de sécurité. Ces cas peuvent s'avérer cruciaux pour l'évaluation du système lors de l'exécution de requêtes critiques.  
  • Renforcement par les utilisateurs : Une fois les réponses reçues, invitez les utilisateurs à les évaluer et mettez en place un système de notation indiquant la pertinence des réponses par rapport à leurs requêtes. Cela vous permettra de comprendre la performance du système du point de vue des utilisateurs.

6.3 Indicateurs clés et tableaux de bord 

Les valeurs de référence pour les indicateurs de performance idéaux sont présentées ci-dessous :  

Métrique 

Définition 

Cible

Rappel de récupération @K 

% des requêtes où le contexte correct se trouve dans les K premiers passages

≥ 95%

Taux de correspondance exacte de génération

% des réponses générées correspondent exactement à la référence

≥ 85%

Latence (intégrée + 

récupérer)

Il est temps de générer les plongements lexicaux et de récupérer les K meilleurs vecteurs.

≤ 100 ms

score de commentaires des utilisateurs

Note moyenne positive attribuée aux réponses générées

≥ 4,5/5

Taux d'erreur du système 

% de requêtes ayant échoué ou expiré 

≤ 0.1%


Ces chiffres peuvent varier en fonction des priorités et de l'urgence du déploiement des fonctionnalités RAG. Certaines organisations peuvent avoir besoin d'intégrer le système et, par conséquent, la fiabilité des données de rappel n'est peut-être pas la priorité absolue pour la première version. Le tableau présente ce qui est idéalement considéré comme la référence pour la plupart des indicateurs d'évaluation.  

Vous pouvez connecter des tableaux de bord dans Grafana pour visualiser les tendances au fil du temps et les corrélations entre la charge et la latence. Ces indicateurs facilitent l'évaluation et permettent de prendre les mesures nécessaires. 

7. Sécurité, confidentialité et conformité 

La protection des données d'entreprise est une étape cruciale pour toute intégration technique. Les données sensibles, telles que les données utilisateur, les identifiants d'administrateur, les informations de vente et de stock, etc., sont constamment exposées au risque de fuite ou de piratage. Par conséquent, les données de votre entreprise doivent être protégées, et il existe plusieurs méthodes simples pour y parvenir : 

7.1 Architecture et modèles de menaces 

  • Segmentation du réseau : placez les serveurs de vecteurs et les points de terminaison LLM dans des sous-réseaux isolés. Assurez-vous qu’ils ne soient pas accessibles directement depuis Internet. Autorisez uniquement le trafic entrant via une passerelle API ou un équilibreur de charge. 
  • Identité Zero Trust : Appliquez le protocole TLS mutuel (mTLS), une extension du protocole TLS standard. Cela garantit que seules les charges de travail autorisées peuvent communiquer entre elles, même au sein de votre réseau vérifié.

7.2 Chiffrement et gestion des clés 

  • Chiffrement au repos : utiliser AES-256 pour le stockage des index vectoriels
    Dans AWS, cela concerne les volumes EBS (Elastic Block Store). Vous activez le chiffrement sur ces volumes, et AWS se charge de chiffrer chaque bloc lors de son écriture.
    Dans Azure, cela concerne les disques managés. L'activation du chiffrement des disques s'effectue de manière similaire : chaque secteur est chiffré avant d'être stocké physiquement. 
  • Tokenisation des PII : Lors de l'ingestion, détecter et tokeniser les champs PII tels que les adresses e-mail, les numéros de sécurité sociale et les numéros de téléphone à l'aide de détecteurs basés sur le NLP, en les remplaçant par des jetons réversibles pour la conformité de sécurité. 

7.3 Conformité et audit 

  • Gestion du cycle de vie des données RGPD/CCPA : L’utilisation des données nécessite le respect des réglementations géographiques telles que le RGPD ou le CCPA. Chaque élément intégré doit être marqué avec des indicateurs précisant le consentement de l’utilisateur, la date de collecte et les zones géographiques autorisées pour le traitement. Ces métadonnées sont transmises à votre logique de récupération, garantissant ainsi que le système n’accède jamais à du contenu non autorisé.  
  • Journalisation d'audit immuable : chaque requête, les K identifiants d'extraits de code les plus pertinents, le modèle d'invite utilisé et la réponse générée par LLM sont consignés dans un espace de stockage immuable qui ne peut être modifié. 
  • Tests d'intrusion périodiques : faites appel à des auditeurs de sécurité tiers de manière régulière (par exemple, annuellement ou bisannuellement) pour couvrir les API de la base de données de vecteurs, les points d'accès LLM et les points d'injection de l'interface utilisateur. Ceci garantit la sécurité du système contre les pirates informatiques du monde entier et sa conformité aux normes de sécurité et de conformité.  

8. Ce que cela signifie pour l'utilisateur professionnel 

Mettre en œuvre RAG peut sembler un grand pas en avant, mais pour les utilisateurs métiers, c'est simplement un moyen d'interroger les données de l'entreprise dans un langage courant et d'obtenir des réponses claires et fiables. Au lieu de naviguer dans des tableaux de bord complexes ou d'écrire des requêtes SQL sur des volumes importants de données, vous posez une question comme vous le feriez à un membre de l'équipe, et le système renvoie une réponse facile à comprendre, souvent accompagnée d'un visuel ou de quelques points clés qui vous fournissent exactement les informations nécessaires. Voici quelques exemples d'utilisation dans différents services d'une organisation. 

Commercialisation 

Imaginez que votre responsable marketing souhaite connaître les performances d'une campagne promotionnelle récente dans différentes régions. Plutôt que de demander à un analyste de données de générer des rapports, il vous suffit de taper : « Afficher les trois meilleures promotions du dernier trimestre en termes de chiffre d'affaires en Europe », et vous obtiendrez instantanément un graphique et un court paragraphe résumant les résultats. 

Cette approche en libre-service permet à vos analystes de se concentrer sur des investigations plus approfondies, tout en offrant aux gestionnaires un accès direct aux informations. 

Service client 

Pour les équipes du service client, RAG devient un assistant précieux. Lorsqu'un agent reçoit une demande concernant une politique de retour, il lui suffit de demander : « Quel est le délai de retour pour les articles en liquidation ? » Le système extrait le texte pertinent de la politique, met en évidence la phrase clé et suggère même la formulation exacte de la réponse. Fini les recherches fastidieuses dans les manuels ou l'attente d'un expert : les agents restent autonomes et efficaces.  

Finance 

Au lieu de passer des heures à comparer des feuilles de calcul, un contrôleur financier peut se demander : « Quelles ont été nos principales catégories de dépenses ce mois-ci, et comment se comparent-elles à celles du mois dernier ? » La réponse est fournie sous forme d’un résumé concis, accompagné d’un tableau simple. Cette interface transparente et intuitive réduit les erreurs et accélère les clôtures de fin de mois. 

Le déploiement de RAG ne nécessite pas un projet informatique d'envergure. Vous pouvez commencer modestement, en l'intégrant progressivement dans un service ou un cas d'usage à la fois, et en l'enrichissant au fur et à mesure que vous en constatez la valeur. 

La formation peut être rapide : une courte démonstration sur la manière de poser des questions efficaces, suivie d’une mise en pratique. L’adoption est souvent rapide lorsque les équipes constatent le gain de temps et la confiance accrue qu’elles acquièrent en ayant les réponses immédiatement accessibles, au lieu de devoir consulter des documents imprimés de l’entreprise.  

En définitive, RAG transforme les données en un partenaire interactif. Les utilisateurs métiers posent des questions, le système y répond et chacun gagne en efficacité. Que vous travailliez au marketing, au support, à la finance ou aux opérations, RAG simplifie les démarches techniques et assure la cohérence du travail basé sur les données pour tous.  

8.1 Victoires rapides et idées de projets pilotes 

  • Analyse des performances des campagnes marketing : cette analyse permet d’identifier rapidement les meilleures stratégies d’investissement et de contenu.  
  • Automatisation des FAQ d'assistance : Donnez aux agents les moyens, grâce à des chatbots, de fournir des réponses instantanées aux politiques de l'entreprise, ce qui contribue à réduire les temps d'attente et le temps consacré à la recherche d'informations. 
  • Synthèses des tendances des ventes : Accédez aux points saillants des ventes quotidiennes ou hebdomadaires sans ouvrir de tableurs. Les équipes commerciales peuvent ainsi se concentrer sur la solution plutôt que de créer un tableau de bord complexe expliquant le problème.  

Ces projets pilotes peuvent souvent être mis en place en quelques semaines ou quelques mois, et permettent d'obtenir rapidement des gains de productivité et de satisfaction au sein des équipes. Ensuite, il est possible de les étendre à d'autres équipes et sources de données, créant ainsi une dynamique positive jusqu'à ce que la méthode RAG devienne un élément central de la façon dont l'organisation apprend et agit.  

8.2 Cas d'utilisation chez un détaillant : autonomiser les conseillers clientèle 

Les utilisateurs peuvent interroger le chatbot RAG ou effectuer une recherche : « Quels parfums à moins de 100 $ sont éligibles à la promotion d’été ? » et obtenir immédiatement une liste de produits, ainsi que des suggestions de crédit en fonction de leur niveau de fidélité. Cela réduit le temps de formation des nouveaux employés et garantit des informations cohérentes et exactes dans tous les points de vente. 

Dans les centres d'appels, les agents bénéficient de suggestions en temps réel. Par exemple, au cours d'un appel, un agent tape : « Puis-je acheter un maillot de bain en solde avec des articles à plein tarif ? » et reçoit une réponse du type : « Les maillots de bain en solde peuvent être associés à des accessoires à plein tarif pour bénéficier d'une réduction supplémentaire de 5 %. » L'agent répète ensuite la formulation exacte au client, ce qui renforce sa confiance et limite les risques de litiges ultérieurs. 

8.3 Facteurs de retour sur investissement : Délai de réponse plus court, réduction des escalades, amélioration de la satisfaction client 

  • Délai de réponse : En réduisant le temps de recherche de plusieurs minutes à quelques secondes, les agents du service client traitent davantage d’appels par heure. Pour une équipe de 50 agents, gagner une seule minute de temps de traitement moyen peut représenter des économies de plusieurs milliers de dollars par an et permettre aux agents de répondre à plus de demandes clients par heure.  
  • Réduction des escalades : Grâce à des réponses précises et faisant autorité, moins de demandes nécessitent l’intervention de la direction. Les organisations constatent souvent une baisse du taux d’escalade, ce qui permet aux experts seniors de se concentrer sur les cas critiques plutôt que sur des clarifications répétitives de politiques auprès des clients. 
  • Amélioration de la satisfaction client (CSAT) : des réponses rapides et des informations pertinentes contribuent à la satisfaction des clients. De nombreux détaillants constatent une augmentation de leur CSAT (score de satisfaction client) quelques semaines seulement après le lancement d'un système d'assistance basé sur le modèle RAG (Rapid, Agile, Gris), ce qui a un impact direct sur la fidélisation et la satisfaction à la marque. 

9. Ce que cela signifie pour l'utilisateur final et le client 

Pour les consommateurs, RAG transforme l'expérience d'achat, passant d'une simple sélection de cases à cocher à un véritable dialogue. Cette expérience reflète fidèlement l'intention du client, que le système interprète pour fournir la réponse la plus appropriée, garantissant ainsi sa satisfaction. 

9.1 Achats personnalisés et commerce conversationnel 

Lorsque les utilisateurs consultent le site web ou l'application et demandent : « Quelles vestes légères à moins de 200 $ iraient bien avec mes bottes bleu marine ? », l'assistant RAG leur suggère instantanément trois options (ou plus s'ils le souhaitent), explique pourquoi chacune correspond à leur demande et affiche des images avec des liens d'achat, les guidant ainsi vers la page de vente. Tout cela au lieu de les obliger à parcourir fastidieusement d'innombrables annonces de vestes. Au fil du temps, le système apprend les préférences de style de l'utilisateur (couleur, coupe, marque préférée) et recommande de manière proactive des articles en fonction de ces préférences, contribuant ainsi à l'incitation à l'achat. 

9.2 Cas d'utilisation pour un détaillant : « Trouvez-moi des produits similaires » par chat 

Il arrive souvent que les acheteurs repèrent un produit qui les incite à explorer d'autres options, parfois à des prix ou des couleurs différents. Grâce au chat intégré de RAG, ils peuvent télécharger une photo ou cliquer sur un article et saisir : « Trouvez-moi des robes similaires dans des tons pastel ». L'assistant analyse alors les caractéristiques de l'image, récupère les produits similaires visuellement et sémantiquement, et les affiche dans une fenêtre de chat, avec des filtres de prix et de tailles disponibles. Plus besoin de parcourir des pages de catégories ni de deviner des mots-clés. 

9.3 Bonnes pratiques UX : messages d’orientation et stratégies de repli 

Lorsqu'une fonctionnalité est nouvellement intégrée au système, les utilisateurs doivent comprendre son fonctionnement. Souvent, des instructions contextuelles sont nécessaires pour les guider. Ces instructions d'expérience utilisateur (UX) facilitent non seulement le démarrage du processus, mais servent également de tutoriel pour familiariser les utilisateurs avec la fonctionnalité. Voici quelques exemples de méthodes :  

  • Suggestions de questions : Proposez des exemples de questions dans l’interface de chat (par exemple : « Essayez de demander : “Quels maillots de bain sont en promotion à moins de 50 $ ?” »). Cela aide les utilisateurs à comprendre comment formuler leurs requêtes et ce qu’ils peuvent demander. 
  • Divulgation progressive : Commencez par des réponses concises (une ou deux phrases) et proposez un bouton « Afficher plus de détails » pour ceux qui souhaiteraient des questions ou des demandes complémentaires à la question initiale, ou des informations pertinentes à la réponse. 
  • Confiance et solution de repli : Il arrive que les utilisateurs formulent leurs requêtes de manière imprécise, ce qui peut empêcher le système RAG d’en comprendre le sens. Dans ce cas, lorsque les réponses manquent de certitude, suggérez-leur de passer à la navigation par catégorie en répondant par exemple : « Je ne suis pas tout à fait sûr(e) ; souhaitez-vous voir toutes les vestes de randonnée triées par avis ? » 
  • Gestion des erreurs : En l’absence de résultats pertinents, répondez : « Je n’ai pas trouvé d’articles similaires. Souhaitez-vous essayer une autre couleur ou catégorie ? » et proposez des boutons d’accès rapide pour que l’utilisateur ne se sente pas bloqué. 

En intégrant ces principes à l'interface, les consommateurs se sentent guidés plutôt que perdus, ce qui garantit une expérience de conversation agréable. 

10. Bonnes pratiques et pièges à éviter 

Maintenir un index sémantique fiable et performant exige une maintenance continue, comme pour tout autre système de données critique. Nous détaillons ci-dessous quelques pratiques fondamentales qui vous aideront à gérer un système RAG sans difficulté. 

10.1 Taxonomie et versionnage des invites 

  • Bibliothèque de messages d'invite : centraliser les modèles de messages d'invite, couvrant toutes les questions fréquentes et classés par domaine (ex. : assurance qualité, recherche de produits, analyse). Étiqueter les versions et suivre les performances. 
  • Tests A/B des invites : L’ingénierie des invites peut influencer la façon dont les systèmes RAG répondent. Modifier la formulation des invites afin de définir les attentes vis-à-vis du LLM (par exemple, « Répondre brièvement » plutôt que « Fournir une explication détaillée ») permet d’optimiser le résultat généré. Grâce aux tests d’invites, vous pouvez identifier les formulations les plus efficaces et même les utiliser comme un sur-emballage des invites utilisateur. 
  • Mécanismes de restauration : Un mécanisme de sécurité doit être prévu en cas d’apparition d’une nouvelle invite provoquant une augmentation des hallucinations. Utilisez des indicateurs de fonctionnalité pour revenir instantanément aux modèles précédents. 

10.2 Hygiène des données et maintenance des index 

  • Réintégration régulière : planifiez des processus de réintégration complets chaque mois afin de prendre en compte les améliorations du modèle et les mises à jour de la documentation. Cette pratique peut être mise en œuvre même si un système de mise à jour régulière (par lots ou en continu) est déjà en place.  
  • Propagation des suppressions : lors de la mise à jour ou de la suppression de documents sources, assurez-vous que tous les segments et les embeddings associés soient supprimés en cascade dans le magasin de vecteurs. Cela garantit qu’aucune information obsolète n’est conservée après la suppression des informations sources du système. 

10.3 Gestion des cas limites 

  • Low-confidence responses: For times when users’ queries don’t fetch good matches (similarity < threshold), automatically fall back to classic search or human review workflows, which can be followed up with auto-suggestions of similar queries 
  • Garde-fous contre les hallucinations : Appliquer des filtres de sortie aux requêtes critiques (ex. : produits non disponibles en stock). En cas de détection, remplacer par une valeur par défaut : « Désolé, ce produit n’est pas disponible. » Ces garde-fous pourraient être intégrés dans un document recensant les requêtes critiques afin de préparer le système RAG (Rapid, Agilité, Garantie).  

11. Conclusion et prochaines étapes 

RAG propose une approche différente de la recherche d'entreprise, en dépassant les résultats obsolètes issus d'opérations booléennes pour offrir un flux de conversation dynamique qui comprend l'intention de l'utilisateur et génère des réponses contextuelles. Pour les détaillants, RAG peut : 

  • Donnez aux employés les moyens d'accéder instantanément aux politiques, aux données d'inventaire et aux meilleures pratiques. 

  • Offrez à vos clients une expérience d'achat personnalisée et interactive grâce au chat. 

  • Optimisez les opérations en organisant les référentiels de contenu disparates en une base de connaissances unifiée et interrogeable sémantiquement. 

Prêt à explorer RAG avec Algolia ? 

Algolia fournit des solutions de recherche pilotées par l'IA à plus de 18 000 entreprises et un demi-million de développeurs dans le monde entier. Grâce à sa boîte à outils d'IA générative et à ses experts dédiés à la recherche par IA, Algolia permet aux équipes de tester, d'affiner et de déployer facilement RAG au sein de leur organisation. 

Contactez les experts en recherche par IA d'Algolia pour explorer votre feuille de route RAG et débloquer des capacités de recherche de nouvelle génération.

Annexe et lectures complémentaires 

  1. Modèles de conception RAG : Modèles de conception pour les systèmes d’IA composites (IA conversationnelle, copilotes et RAG) | par Raunak Jain | Medium

  2. Azure Content Safety : https://azure.microsoft.com/en-us/products/ai-services/ai-content-safety/

  3. Documentation du kit d'outils Gen AI : https://www.algolia.com/doc/guides/algolia-ai/genai-toolkit/

  4. Recherche vectorielle : https://www.algolia.com/blog/ai/what-is-vector-search

  5. Cours sur l'ingénierie des réponses rapides : https://www.oreilly.com/library/view/prompt-engineering-for/9781098153427/

  6. Cours sur les systèmes RAG : https://www.coursera.org/learn/retrieval-augmented-generation-rag

  7. Génération augmentée par la recherche pour les tâches de TALN à forte intensité de connaissances : https://arxiv.org/abs/2005.11401

Permettre à tous de créer d'excellents outils de recherche et de découverte