Leaders d’opinion
Évolution de RAG – Un guide pour RAG agentic
Qu’est-ce que RAG (Retrieval-Augmented Generation) ?
Retrieval-Augmented Generation (RAG) est une technique qui combine les forces des grands modèles de langage (LLM) avec la récupération de données externes pour améliorer la qualité et la pertinence des réponses générées. Les LLM traditionnels utilisent leurs bases de connaissances pré-entraînées, tandis que les pipelines RAG interrogeront des bases de données ou des documents externes en temps réel et récupéreront des informations pertinentes pour générer des réponses plus précises et plus riches en contexte. Cela est particulièrement utile dans les cas où la question est complexe, spécifique ou basée sur une période donnée, étant donné que les réponses du modèle sont informées et enrichies d’informations à jour sur le domaine.
L’état actuel de RAG
Les grands modèles de langage ont complètement révolutionné la façon dont nous accédons et traitons l’information. La dépendance exclusive à la connaissance préalable pourrait cependant limiter la flexibilité de leurs réponses, en particulier pour les questions complexes. La génération augmentée de récupération répond à ce problème en permettant aux LLM d’acquérir et d’analyser des données à partir d’autres sources disponibles pour produire des réponses plus précises et plus éclairées.
Le développement récent dans la récupération d’informations et le traitement automatique des langues, en particulier les LLM et RAG, ouvre de nouvelles frontières d’efficacité et de sophistication. Ces développements peuvent être évalués sur les contours suivants:
- Amélioration de la récupération d’informations: L’amélioration de la récupération d’informations dans les systèmes RAG est très importante pour fonctionner efficacement. Des travaux récents ont développé divers vecteurs, algorithmes de réorganisation, méthodes de recherche hybrides pour améliorer la recherche précise.
- Mise en cache sémantique: Cela s’avère être l’un des principaux moyens par lesquels le coût de calcul est réduit sans avoir à renoncer à des réponses cohérentes. Cela signifie que les réponses aux requêtes actuelles sont mises en cache avec leur contexte sémantique et pragmatique attaché, ce qui à nouveau favorise des temps de réponse plus rapides et fournit des informations cohérentes.
- Intégration multimodale: Outre les systèmes LLM et RAG basés sur le texte, cette approche couvre également les visuels et d’autres modalités du cadre. Cela permet d’accéder à une plus grande variété de matériel source et donne lieu à des réponses de plus en plus sophistiquées et de plus en plus précises.
Les défis des architectures RAG traditionnelles
Alors que RAG évolue pour répondre à différents besoins, il existe encore des défis qui se dressent face aux architectures RAG traditionnelles:
- Résumé: Résumer de longs documents peut être difficile. Si le document est long, la structure RAG conventionnelle peut négliger des informations importantes car elle ne récupère que les K premiers éléments.
- Comparaison de documents: La comparaison efficace de documents est toujours un défi. Le cadre RAG donne souvent lieu à une comparaison incomplète car il sélectionne les K premiers éléments aléatoires de chaque document.
- Analyse de données structurées: Il est difficile de traiter des requêtes de données numériques structurées, telles que déterminer quand un employé prendra ses prochaines vacances en fonction de son lieu de résidence. La récupération et l’analyse précises de points de données ne sont pas précises avec ces modèles.
- Traitement de requêtes avec plusieurs parties: Répondre à des questions avec plusieurs parties est toujours limité. Par exemple, découvrir des modèles de congés courants dans toutes les régions d’une grande organisation est difficile lorsqu’on est limité à K éléments, limitant ainsi la recherche complète.
Évolution vers RAG agentic
RAG agentic utilise des agents intelligents pour répondre à des questions complexes qui nécessitent une planification soigneuse, une raisonnement multi-étapes et l’intégration d’outils externes. Ces agents effectuent les tâches d’un chercheur compétent, naviguant avec habileté à travers une multitude de documents, comparant des données, résumant les résultats et produisant des réponses complètes et précises.
Le concept d’agents est inclus dans le cadre RAG classique pour améliorer la fonctionnalité et les capacités du système, aboutissant ainsi à la création de RAG agentic. Ces agents entreprennent des tâches et des raisonnements supplémentaires au-delà de la récupération et de la création d’informations de base, ainsi que l’orchestration et le contrôle des divers composants du pipeline RAG.
Trois stratégies agentiques principales
Les routeurs envoient des requêtes aux modules ou bases de données appropriés en fonction de leur type. Les routeurs prennent des décisions dynamiques à l’aide de grands modèles de langage pour déterminer le contexte d’une demande et décider quel moteur doit être utilisé pour améliorer la précision et l’efficacité du pipeline.
Les transformations de requêtes sont des processus impliqués dans la reformulation de la requête de l’utilisateur pour correspondre le mieux à l’information demandée ou, inversement, pour correspondre le mieux à ce que la base de données offre. Cela peut être une reformulation, une expansion ou une décomposition de questions complexes en sous-questions plus simples et plus faciles à gérer.
Cela nécessite également un moteur de requête de sous-questions pour répondre au défi de répondre à une requête complexe en utilisant plusieurs sources de données.
Tout d’abord, la question complexe est décomposée en questions plus simples pour chaque source de données. Ensuite, toutes les réponses intermédiaires sont rassemblées et une réponse finale est synthétisée.
Couches agentiques pour les pipelines RAG
- Routing: La question est acheminée vers le traitement basé sur la connaissance en fonction de la pertinence. Exemple: Lorsque l’utilisateur souhaite obtenir des recommandations pour certaines catégories de livres, la requête peut être acheminée vers une base de connaissances contenant des connaissances sur ces catégories de livres.
- Planification de requête: Cela implique la décomposition de la requête en sous-requêtes, puis l’envoi de celles-ci à leurs pipelines respectifs. L’agent produit des sous-requêtes pour tous les éléments, tels que l’année dans ce cas, et les envoie à leurs bases de connaissances respectives.
- Utilisation d’outils: Un modèle de langage parle à une API ou à un outil externe, en sachant ce que cela implique, sur quelle plate-forme la communication doit avoir lieu et quand il est nécessaire de le faire. Exemple: Étant donné la demande d’un utilisateur pour une prévision météorologique pour un jour donné, le LLM communique avec l’API météorologique, identifie l’emplacement et la date, puis analyse la réponse de l’API pour fournir les bonnes informations.
- ReAct est un processus itératif de réflexion et d’action couplé à la planification, à l’utilisation d’outils et à l’observation.
Par exemple, pour concevoir un plan de vacances de bout en bout, le système prendra en compte les demandes de l’utilisateur et récupérera des détails sur l’itinéraire, les attractions touristiques, les restaurants et l’hébergement en appelant des API. Ensuite, le système vérifiera les résultats en fonction de l’exactitude et de la pertinence, produisant un plan de voyage détaillé pertinent pour la demande et le calendrier de l’utilisateur. - Planification de requête dynamique: Au lieu d’exécuter des actions de manière séquentielle, l’agent exécute plusieurs actions ou sous-requêtes en parallèle, puis agrège ces résultats.
Par exemple, si l’on souhaite comparer les résultats financiers de deux entreprises et déterminer la différence dans une certaine mesure, l’agent traitera les données des deux entreprises en parallèle avant d’agréger les résultats ; LLMCompiler est un tel cadre qui conduit à une telle orchestration efficace d’appels de fonctions parallèles.
RAG agentic et LLMaIndex
LLMaIndex représente une mise en œuvre très efficace des pipelines RAG. La bibliothèque remplit simplement le morceau manquant dans l’intégration des données organisationnelles structurées dans les modèles d’intelligence artificielle générative en fournissant une commodité pour les outils dans le traitement et la récupération de données, ainsi que des interfaces pour diverses sources de données. Les principaux composants de LlamaIndex sont décrits ci-dessous.
LlamaParse analyse les documents.
Llama Cloud pour le service d’entreprise avec des pipelines RAG déployés avec un minimum de travail manuel.
En utilisant plusieurs LLM et un stockage de vecteurs, LlamaIndex fournit une façon intégrée de construire des applications en Python et TypeScript avec RAG. Ses caractéristiques en font un élément très demandé par les entreprises souhaitant exploiter l’IA pour une prise de décision basée sur les données améliorée.
Composants clés de la mise en œuvre de RAG agentic avec LLMaIndex
Plongeons dans le détail de certains des ingrédients de RAG agentic et de la façon dont ils sont mis en œuvre dans LlamaIndex.
1. Utilisation d’outils et acheminement
L’agent d’acheminement choisit quel LLM ou outil est le meilleur pour une question donnée, en fonction du type de requête. Cela conduit à des décisions sensibles au contexte, telles que savoir si l’utilisateur souhaite un aperçu ou un résumé détaillé. Des exemples de telles approches sont le moteur de requête Router dans LlamaIndex, qui choisit dynamiquement les outils qui maximiseront les réponses aux requêtes.
2. Rétention de contexte à long terme
Alors que la tâche la plus importante de la mémoire est de conserver le contexte sur plusieurs interactions, à l’inverse, les agents munis de mémoire dans la variante agentique de RAG restent continuellement conscients des interactions qui aboutissent à des réponses cohérentes et riches en contexte.
LlamaIndex comprend également un moteur de conversation qui a une mémoire pour les conversations contextuelles et les requêtes à shot unique. Pour éviter le débordement de la fenêtre de contexte LLM, une telle mémoire doit être étroitement contrôlée pendant les longues discussions et réduite à une forme résumée.
3. Moteurs de sous-requêtes pour la planification
Souvent, il faut décomposer une requête complexe en tâches plus petites et gérables. Le moteur de requête de sous-requêtes est l’une des fonctionnalités principales pour lesquelles LlamaIndex est utilisé en tant qu’agent, par lequel une grande requête est décomposée en plus petites, exécutées séquentiellement, puis combinées pour former une réponse cohérente. La capacité des agents à enquêter sur plusieurs aspects d’une requête étape par étape représente la notion de planification multi-étapes par opposition à une approche linéaire.
4. Réflexion et correction d’erreurs
Les agents réflexifs produisent une sortie mais vérifient ensuite la qualité de cette sortie pour apporter des corrections si nécessaire. Cette compétence est d’une importance capitale pour garantir l’exactitude et que ce qui est produit est bien ce que souhaitait une personne. Grâce au flux de travail auto-réflexif de LlamaIndex, un agent examinera ses performances soit en réessayant, soit en ajustant les activités qui ne répondent pas à certains niveaux de qualité. Mais parce qu’il est auto-correctif, RAG agentic est quelque peu fiable pour les applications d’entreprise dans lesquelles la fiabilité est primordiale.
5. Raisonnement agentique complexe:
L’exploration basée sur des arbres s’applique lorsque les agents doivent enquêter sur un certain nombre de voies possibles pour atteindre un objectif. Contrairement à la prise de décision séquentielle, le raisonnement basé sur des arbres permet à un agent de considérer plusieurs stratégies à la fois et de choisir la plus prometteuse en fonction de critères d’évaluation mis à jour en temps réel.
LlamaCloud et LlamaParse
Avec sa gamme complète de services gérés conçus pour l’amélioration du contexte d’entreprise au sein des applications LLM et RAG, LlamaCloud est un grand pas en avant dans l’environnement LlamaIndex. Cette solution permet aux ingénieurs en intelligence artificielle de se concentrer sur le développement de la logique métier en réduisant le processus complexe de manipulation de données.
Un autre moteur d’analyse disponible est LlamaParse, qui s’intègre commodément aux pipelines d’ingestion et de récupération dans LlamaIndex. Cela constitue l’un des éléments les plus importants qui gère des documents semi-structurés complexes avec des objets intégrés tels que des tableaux et des figures. Un autre bloc de construction important est l’API d’ingestion et de récupération gérée, qui fournit plusieurs façons de charger, de traiter et de stocker facilement des données à partir d’un large éventail de sources, telles que le référentiel de données central de LlamaHub ou les sorties de LlamaParse. De plus, il prend en charge diverses intégrations de stockage de données.
Conclusion
RAG agentic représente un changement dans le traitement de l’information en introduisant plus d’intelligence dans les agents eux-mêmes. Dans de nombreuses situations, RAG agentic peut être combiné avec des processus ou des API différents pour fournir un résultat plus précis et plus raffiné. Par exemple, dans le cas de la synthèse de documents, RAG agentic évaluera l’objectif de l’utilisateur avant de créer un résumé ou de comparer des détails. Lorsqu’il s’agit de fournir un support client, RAG agentic peut répondre avec précision et individuellement à des questions de clients de plus en plus complexes, non seulement en fonction de leur modèle de formation, mais également de la mémoire et des sources externes disponibles. RAG agentic met en évidence un changement de modèles génératifs à des systèmes plus affinés qui exploitent d’autres types de sources pour atteindre un résultat robuste et précis. Cependant, étant génératif et intelligent comme ils le sont maintenant, ces modèles et RAG agentic sont en quête d’une efficacité plus élevée à mesure que de plus en plus de données sont ajoutées aux pipelines.












