La génération augmentée de récupération (RAG) est un processus dans lequel nous augmentons la connaissance du grand modèle linguistique (LLM). Les LLM réguliers sont formés sur des ensembles de données spécifiques et les connaissances de ces LLM sont interrompues à un moment donné.
RAG permet l'introduction d'informations supplémentaires basées sur des connaissances dans un LLM pour fournir des informations plus précises, actuelles ou spécifiques.
RAG fonctionne en récupérant les informations pertinentes d'une base de données à l'aide d'une requête générée par le LLM. Ces informations sont ensuite ajoutées aux entrées du LLM, l'aidant à produire des réponses plus précises et plus contextuelles.
Le processus de récupération repose généralement sur un moteur de recherche sémantique, qui utilise des intégrations stockées dans des bases de données vectorielles ainsi qu'un classement avancé et une réécriture de requêtes pour garantir que les résultats correspondent à la requête et répondent aux besoins de l'utilisateur.
L'indexation est le processus de collecte et de chargement de données à partir d'une source et de leur traitement pour une utilisation ultérieure.
Voici les étapes utilisées pour l'indexation des données
Charger/extraire des données : nous devons charger les données à partir d'une source externe telle qu'une base de données, des fichiers locaux, des pages Web, une API, etc. LangChain utilise Document Loader pour ce processus.
Fractionner : nous divisons les données en morceaux plus petits à l'aide de séparateurs de texte. Cette étape est nécessaire pour permettre à LLM de récupérer et de traiter les données plus efficacement. Par exemple, le modèle OpenAI GPT a un nombre limité de jetons qu'ils peuvent traiter en une seule entrée (par exemple 4 000 à 1 600 jetons). Le fractionnement des documents garantit que les morceaux restent dans ces limites de jetons, permettant un traitement efficace sans troncature ni erreurs.
Store : après avoir découpé le document, les fractionnements sont stockés et indexés pour la recherche. Ceci est accompli à l'aide d'un magasin vectoriel et d'un modèle d'intégration. LangChain fournit la fonctionnalité VectorStore et l'intégration avec divers textes [Modèles d'intégration.]
Image fournie par le site Web de LangChain
Image fournie par le site Web de LangChain
La mise en œuvre de RAG (Retrieval-Augmented Generation) implique le chargement de documents à partir de sources externes, qui sont ensuite affinés via des processus tels que le fractionnement ou le segmentage. Chaque morceau est intégré et stocké dans une base de données vectorielles pour permettre une recherche et une récupération efficaces.
Pendant la phase de récupération et de génération, les enregistrements pertinents sont extraits de la base de données vectorielles. Ces morceaux récupérés sont combinés avec l'invite de l'utilisateur et traités par le modèle de langage. Le LLM génère une sortie qui intègre la requête de l'utilisateur, les données augmentées et ses connaissances pré-entraî...
[Courte citation de 8% de l'article original]