FACTS About Building Retrieval Augmented Generation-based Chatbots/fr: Difference between revisions
(Importing a new version from external source) |
(Updating to match new version of source page) |
||
Line 1: | Line 1: | ||
<languages /> | <languages /> | ||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
'''License:''' Original work and translations are licensed under [https://creativecommons.org/licenses/by/4.0/ CC BY 4.0]. | |||
</div> | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
'''Modification Notice:''' The text in this page has been modified by AI models or crowd-sourced. There may be errors or imprecise interpretations. | |||
</div> | |||
'''Auteurs :''' Rama Akkiraju, Anbang Xu, Deepak Bora, Tan Yu, Lu An, Vishal Seth, Aaditya Shukla, Pritam Gundecha, Hridhay Mehta, Ashwin Jha, Prithvi Raj, Abhinav Balasubramanian, Murali Maram, Guru Muthusamy, Shivakesh Reddy Annepally, Sidney Knowles, Min Du, Nick Burnett, Sean Javiya, Ashok Marannan, Mamta Kumari, Surbhi Jha, Ethan Dereszenski, Anupam Chakraborty, Subhash Ranjan, Amina Terfai, Anoop Surya, Tracey Mercer, Vinodh Kumar Thanigachalam, Tamar Bar, Sanjana Krishnan, Jasmine Jaksic, Nave Algarici, Jacob Liberman, Joey Conway, Sonu Nayyar, et Justin Boitano - NVIDIA - rakkiraju, anbangx, dbora@nvidia.com | '''Auteurs :''' Rama Akkiraju, Anbang Xu, Deepak Bora, Tan Yu, Lu An, Vishal Seth, Aaditya Shukla, Pritam Gundecha, Hridhay Mehta, Ashwin Jha, Prithvi Raj, Abhinav Balasubramanian, Murali Maram, Guru Muthusamy, Shivakesh Reddy Annepally, Sidney Knowles, Min Du, Nick Burnett, Sean Javiya, Ashok Marannan, Mamta Kumari, Surbhi Jha, Ethan Dereszenski, Anupam Chakraborty, Subhash Ranjan, Amina Terfai, Anoop Surya, Tracey Mercer, Vinodh Kumar Thanigachalam, Tamar Bar, Sanjana Krishnan, Jasmine Jaksic, Nave Algarici, Jacob Liberman, Joey Conway, Sonu Nayyar, et Justin Boitano - NVIDIA - rakkiraju, anbangx, dbora@nvidia.com | ||
Line 69: | Line 77: | ||
Dans le reste de l'article, nous présentons notre cadre FACTS qui résume les défis rencontrés et les enseignements tirés lors de la création des trois chatbots susmentionnés. Nous commençons d'abord par le défi de fournir du contenu d'entreprise actualisé dans chacun des chatbots. | Dans le reste de l'article, nous présentons notre cadre FACTS qui résume les défis rencontrés et les enseignements tirés lors de la création des trois chatbots susmentionnés. Nous commençons d'abord par le défi de fournir du contenu d'entreprise actualisé dans chacun des chatbots. | ||
<div class="mw-translate-fuzzy"> | |||
[[File:2407.07858v1.figure.1.jpg|thumb|none|479x315px|alt=Figure 1. Points de contrôle dans un pipeline RAG typique lors de la création de chatbots.|Figure 1. Points de contrôle dans un pipeline RAG typique lors de la création de chatbots.]] | [[File:2407.07858v1.figure.1.jpg|thumb|none|479x315px|alt=Figure 1. Points de contrôle dans un pipeline RAG typique lors de la création de chatbots.|Figure 1. Points de contrôle dans un pipeline RAG typique lors de la création de chatbots.]] | ||
</div> | |||
= 3 Assurer la fraîcheur des données d'entreprise dans les chatbots alimentés par LLM (F) = | = 3 Assurer la fraîcheur des données d'entreprise dans les chatbots alimentés par LLM (F) = | ||
Line 85: | Line 95: | ||
'''Recherche Hybride''': Nous avons remarqué que les bases de données vectorielles ne sont pas très efficaces pour gérer les entités correspondantes (par exemple, les noms de personnes, les lieux, les noms d'entreprises, etc.). L'utilisation d'une combinaison de recherche lexicale (par exemple, recherche élastique) et de recherche vectorielle a permis d'obtenir une meilleure pertinence de récupération et une couverture plus large. Mettre en place une infrastructure qui prend en charge les capacités de recherche hybride, combinant les forces des recherches basées sur le lexical et le vectoriel, peut améliorer la précision et la rapidité du processus de récupération. | '''Recherche Hybride''': Nous avons remarqué que les bases de données vectorielles ne sont pas très efficaces pour gérer les entités correspondantes (par exemple, les noms de personnes, les lieux, les noms d'entreprises, etc.). L'utilisation d'une combinaison de recherche lexicale (par exemple, recherche élastique) et de recherche vectorielle a permis d'obtenir une meilleure pertinence de récupération et une couverture plus large. Mettre en place une infrastructure qui prend en charge les capacités de recherche hybride, combinant les forces des recherches basées sur le lexical et le vectoriel, peut améliorer la précision et la rapidité du processus de récupération. | ||
<div class="mw-translate-fuzzy"> | |||
[[File:2407.07858v1.figure.2.png|thumb|none|269x90px|alt=Figure 2. Architecture de l'agent pour gérer des requêtes complexes|Figure 2. Architecture de l'agent pour gérer des requêtes complexes]] | [[File:2407.07858v1.figure.2.png|thumb|none|269x90px|alt=Figure 2. Architecture de l'agent pour gérer des requêtes complexes|Figure 2. Architecture de l'agent pour gérer des requêtes complexes]] | ||
</div> | |||
'''Architectures Agentiques''': Les questions telles que « comparez le revenu de NVIDIA du T1 au T4 de l'exercice 2024 et fournissez un commentaire analytique sur les principaux facteurs contributifs qui ont conduit aux changements de revenus pendant cette période » nécessitent des agents complexes capables de décomposer et d'orchestrer les requêtes. La figure [[#S3.F2|2]] montre un mécanisme que nous avions mis en œuvre pour traiter de telles questions dans le bot Scout. De notre expérience de construction des trois bots, nous avons réalisé que les systèmes IR et les LLM sont insuffisants pour répondre à des requêtes complexes. Des agents complexes et des architectures multi-agents sont nécessaires pour gérer des requêtes complexes. | '''Architectures Agentiques''': Les questions telles que « comparez le revenu de NVIDIA du T1 au T4 de l'exercice 2024 et fournissez un commentaire analytique sur les principaux facteurs contributifs qui ont conduit aux changements de revenus pendant cette période » nécessitent des agents complexes capables de décomposer et d'orchestrer les requêtes. La figure [[#S3.F2|2]] montre un mécanisme que nous avions mis en œuvre pour traiter de telles questions dans le bot Scout. De notre expérience de construction des trois bots, nous avons réalisé que les systèmes IR et les LLM sont insuffisants pour répondre à des requêtes complexes. Des agents complexes et des architectures multi-agents sont nécessaires pour gérer des requêtes complexes. | ||
Line 91: | Line 103: | ||
'''Faut-il affiner les LLMs ou non ?''' Une décision clé est de savoir s'il faut affiner les LLMs, en équilibrant l'utilisation des modèles de base avec des personnalisations spécifiques au domaine. Une seule solution ne convient pas à tous lorsqu'il s'agit de LLMs. Certains cas d'utilisation peuvent bien fonctionner avec des modèles de base, tandis que d'autres nécessitent une personnalisation. Lorsqu'on envisage la personnalisation, plusieurs options sont disponibles, y compris l'ingénierie des invites, le P-tuning, l'affinage efficace des paramètres (PEFT) et l'affinage complet (FT). L'affinage nécessite un investissement significatif dans l'étiquetage des données, la formation et les évaluations, chacun pouvant être chronophage et coûteux. L'automatisation des processus de test et d'évaluation de la qualité devient cruciale pour garantir l'efficacité et la précision lors de la personnalisation des LLMs. La figure [[#S3.F3|3]] montre les évaluations du compromis entre précision et latence que nous avons effectuées en comparant le modèle GPT-4 d'OpenAI avec certains des modèles open-source sur environ 245 requêtes du domaine NVHelp bot. Nos résultats montrent que le modèle Llama3-70B excelle dans plusieurs aspects de la qualité des réponses tout en maintenant une latence acceptable. | '''Faut-il affiner les LLMs ou non ?''' Une décision clé est de savoir s'il faut affiner les LLMs, en équilibrant l'utilisation des modèles de base avec des personnalisations spécifiques au domaine. Une seule solution ne convient pas à tous lorsqu'il s'agit de LLMs. Certains cas d'utilisation peuvent bien fonctionner avec des modèles de base, tandis que d'autres nécessitent une personnalisation. Lorsqu'on envisage la personnalisation, plusieurs options sont disponibles, y compris l'ingénierie des invites, le P-tuning, l'affinage efficace des paramètres (PEFT) et l'affinage complet (FT). L'affinage nécessite un investissement significatif dans l'étiquetage des données, la formation et les évaluations, chacun pouvant être chronophage et coûteux. L'automatisation des processus de test et d'évaluation de la qualité devient cruciale pour garantir l'efficacité et la précision lors de la personnalisation des LLMs. La figure [[#S3.F3|3]] montre les évaluations du compromis entre précision et latence que nous avons effectuées en comparant le modèle GPT-4 d'OpenAI avec certains des modèles open-source sur environ 245 requêtes du domaine NVHelp bot. Nos résultats montrent que le modèle Llama3-70B excelle dans plusieurs aspects de la qualité des réponses tout en maintenant une latence acceptable. | ||
<div class="mw-translate-fuzzy"> | |||
[[File:2407.07858v1.figure.3.png|thumb|none|269x172px|alt=Figure 3. NVHelp answer quality and latency metrics comparison among different models|Figure 3. Comparaison des métriques de qualité des réponses et de latence de NVHelp entre différents modèles]] | [[File:2407.07858v1.figure.3.png|thumb|none|269x172px|alt=Figure 3. NVHelp answer quality and latency metrics comparison among different models|Figure 3. Comparaison des métriques de qualité des réponses et de latence de NVHelp entre différents modèles]] | ||
</div> | |||
'''Gestion des données multimodales''': Les données d'entreprise sont multimodales. La gestion des données structurées, non structurées et multimodales est cruciale pour un pipeline RAG polyvalent. D'après notre expérience, si la structure du document est cohérente et connue à l'avance (comme celles trouvées dans les bases de données EDGAR pour les données de dépôts auprès de la SEC dans le domaine des résultats financiers que le bot Scout gérait), la mise en œuvre d'une division au niveau des sections, en utilisant les titres de section et les sous-titres et en les incorporant dans le contexte des segments, améliore la pertinence de la récupération. Nous avons également trouvé des solutions comme Unstructured.io, qui se spécialisent dans l'extraction et la structuration de contenu à partir de PDF, utiles pour analyser et segmenter des documents non structurés avec contexte. | '''Gestion des données multimodales''': Les données d'entreprise sont multimodales. La gestion des données structurées, non structurées et multimodales est cruciale pour un pipeline RAG polyvalent. D'après notre expérience, si la structure du document est cohérente et connue à l'avance (comme celles trouvées dans les bases de données EDGAR pour les données de dépôts auprès de la SEC dans le domaine des résultats financiers que le bot Scout gérait), la mise en œuvre d'une division au niveau des sections, en utilisant les titres de section et les sous-titres et en les incorporant dans le contexte des segments, améliore la pertinence de la récupération. Nous avons également trouvé des solutions comme Unstructured.io, qui se spécialisent dans l'extraction et la structuration de contenu à partir de PDF, utiles pour analyser et segmenter des documents non structurés avec contexte. | ||
Line 99: | Line 113: | ||
Plus de détails sur chaque point de contrôle sont présentés dans la Figure [[#S3.F4|4]]. En résumé, bien que prometteuse, la mise en œuvre de systèmes RAG pour les chatbots nécessite une planification minutieuse et une évaluation continue pour garantir une récupération de données sécurisée et précise. | Plus de détails sur chaque point de contrôle sont présentés dans la Figure [[#S3.F4|4]]. En résumé, bien que prometteuse, la mise en œuvre de systèmes RAG pour les chatbots nécessite une planification minutieuse et une évaluation continue pour garantir une récupération de données sécurisée et précise. | ||
<div class="mw-translate-fuzzy"> | |||
[[File:2407.07858v1.figure.4.png|thumb|none|479x338px|alt=Figure 4. Points de contrôle RAG, défis et remédiations|Figure 4. Points de contrôle RAG, défis et remédiations]] | [[File:2407.07858v1.figure.4.png|thumb|none|479x338px|alt=Figure 4. Points de contrôle RAG, défis et remédiations|Figure 4. Points de contrôle RAG, défis et remédiations]] | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
[[File:2407.07858v1.figure.5.png|thumb|none|269x234px|alt=Figure 5. Scout Bot : Requête multi-parties|Figure 5. Scout Bot : Requête multi-parties]] | [[File:2407.07858v1.figure.5.png|thumb|none|269x234px|alt=Figure 5. Scout Bot : Requête multi-parties|Figure 5. Scout Bot : Requête multi-parties]] | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
[[File:2407.07858v1.figure.6.png|thumb|none|269x248px|alt=Figure 6. NVHelp Bot : Répondre aux questions sur les avantages RH|Figure 6. NVHelp Bot : Répondre aux questions sur les avantages RH]] | [[File:2407.07858v1.figure.6.png|thumb|none|269x248px|alt=Figure 6. NVHelp Bot : Répondre aux questions sur les avantages RH|Figure 6. NVHelp Bot : Répondre aux questions sur les avantages RH]] | ||
</div> | |||
= 4 Construire des architectures flexibles pour les chatbots d'IA générative (A) = | = 4 Construire des architectures flexibles pour les chatbots d'IA générative (A) = | ||
Line 117: | Line 137: | ||
De nouveaux modèles architecturaux émergent où les chatbots à l'échelle de l'entreprise agissent comme des « standardistes », dirigeant les demandes vers des bots spécialisés ajustés avec des données spécifiques au domaine. Cette architecture multibot permet le développement simultané de chatbots spécialisés tout en offrant aux utilisateurs une interface unifiée. Notre plateforme NVBot prend en charge la coexistence et l'orchestration de plusieurs chatbots au sein d'une entreprise. Le débat sur un bot unique ou plusieurs bots spécialisés est en cours. Nous envisageons un paysage où les bots spécifiques au domaine coexistent avec un bot d'information centralisé, soutenu par des « copilotes » — des capacités d'IA générative intégrées dans des environnements de travail comme les IDE de programmation et les outils de collaboration. Chez NVIDIA, nous explorons activement les trois variations de chatbots — spécifiques au domaine, à l'échelle de l'entreprise, et copilote alors que l'IA générative redéfinit l'efficacité au travail et l'accessibilité de l'information. | De nouveaux modèles architecturaux émergent où les chatbots à l'échelle de l'entreprise agissent comme des « standardistes », dirigeant les demandes vers des bots spécialisés ajustés avec des données spécifiques au domaine. Cette architecture multibot permet le développement simultané de chatbots spécialisés tout en offrant aux utilisateurs une interface unifiée. Notre plateforme NVBot prend en charge la coexistence et l'orchestration de plusieurs chatbots au sein d'une entreprise. Le débat sur un bot unique ou plusieurs bots spécialisés est en cours. Nous envisageons un paysage où les bots spécifiques au domaine coexistent avec un bot d'information centralisé, soutenu par des « copilotes » — des capacités d'IA générative intégrées dans des environnements de travail comme les IDE de programmation et les outils de collaboration. Chez NVIDIA, nous explorons activement les trois variations de chatbots — spécifiques au domaine, à l'échelle de l'entreprise, et copilote alors que l'IA générative redéfinit l'efficacité au travail et l'accessibilité de l'information. | ||
<div class="mw-translate-fuzzy"> | |||
[[File:2407.07858v1.figure.7.png|thumb|none|479x302px|alt=Figure 7. Architecture de la plateforme NVBot sur laquelle plusieurs chatbots sont en cours de développement.|Figure 7. Architecture de la plateforme NVBot sur laquelle plusieurs chatbots sont en cours de développement.]] | [[File:2407.07858v1.figure.7.png|thumb|none|479x302px|alt=Figure 7. Architecture de la plateforme NVBot sur laquelle plusieurs chatbots sont en cours de développement.|Figure 7. Architecture de la plateforme NVBot sur laquelle plusieurs chatbots sont en cours de développement.]] | ||
</div> | |||
= 5 Économie des coûts des déploiements de chatbots (C) = | = 5 Économie des coûts des déploiements de chatbots (C) = |
Revision as of 08:24, 20 February 2025
License: Original work and translations are licensed under CC BY 4.0.
Modification Notice: The text in this page has been modified by AI models or crowd-sourced. There may be errors or imprecise interpretations.
Auteurs : Rama Akkiraju, Anbang Xu, Deepak Bora, Tan Yu, Lu An, Vishal Seth, Aaditya Shukla, Pritam Gundecha, Hridhay Mehta, Ashwin Jha, Prithvi Raj, Abhinav Balasubramanian, Murali Maram, Guru Muthusamy, Shivakesh Reddy Annepally, Sidney Knowles, Min Du, Nick Burnett, Sean Javiya, Ashok Marannan, Mamta Kumari, Surbhi Jha, Ethan Dereszenski, Anupam Chakraborty, Subhash Ranjan, Amina Terfai, Anoop Surya, Tracey Mercer, Vinodh Kumar Thanigachalam, Tamar Bar, Sanjana Krishnan, Jasmine Jaksic, Nave Algarici, Jacob Liberman, Joey Conway, Sonu Nayyar, et Justin Boitano - NVIDIA - rakkiraju, anbangx, dbora@nvidia.com
Lien ArXiv : https://arxiv.org/abs/2407.07858v1
Résumé
Les chatbots d'entreprise, alimentés par l'IA générative, émergent rapidement comme les applications initiales les plus explorées de cette technologie dans l'industrie, visant à améliorer la productivité des employés. La génération augmentée par récupération (RAG), les modèles de langage de grande taille (LLM), les types de cadres d'orchestration LLM Langchain/Llamaindex servent de composants technologiques clés dans la construction de chatbots basés sur l'IA générative. Cependant, construire des chatbots d'entreprise réussis n'est pas facile. Ils nécessitent une ingénierie méticuleuse des pipelines RAG. Cela inclut le réglage fin des embeddings sémantiques et des LLM, l'extraction de documents pertinents à partir de bases de données vectorielles, la reformulation des requêtes, le reclassement des résultats, la conception de prompts efficaces, le respect des contrôles d'accès aux documents, la fourniture de réponses concises, l'inclusion de références pertinentes, la protection des informations personnelles et la création d'agents pour orchestrer toutes ces activités. Dans cet article, nous présentons un cadre pour construire des chatbots efficaces basés sur RAG, basé sur notre expérience directe de la construction de trois chatbots chez NVIDIA : des chatbots pour les avantages IT et RH, les résultats financiers de l'entreprise et le contenu général de l'entreprise. Nos contributions dans cet article sont triples. Premièrement, nous introduisons notre cadre FACTS pour construire des chatbots d'entreprise basés sur RAG qui répondent aux défis mentionnés. Le mnémonique FACTS se réfère aux cinq dimensions que les chatbots basés sur RAG doivent maîtriser - à savoir la fraîcheur du contenu (F), les architectures (A), l'économie des coûts des LLM (C), les tests (T) et la sécurité (S). Deuxièmement, nous présentons quinze points de contrôle des pipelines RAG et des techniques pour optimiser la performance des chatbots à chaque étape. Enfin, nous présentons des résultats empiriques issus de nos données d'entreprise sur les compromis précision-latence entre les grands LLM et les petits LLM. À notre connaissance, c'est le premier article de ce genre qui offre une vue d'ensemble des facteurs ainsi que des solutions pour construire des chatbots d'entreprise sécurisés.
1 Introduction
Les chatbots deviennent de plus en plus une extension des outils de recherche dans les entreprises pour trouver des informations pertinentes. Que ce soit pour les avantages RH, l'assistance informatique, les questions de vente ou les problèmes d'ingénierie, les chatbots d'entreprise sont désormais des outils de productivité incontournables. Avant le lancement de Chat-GPT d'OpenAI (2) en novembre 2022, les entreprises s'appuyaient sur des chatbots développés en interne basés sur des flux de dialogue. Ces bots nécessitaient une formation approfondie pour comprendre les intentions et une orchestration minutieuse pour générer des réponses, et ne pouvaient au mieux fournir que des réponses extractives. Ces premiers bots, construits sur des systèmes de gestion de dialogue associés à des solutions de récupération d'information et de réponse aux questions (IRQA), étaient fragiles et limités en capacité. Bien que des modèles de langage de génération précédente et des modèles GPT existaient, ils manquaient de précision, de robustesse et de fiabilité nécessaires pour une utilisation étendue en entreprise (5).
La sortie de Chat-GPT, l'émergence des bases de données vectorielles et l'utilisation généralisée de la génération augmentée par récupération (RAGs) (8) ont marqué le début d'une nouvelle ère dans le domaine des chatbots. Désormais, les LLMs peuvent comprendre les intentions des utilisateurs avec des invites simples en langage naturel, éliminant ainsi le besoin d'une formation complexe sur les variantes d'intention, synthétiser le contenu d'entreprise de manière cohérente, dotant ainsi les chatbots de capacités conversationnelles au-delà de la reconnaissance d'intentions scriptées. Alors que les LLMs apportent leurs capacités génératives pour construire des réponses cohérentes, factuelles et logiques aux requêtes des utilisateurs, les systèmes de récupération d'information (IR) alimentés par des bases de données vectorielles augmentent la capacité des LLMs à récupérer du contenu frais. Des outils comme LangChain (1) et Llamaindex (9) facilitent la construction de chatbots et l'orchestration de flux de travail complexes incluant la mémoire, les agents, les modèles d'invite et le flux global. Ensemble, les systèmes IR basés sur la recherche vectorielle, les LLMs et les frameworks de type LangChain forment des composants essentiels d'un pipeline RAG et alimentent les chatbots d'IA générative dans l'ère post Chat-GPT.
Chatbot | Domaine | Sources de données | Types de données | Contrôle d'accès | Exemples de requêtes | État |
---|---|---|---|---|---|---|
NVInfo Bot | Connaissance interne de l'entreprise | SharePoint, GoogleDrive, Slack, Confluence, ServiceNow, Jira etc. | Docs, HTML, PDFs, Slides | Oui | Puis-je me garer toute la nuit dans les parkings du siège ? | Test d'accès anticipé |
NVHelp Bot | Aide informatique, Avantages RH | Articles de connaissances pour l'aide informatique, pages des avantages RH | Texte, PDFs, Docs | Oui | Comment s'inscrire au plan d'achat d'actions des employés ? | Production |
Scout Bot | Résultats financiers | Actualités de l'entreprise, blogs, dépôts SEC, interviews liées aux résultats | HTML, PDFs, Docs | Non | Quels sont les revenus de NVIDIA pour les 3 dernières années ? | Production |
Chez NVIDIA, notre principale motivation était d'améliorer la productivité de nos employés en développant des chatbots d'entreprise. Notre enthousiasme initial a rapidement été confronté à la réalité de relever de nombreux défis. Nous avons appris que créer un chatbot d'entreprise réussi, même à l'ère post-Chat-GPT, bien que prometteur, n'est pas facile. Le processus exige une ingénierie minutieuse des pipelines RAG, un ajustement fin des LLMs et une ingénierie des invites, garantissant la pertinence et l'exactitude des connaissances d'entreprise, respectant les autorisations de contrôle d'accès aux documents, fournissant des réponses concises, incluant des références pertinentes, et protégeant les informations personnelles. Tout cela nécessite une conception soignée, une exécution habile et une évaluation approfondie, nécessitant de nombreuses itérations. De plus, maintenir l'engagement des utilisateurs tout en optimisant la rapidité et l'efficacité des coûts est essentiel. Au cours de notre parcours, nous avons appris que réussir un assistant virtuel conversationnel d'entreprise revient à réaliser une symphonie parfaite où chaque note a son importance !
Dans cet article, nous partageons nos expériences et stratégies pour construire des chatbots efficaces, sécurisés et rentables. Nous répondons aux questions suivantes du point de vue d'un praticien :
- Quels sont les principaux défis à prendre en compte lors de la création et du déploiement de chatbots basés sur l'IA générative de niveau entreprise ? Nous présentons nos conclusions issues de nos efforts pour fournir du contenu frais (F) avec des architectures flexibles (A) qui sont rentables (C), bien testées (T) et sécurisées (S) - (FACTS).
- Comment atteindre des niveaux de qualité acceptables pour les utilisateurs avec les systèmes RAG dans la création de chatbots ? Nous présentons les quinze points de contrôle des pipelines RAG et les techniques pour optimiser chaque point de contrôle ainsi que l'ensemble du pipeline RAG.
2 Étude de cas
Le paysage de contenu de notre entreprise comprend à la fois des connaissances autorisées et du contenu non autorisé. Le contenu autorisé englobe des articles d'aide informatique, des ressources RH sur des plateformes comme ServiceNow, et de la documentation de projet sur Confluence, SharePoint, Google Drive, et des outils d'ingénierie comme NVBugs et GitHub. Le contenu généré par les employés complète ces sources sur des plateformes telles que Slack et MS Teams. Dans cet article, nous présentons trois bots que nous avons développés chez NVIDIA en utilisant des RAGs et des LLMs. Ces bots sont brièvement introduits ci-dessous. Les trois bots sont construits sur notre plateforme de chatbot génératif d'IA interne appelée plateforme NVBot. Quelques-unes des requêtes auxquelles nos bots sont capables de répondre sont présentées dans le Tableau 1.
- NVInfo Bot répond aux questions concernant le contenu d'entreprise (environ 500 millions de documents d'une taille d'environ 7 To), en complément de la recherche intranet. Il gère divers formats de données et applique des contrôles d'accès aux documents. La pile technologique comprend LangChain, une base de données vectorielle de fournisseur pour la récupération et la gestion des contrôles d'accès aux documents, un modèle LLM (plusieurs modèles LLM peuvent être sélectionnés), et une interface web personnalisée.
- NVHelp Bot se concentre sur l'aide informatique et les avantages RH (environ 2 000 documents multimodaux contenant du texte, des tableaux, des images, des PDF et des pages HTML), utilisant une pile technologique similaire à celle du bot NVInfo mais avec un volume de données plus réduit.
- Scout Bot gère les questions concernant les revenus financiers provenant de sources publiques, en traitant des données structurées et non structurées (environ 4 000 documents multimodaux contenant du texte, des tableaux, des PDF et des pages HTML). La pile technologique comprend une base de données vectorielle open source, LangChain, une évaluation Ragas, des modèles LLM sélectionnables et une interface web personnalisée.
Dans le reste de l'article, nous présentons notre cadre FACTS qui résume les défis rencontrés et les enseignements tirés lors de la création des trois chatbots susmentionnés. Nous commençons d'abord par le défi de fournir du contenu d'entreprise actualisé dans chacun des chatbots.
3 Assurer la fraîcheur des données d'entreprise dans les chatbots alimentés par LLM (F)
Assurer la fraîcheur des données d'entreprise dans les chatbots alimentés par des modèles de langage de grande taille (LLM) présente plusieurs défis. Les modèles de base, bien que puissants, sont souvent insuffisants car ils manquent de connaissances spécifiques au domaine et à l'entreprise. Une fois entraînés, ces modèles sont essentiellement figés dans le temps et peuvent halluciner, fournissant des informations indésirables ou inexactes lorsqu'ils sont utilisés sur du contenu d'entreprise sur lequel ils n'ont pas été formés.
La génération augmentée par récupération (RAG) est un processus où des informations pertinentes sont extraites de bases de données vectorielles par correspondance sémantique, puis transmises aux LLM pour la génération de réponses. Dans un pipeline RAG, les bases de données vectorielles et les LLM collaborent pour garantir la livraison de connaissances d'entreprise à jour. Cependant, les pipelines RAG comportent de nombreux points de contrôle, chacun d'eux pouvant, s'il n'est pas bien ajusté, entraîner une baisse de précision, des hallucinations et des réponses non pertinentes par les chatbots. De plus, les autorisations de contrôle d'accès aux documents compliquent le processus de recherche et de récupération, nécessitant une gestion minutieuse pour assurer la sécurité et la pertinence des données. En outre, le contenu multimodal nécessite l'utilisation de récupérateurs multimodaux pour gérer les données structurées, non structurées et semi-structurées, y compris les présentations, les diagrammes, les vidéos et les enregistrements de réunions. Relever ces défis est crucial pour maintenir la précision et la fiabilité des chatbots d'entreprise. Inspirés par (3), nous identifions quinze points de contrôle de RAG à partir de nos études de cas visualisées dans la Figure 1. Chaque point de contrôle est étiqueté avec un numéro. Dans la suite de cette section, nous présentons nos idées et nos apprentissages pour aborder les points de contrôle RAG.
3.1 Enseignements
Dans la figure 4, nous présentons une description sommaire des quinze points de contrôle des pipelines RAG, les défis associés à chaque point de contrôle, et nos approches suggérées pour optimiser chaque point de contrôle. Chaque point de contrôle est étiqueté comme RAG-C[num] et RAG-Op[num] pour les flux RAG et RAGOps, respectivement. Ci-dessous, nous présentons quelques enseignements clés et perspectives pour gérer le contenu d'entreprise récent.
Enrichissement des métadonnées, Fragmentation, Reformulation des requêtes, Réordonnancement des requêtes: Nous avons constaté que les étapes d'enrichissement des métadonnées, de fragmentation, de reformulation des requêtes et de réordonnancement des requêtes du pipeline RAG ont le plus d'impact sur la qualité des réponses du chatbot. La qualité de la génération de réponses par les LLM dépend fortement de la pertinence de la récupération. La pertinence de la récupération dépend, à son tour, fortement de l'enrichissement des métadonnées des documents, de la fragmentation et de la reformulation des requêtes. Nous avons mis en œuvre des capacités d'auto-ML basées sur la recherche en grille pour trouver les bonnes configurations de tailles de jetons de fragments, expérimenté avec diverses variations de prompts et exploré différentes stratégies de réordonnancement des fragments pour trouver les paramètres optimaux pour chacun. Bien que nous ayons réalisé des améliorations significatives en termes de pertinence de récupération et de qualité et précision des réponses, nous pensons qu'il nous reste encore du travail à faire pour optimiser l'ensemble du pipeline.
Recherche Hybride: Nous avons remarqué que les bases de données vectorielles ne sont pas très efficaces pour gérer les entités correspondantes (par exemple, les noms de personnes, les lieux, les noms d'entreprises, etc.). L'utilisation d'une combinaison de recherche lexicale (par exemple, recherche élastique) et de recherche vectorielle a permis d'obtenir une meilleure pertinence de récupération et une couverture plus large. Mettre en place une infrastructure qui prend en charge les capacités de recherche hybride, combinant les forces des recherches basées sur le lexical et le vectoriel, peut améliorer la précision et la rapidité du processus de récupération.
Architectures Agentiques: Les questions telles que « comparez le revenu de NVIDIA du T1 au T4 de l'exercice 2024 et fournissez un commentaire analytique sur les principaux facteurs contributifs qui ont conduit aux changements de revenus pendant cette période » nécessitent des agents complexes capables de décomposer et d'orchestrer les requêtes. La figure 2 montre un mécanisme que nous avions mis en œuvre pour traiter de telles questions dans le bot Scout. De notre expérience de construction des trois bots, nous avons réalisé que les systèmes IR et les LLM sont insuffisants pour répondre à des requêtes complexes. Des agents complexes et des architectures multi-agents sont nécessaires pour gérer des requêtes complexes.
Faut-il affiner les LLMs ou non ? Une décision clé est de savoir s'il faut affiner les LLMs, en équilibrant l'utilisation des modèles de base avec des personnalisations spécifiques au domaine. Une seule solution ne convient pas à tous lorsqu'il s'agit de LLMs. Certains cas d'utilisation peuvent bien fonctionner avec des modèles de base, tandis que d'autres nécessitent une personnalisation. Lorsqu'on envisage la personnalisation, plusieurs options sont disponibles, y compris l'ingénierie des invites, le P-tuning, l'affinage efficace des paramètres (PEFT) et l'affinage complet (FT). L'affinage nécessite un investissement significatif dans l'étiquetage des données, la formation et les évaluations, chacun pouvant être chronophage et coûteux. L'automatisation des processus de test et d'évaluation de la qualité devient cruciale pour garantir l'efficacité et la précision lors de la personnalisation des LLMs. La figure 3 montre les évaluations du compromis entre précision et latence que nous avons effectuées en comparant le modèle GPT-4 d'OpenAI avec certains des modèles open-source sur environ 245 requêtes du domaine NVHelp bot. Nos résultats montrent que le modèle Llama3-70B excelle dans plusieurs aspects de la qualité des réponses tout en maintenant une latence acceptable.
Gestion des données multimodales: Les données d'entreprise sont multimodales. La gestion des données structurées, non structurées et multimodales est cruciale pour un pipeline RAG polyvalent. D'après notre expérience, si la structure du document est cohérente et connue à l'avance (comme celles trouvées dans les bases de données EDGAR pour les données de dépôts auprès de la SEC dans le domaine des résultats financiers que le bot Scout gérait), la mise en œuvre d'une division au niveau des sections, en utilisant les titres de section et les sous-titres et en les incorporant dans le contexte des segments, améliore la pertinence de la récupération. Nous avons également trouvé des solutions comme Unstructured.io, qui se spécialisent dans l'extraction et la structuration de contenu à partir de PDF, utiles pour analyser et segmenter des documents non structurés avec contexte.
RAGOps: Une surveillance efficace de la santé des pipelines RAG est essentielle une fois qu'ils sont déployés. Lorsque la qualité des réponses est médiocre, une analyse d'erreur approfondie est nécessaire pour déterminer si le problème réside dans la pertinence de la récupération ou dans la génération de réponses par le LLM. Pour déboguer la pertinence de la récupération, les développeurs ont besoin d'informations détaillées sur les morceaux stockés dans les bases de données vectorielles avec leurs métadonnées associées, comment les requêtes ont été reformulées, quels morceaux ont été récupérés et comment ces morceaux ont été classés. De même, si une réponse du LLM est incorrecte, il est crucial de revoir l'invite finale utilisée pour la génération de la réponse. Pour les problèmes de citations, les développeurs doivent remonter aux liens des documents originaux et à leurs morceaux correspondants. Les cadres RAGOps/LLMOps et d'évaluation, tels que Ragas, sont essentiels pour fournir l'automatisation nécessaire permettant une itération rapide lors des cycles d'amélioration de la précision dans les pipelines RAG.
Plus de détails sur chaque point de contrôle sont présentés dans la Figure 4. En résumé, bien que prometteuse, la mise en œuvre de systèmes RAG pour les chatbots nécessite une planification minutieuse et une évaluation continue pour garantir une récupération de données sécurisée et précise.
4 Construire des architectures flexibles pour les chatbots d'IA générative (A)
Suivre le rythme des progrès rapides de l'IA, c'est comme naviguer sur une rivière à grande vitesse. Chaque aspect, des bases de données vectorielles et des modèles d'intégration aux LLM, architectures agentiques, plateformes low-code/no-code, cadres d'évaluation RAG et techniques de sollicitation, évolue rapidement. Parallèlement, les départements au sein des entreprises explorent l'IA générative en construisant leurs propres chatbots et copilotes IA.
Dans cet environnement dynamique, il est crucial de construire des plateformes communes, flexibles et adaptatives. Chez NVIDIA, notre écosystème de chatbots a considérablement évolué, reflétant une tendance probablement observée dans de nombreuses entreprises. En partant de la création de trois chatbots initiaux, nous avons réalisé l'importance d'une plateforme commune pour éviter les efforts dupliqués en matière de sécurité, de garde-fous, d'authentification, de prompts, d'interfaces utilisateur, de mécanismes de retour d'information, de rapports d'utilisation, de surveillance et d'évaluations.
Pour répondre à cela, nous avons développé la plateforme NVBot (Figure 7), une plateforme modulaire avec une architecture enfichable. Elle permet aux développeurs de sélectionner les LLM, les bases de données vectorielles, les modèles d'embedding, les agents et les cadres d'évaluation RAG qui conviennent le mieux à leur cas d'utilisation. Elle fournit également des composants communs pour des fonctionnalités essentielles telles que la sécurité, les garde-fous, l'authentification, l'autorisation, l'expérience utilisateur et la surveillance. De plus, la plateforme prend en charge le développement citoyen, permettant à plusieurs équipes de contribuer avec leurs invites testées, leurs flux de travail, leurs garde-fous et leurs modèles ajustés pour une utilisation collective.
Alors que notre écosystème de bots s'élargissait, nous avons été confrontés à une question cruciale : les organisations devraient-elles créer de nombreux bots spécifiques à un domaine, un seul bot d'entreprise, ou opter pour une approche hybride ? Les chatbots spécifiques à un domaine excellent dans des environnements sur mesure, tandis que les chatbots à l'échelle de l'entreprise agissent comme des généralistes, fournissant une base de connaissances centralisée pour tous les employés. Grâce à notre expérience, nous avons réalisé qu'il n'est pas nécessaire de choisir l'un au détriment de l'autre.
De nouveaux modèles architecturaux émergent où les chatbots à l'échelle de l'entreprise agissent comme des « standardistes », dirigeant les demandes vers des bots spécialisés ajustés avec des données spécifiques au domaine. Cette architecture multibot permet le développement simultané de chatbots spécialisés tout en offrant aux utilisateurs une interface unifiée. Notre plateforme NVBot prend en charge la coexistence et l'orchestration de plusieurs chatbots au sein d'une entreprise. Le débat sur un bot unique ou plusieurs bots spécialisés est en cours. Nous envisageons un paysage où les bots spécifiques au domaine coexistent avec un bot d'information centralisé, soutenu par des « copilotes » — des capacités d'IA générative intégrées dans des environnements de travail comme les IDE de programmation et les outils de collaboration. Chez NVIDIA, nous explorons activement les trois variations de chatbots — spécifiques au domaine, à l'échelle de l'entreprise, et copilote alors que l'IA générative redéfinit l'efficacité au travail et l'accessibilité de l'information.
5 Économie des coûts des déploiements de chatbots (C)
Comprendre l'économie des coûts des chatbots basés sur l'IA générative implique plusieurs facteurs critiques. Les coûts élevés des grands modèles de langage (LLM) majeurs et commerciaux peuvent être insoutenables, les dépenses s'accumulant de manière significative à travers de multiples cas d'utilisation. De plus, des dépenses invisibles s'accumulent souvent lorsque les équipes testent divers LLM pour répondre à des besoins spécifiques. En outre, lors de l'utilisation des API des fournisseurs commerciaux de LLM, la sécurisation des données sensibles de l'entreprise nécessite des garde-fous pour détecter et prévenir les fuites de données sensibles, ainsi que des passerelles pour l'audit et l'apprentissage légalement autorisé. Il y a également des compromis à considérer entre le coût et la latence, car les grands LLM avec de longues longueurs de contexte ont généralement des temps de réponse plus lents, impactant l'efficacité globale.
Modèles Plus Grands Vs. Plus Petits: Les grands LLM commerciaux et les petits LLM open source deviennent de plus en plus viables pour de nombreux cas d'utilisation, offrant ainsi des alternatives rentables aux entreprises. Alors que les modèles open source rattrapent les modèles commerciaux plus grands, ils offrent de plus en plus une précision comparable, comme le démontre notre évaluation empirique du bot NVHelp dans la Figure 3, et ont généralement de meilleures performances de latence par rapport aux modèles plus grands. De plus, l'optimisation GPU des modèles d'inférence peut encore accélérer les temps de traitement. Les modèles open source optimisés avec les bibliothèques d'inférence Tensor RT-LLM de NVIDIA, par exemple, ont montré des performances plus rapides que les modèles non optimisés. Ces stratégies aident à équilibrer le besoin d'efficacité économique tout en maintenant des normes élevées de performance et de sécurité.
LLM Gateway: Si vous devez utiliser une API LLM de fournisseur, il est préférable de mettre en place une passerelle LLM interne à l'entreprise pour la gestion des audits, des abonnements et des coûts à travers l'entreprise. La mise en place d'une passerelle LLM interne à l'entreprise peut rationaliser l'utilisation des LLM, les abonnements et le suivi des données pour les audits de sécurité. Ce hub central simplifie la gestion et assure une allocation efficace des ressources. Chez NVIDIA IT, nous avons mis en place une passerelle LLM qui enregistre les charges utiles entrantes et sortantes à des fins d'audit, et ces données sont protégées par des autorisations de contrôle d'accès. Notre passerelle LLM aide à gérer les abonnements et les coûts des appels d'API LLM.
En résumé, développer une stratégie LLM hybride et équilibrée est essentiel pour gérer les coûts et favoriser l'innovation. Cela implique d'utiliser des LLM plus petits et personnalisés pour maîtriser les dépenses tout en permettant une exploration responsable avec de grands LLM via une passerelle LLM. Il est crucial de mesurer et de surveiller le retour sur investissement en suivant les abonnements et les coûts des LLM, ainsi qu'en évaluant l'utilisation des fonctionnalités Gen-AI et les améliorations de productivité. Assurer la sécurité des données sensibles de l'entreprise dans l'utilisation des LLM basés sur le cloud nécessite la mise en place de garde-fous pour prévenir les fuites de données et la construction d'une passerelle LLM pour les audits et l'apprentissage légalement autorisé. Enfin, soyez conscient des compromis entre coût, précision et latence, en personnalisant les LLM plus petits pour correspondre à la précision des modèles plus grands tout en notant que les grands LLM avec de longues longueurs de contexte ont tendance à avoir un temps de réponse plus long.
6 Test des chatbots basés sur RAG (T)
Tester des solutions d'IA générative peut être un processus long en raison de la nécessité de valider les réponses humaines. Les LLM sont de plus en plus utilisés selon l'approche « LLM-as-a-judge ». Cependant, il est conseillé de faire preuve de prudence lors de l'utilisation des LLM comme substitut humain, car les utiliser comme juges peut conduire à des scénarios de prophétie auto-réalisatrice, renforçant ainsi leurs biais inhérents dans les évaluations.
- Tests de sécurité : L'automatisation des tests de sécurité est essentielle pour maintenir la vitesse de développement sans compromettre la sécurité. Un cadre de sécurité solide et des ensembles de données de tests de régression garantissent que le chatbot reste résilient face aux menaces potentielles. Nous collaborons avec nos équipes internes RED en sécurité pour préparer un ensemble de données pouvant être testées à chaque itération majeure du chatbot.
- Test de Changement de Prompt : Les modèles d'IA générative peuvent être très sensibles aux modifications de prompt. Pour maintenir la précision, des tests de régression complets sont nécessaires à chaque modification de prompt.
- Boucles de rétroaction : L'intégration des retours d'information recueillis et du cycle RLHF est essentielle pour une amélioration continue. Cela permet aux modèles LLM de peaufiner à la fois nos solutions et les modèles de langage au fil du temps, garantissant que le chatbot devienne de plus en plus compétent. Cependant, si les modèles de base choisis n'offrent pas de personnalisation, il devient difficile d'aligner les modèles sur les retours humains. Si les retours sont significatifs et couvrent de nombreux domaines, la personnalisation des modèles peut être une option. À ce jour, nous avons commencé à recueillir les retours des utilisateurs, mais nous n'avons pas encore construit nos pipelines d'apprentissage continu utilisant RLHF. Disposer d'outils pour automatiser ce processus est crucial pour la gestion du cycle de vie post-production de ces chatbots.
6.1 Enseignements
Planification des longs cycles de test: Tester efficacement les chatbots basés sur RAG nécessite d'anticiper des cycles de test prolongés. Commencez par vous concentrer sur l'automatisation des tests et l'amélioration des évaluations de précision pour rationaliser cette phase essentielle.
Construire des ensembles de données de vérité terrain représentatifs: Il est crucial de construire des ensembles de données de vérité terrain complets qui reflètent toute la gamme des forces des solutions ciblées. Cela garantit que le chatbot est testé dans des scénarios qu'il rencontrera lors de son utilisation réelle.
Automatiser les évaluations: Bien que l'utilisation des LLMs comme évaluateurs puisse offrir des options de test évolutives, n'oubliez pas que la qualité des évaluations humaines est inégalée. Les outils automatisés doivent être utilisés là où c'est possible pour compléter, mais non remplacer, la supervision humaine.
Incorporer les retours humains et l'apprentissage continu: Établir des mécanismes permettant de recueillir les retours humains et d'effectuer une analyse systématique des erreurs. Prioriser les améliorations itératives basées sur ces retours pour affiner continuellement la performance et l'adaptabilité du chatbot.
7 Sécurisation des chatbots basés sur RAG (S)
La construction de la confiance est primordiale lors du déploiement de chatbots d'IA générative. Pour atténuer les risques, des garde-fous pour les hallucinations, la toxicité, l'équité, la transparence et la sécurité sont essentiels. Les modèles de base solides s'améliorent de plus en plus dans ces garde-fous. Cependant, il existe encore de nombreuses possibilités de contournements, d'attaques adversariales et d'autres problèmes de sécurité. Outre ces risques de sécurité, les chatbots basés sur l'IA générative sont sensibles à des risques dérivés (expliqués ci-dessous). Étant donné que nos bots sont tous des chatbots d'entreprise internes, notre attention s'est davantage portée sur la sécurité du contenu d'entreprise et la mise en place de garde-fous pour les données sensibles. Ci-dessous, nous résumons nos apprentissages et nos idées pour sécuriser les chatbots basés sur RAG en nous basant sur notre expérience. Relever ces défis est impératif pour maintenir l'intégrité et la sécurité des chatbots basés sur RAG dans les environnements d'entreprise.
7.1 Enseignements
Contrôle d'accès au contenu d'entreprise: Les documents d'entreprise sont protégés par des contrôles d'accès, nécessitant que les chatbots basés sur RAG se conforment aux listes de contrôle d'accès (ACL) lors de la génération de réponses. Pour garantir cette conformité, nous avons spécifiquement choisi un produit IR reconnu pour sa capacité à respecter efficacement ces ACL de documents.
Risques Dérivés avec l'IA Générative: Les chatbots peuvent générer des réponses qui manquent de contexte par rapport à leurs sources de données originales, ce qui peut potentiellement conduire à des malentendus. De plus, des méthodes de recherche améliorées pourraient involontairement augmenter le risque d'exposer des données sensibles si le contenu de l'entreprise n'est pas correctement sécurisé. Dans le cadre de notre parcours avec le bot NVInfo, nous avons mis en place des garde-fous pour les données sensibles en plus de tirer parti des capacités de filtrage et de classification des données sensibles fournies par la solution de recherche vectorielle que nous avons utilisée pour filtrer automatiquement les données sensibles lors de la récupération.
Gouvernance des données et sécurité du contenu: Un accès efficace aux connaissances peut augmenter les risques de fuite de données sensibles. Il est donc essentiel de donner la priorité à la gouvernance des données avant le déploiement pour se protéger contre les accès non autorisés et les violations de données. Chez NVIDIA, nous avons lancé une initiative de sécurité du contenu d'entreprise pour la classification de la sensibilité des documents et l'exclusion de contenu sensible des chatbots.
Garde-fous d'entreprise: La mise en place de garde-fous qui alignent les réponses de l'IA générative avec des politiques et règles spécifiques de l'entreprise est essentielle. Ces garde-fous aident à atténuer les risques en veillant à ce que le contenu généré par le chatbot respecte les normes établies et les lignes directrices éthiques, prévenant ainsi les dommages potentiels sur le plan juridique et de la réputation. Dans le bot NVInfo, nous avons initialement mis en œuvre de nombreux garde-fous dans les invites LLM. Cependant, nous avons ensuite réalisé que tous les LLM ne suivaient pas ces invites de manière cohérente. Par conséquent, nous avons mis en œuvre ces garde-fous lors du prétraitement et du post-traitement des requêtes et des réponses respectivement en utilisant Nemo Guardrails (13).
8 Travaux connexes
Notre travail peut être comparé aux articles RAG sur divers sujets traitant de la qualité RAG selon toutes les dimensions FACTS que nous avons présentées (fraîcheur, architecture, coûts, tests et sécurité). En raison du manque d'espace, nous contrastons notre travail avec des œuvres sélectives. Barnett et. al. (3) a présenté sept points de défaillance lors de l'ingénierie des systèmes RAG. Dans leur travail, ils soulignent les défis de réussir la génération augmentée par récupération en présentant leurs conclusions après avoir construit trois chatbots. Wenqi Glantz (6) a élaboré 12 points de douleur RAG et présenté des solutions. Nous avons rencontré des défis similaires de première main lors de la construction de nos chatbots. Cependant, aucun de ces travaux ne discute des défis liés aux requêtes complexes, aux tests, à la gestion de la sécurité des documents et à la nécessité d'architectures flexibles. Dans notre travail, nous ne nous contentons pas de nous appuyer sur les points de défaillance/douleur des RAG mentionnés ci-dessus, mais nous présentons également nos 15 points de contrôle dans les pipelines RAG et offrons des solutions spécifiques pour chaque étape. De plus, nous étendons nos perspectives et présentons des techniques pratiques pour gérer les requêtes complexes, les tests et la sécurité. Nous présentons une architecture de référence pour l'une des implémentations d'architectures agentiques pour la gestion de requêtes complexes, des stratégies pour tester et évaluer les réponses aux requêtes subjectives, et avons sensibilisé à la gestion des ACL et de la sécurité des documents. En outre, nous présentons une architecture de référence pour une plateforme de chatbot flexible basée sur l'IA générative.
ChipNemo (10) présente des preuves de l'utilisation d'un modèle de langage adapté au domaine pour améliorer les performances de RAG sur des questions spécifiques au domaine. Ils ont affiné le modèle e5-small-unsupervised avec 3 000 échantillons auto-générés spécifiques au domaine. Nous avons essayé d'affiner le modèle d'embeddings e5-large dans Scout Bot. Nos résultats n'ont pas montré d'améliorations significatives. Nous collectons actuellement des données annotées par des humains de haute qualité pour répéter les expériences. Cela pourrait être une direction importante à explorer à l'avenir pour notre travail. Une autre technique intéressante a été présentée par Setty et. al. (15), pour améliorer les performances de RAG en utilisant la technique des Hypothetical Document Embeddings (HYDE). HyDE utilise un LLM pour générer un document théorique lors de la réponse à une requête, puis effectue la recherche de similarité avec à la fois la question originale et la réponse hypothétique. C'est une approche prometteuse mais qui pourrait complexifier l'architecture.
La génération augmentée par récupération active (FLARE) (7) synthétise de manière itérative une phrase hypothétique suivante. Si la phrase générée contient des tokens de faible probabilité, FLARE utiliserait la phrase comme nouvelle requête pour la récupération et régénérerait la phrase. Mialon et al. (12) passe en revue les travaux sur les méthodes avancées de génération augmentée dans le modèle de langage. Self-refine (11) construit un agent pour améliorer la réponse initiale de RAG grâce à un retour d'information et un raffinement itératifs. L'agent ReAct (16) est largement utilisé pour traiter les requêtes complexes de manière récursive. Sur le front de l'évaluation RAG, RAGAS (4) et ARES (14) utilisent les LLMs comme juges et construisent un benchmark RAG automatique pour évaluer le système RAG. Zhu et al. (17) donnent un aperçu des usages intensifs des LLM dans un pipeline RAG, y compris le récupérateur, la génération de données, le réécrivain et le lecteur. Nous croyons que notre travail offre une perspective unique sur la construction de chatbots sécurisés de niveau entreprise via notre cadre FACTS.
9 Conclusions
Dans cet article, nous avons présenté notre approche pour développer des chatbots efficaces basés sur RAG, en mettant en avant nos expériences de construction de trois chatbots chez NVIDIA. Nous avons décrit notre cadre FACTS, en soulignant l'importance de la fraîcheur du contenu (F), de l'architecture (A), de la gestion des coûts des LLM (C), de la planification des tests (T) et de la sécurité (S) pour créer des chatbots robustes, sécurisés et de qualité entreprise. Nous avons également identifié et élaboré quinze points de contrôle critiques au sein des pipelines RAG, en fournissant des stratégies pour améliorer les performances des chatbots à chaque étape. De plus, notre analyse empirique révèle les compromis entre précision et latence lors de la comparaison entre les grands et les petits LLM. Cet article offre une perspective holistique sur les facteurs essentiels et les solutions pratiques pour construire des chatbots sécurisés et efficaces de qualité entreprise, apportant une contribution unique au domaine. Davantage de travail est nécessaire dans plusieurs domaines pour construire des chatbots efficaces basés sur RAG. Cela inclut le développement d'architectures agentiques pour gérer des requêtes complexes, multipartites et analytiques ; résumer efficacement de grands volumes de données d'entreprise fréquemment mises à jour ; incorporer des capacités d'auto-ML pour optimiser automatiquement divers points de contrôle RAG ; et créer des cadres d'évaluation plus robustes pour évaluer les réponses subjectives et les conversations.
Références
- (1) Langchain. https://github.com/langchain-ai.
- (2) Achiam, J., Adler, S., Agarwal, S., Ahmad, L., Akkaya, I., Aleman, F. L., Almeida, D., Altenschmidt, J., Altman, S., Anadkat, S., et al. Rapport technique GPT-4. arXiv preprint arXiv:2303.08774 (2023).
- (3) Barnett, S., Kurniawan, S., Thudumu, S., Brannelly, Z., et Abdelrazek, M. Sept points de défaillance lors de l'ingénierie d'un système de génération augmentée par récupération. arXiv preprint arXiv:2401.05856 (2024).
- (4) Es, S., James, J., Espinosa-Anke, L., et Schockaert, S. Ragas : Évaluation automatisée de la génération augmentée par récupération. arXiv preprint arXiv:2309.15217 (2023).
- (5) Galitsky, B. Développement de chatbots d'entreprise. Springer, 2019.
- (6) Glantz, W. 12 points de douleur RAG et solutions proposées.
- (7) Jiang, Z., Xu, F. F., Gao, L., Sun, Z., Liu, Q., Dwivedi-Yu, J., Yang, Y., Callan, J., et Neubig, G. Génération augmentée par récupération active. arXiv preprint arXiv:2305.06983 (2023).
- (8) Lewis, P., Perez, E., Piktus, A., Petroni, F., Karpukhin, V., Goyal, N., Küttler, H., Lewis, M., Yih, W.-t., Rocktäschel, T., et al. Génération augmentée par récupération pour les tâches NLP intensives en connaissances. Advances in Neural Information Processing Systems 33 (2020), 9459–9474.
- (9) Liu, J. LlamaIndex. https://github.com/jerryjliu/llama_index(2022).
- (10) Liu, M., Ene, T.-D., Kirby, R., Cheng, C., Pinckney, N., Liang, R., Alben, J., Anand, H., Banerjee, S., Bayraktaroglu, I., et al. Chipnemo : LLMs adaptés au domaine pour la conception de puces. arXiv preprint arXiv:2311.00176 (2023).
- (11) Madaan, A., Tandon, N., Gupta, P., Hallinan, S., Gao, L., Wiegreffe, S., Alon, U., Dziri, N., Prabhumoye, S., Yang, Y., et al. Auto-affinage : Affinage itératif avec auto-feedback. Advances in Neural Information Processing Systems 36 (2024).
- (12) Mialon, G., Dessì, R., Lomeli, M., Nalmpantis, C., Pasunuru, R., Raileanu, R., Rozière, B., Schick, T., Dwivedi-Yu, J., Celikyilmaz, A., et al. Modèles de langage augmentés : une enquête. arXiv preprint arXiv:2302.07842 (2023).
- (13) Rebedea, T., Dinu, R., Sreedhar, M., Parisien, C., et Cohen, J. Nemo guardrails : Un kit d'outils pour des applications LLM contrôlables et sûres avec des rails programmables. arXiv preprint arXiv:2310.10501 (2023).
- (14) Saad-Falcon, J., Khattab, O., Potts, C., et Zaharia, M. Ares : Un cadre d'évaluation automatisé pour les systèmes de génération augmentée par récupération. arXiv preprint arXiv:2311.09476 (2023).
- (15) Setty, S., Jijo, K., Chung, E., et Vidra, N. Amélioration de la récupération pour les modèles de réponse aux questions basés sur RAG sur les documents financiers. arXiv preprint arXiv:2404.07221 (2024).
- (16) Yao, S., Zhao, J., Yu, D., Du, N., Shafran, I., Narasimhan, K., et Cao, Y. React : Synergiser le raisonnement et l'action dans les modèles de langage. arXiv preprint arXiv:2210.03629 (2022).
- (17) Zhu, Y., Yuan, H., Wang, S., Liu, J., Liu, W., Deng, C., Dou, Z., et Wen, J.-R. Grands modèles de langage pour la récupération d'informations : une enquête. arXiv preprint arXiv:2308.07107 (2023).