Génération à enrichissement contextuel (RAG)
Les modèles de fondation sont généralement entraînés hors connexion, ce qui les rend indépendants des données créées après l'entraînement du modèle. De plus, les modèles de fondation sont entraînés sur des corps de domaines très généraux, ce qui les rend moins efficaces pour les tâches spécifiques à un domaine. Vous pouvez utiliser la génération augmentée de récupération (RAG) pour récupérer des données en dehors d'un modèle de fondation et augmenter vos invites en ajoutant les données récupérées pertinentes dans leur contexte. Pour plus d'informations sur les architectures de modèles RAG, consultez Génération augmentée de récupération pour les tâches NLP nécessitant beaucoup de connaissances
Avec la RAG, les données externes utilisées pour augmenter vos invites peuvent provenir de plusieurs sources de données, telles que des référentiels de documents, des bases de données ou des API. La première étape consiste à convertir vos documents et toutes les requêtes utilisateurs dans un format compatible pour effectuer une recherche pertinente. Pour rendre les formats compatibles, une collection de documents, ou bibliothèque de connaissances, et les requêtes soumises par les utilisateurs sont converties en représentations numériques à l'aide de modèles de langue d'incorporation. L'incorporation est le processus par lequel le texte est représenté numériquement dans un espace vectoriel. Les architectures de modèles RAG comparent les incorporations des requêtes utilisateurs dans le vecteur de la bibliothèque de connaissances. L'invite utilisateur d'origine est ensuite ajoutée avec le contexte pertinent provenant de documents similaires de la bibliothèque de connaissances. Cette invite augmentée est ensuite envoyée au modèle de fondation. Vous pouvez mettre à jour les bibliothèques de connaissances et leurs incorporations pertinentes de manière asynchrone.
Le document extrait doit être suffisamment grand pour contenir un contexte utile permettant d’augmenter l’invite, mais suffisamment petit pour être adapté à la longueur de séquence maximale de l’invite. Vous pouvez utiliser des modèles JumpStart spécifiques à une tâche, tels que General Text Embeddings (GTE) de Hugging Face, pour fournir les vectorisations pour vos invites et pour les documents de votre bibliothèque de connaissances. Après avoir comparé l’invite et les vectorisations pour trouver les documents les plus pertinents, construisez une nouvelle invite avec le contexte supplémentaire. Transmettez ensuite l’invite augmentée à un modèle de génération de texte de votre choix.
Exemples de blocs-notes
Pour plus d’informations sur les solutions de modèles de fondation RAG, consultez les exemples de blocs-notes suivants :
-
Retrieval-Augmented Generation: Question Answering using LLama-2, Pinecone and Custom Dataset
-
Génération augmentée de récupération : réponse aux questions en fonction d'un jeu de données personnalisé avec une bibliothèque LangChain open source
(langue française non garantie) -
Génération augmentée de récupération : réponse aux questions en fonction d'un jeu de données personnalisé
(langue française non garantie) -
Retrieval-Augmented Generation: Question Answering using Llama-2 and Text Embedding Models
-
Amazon SageMaker JumpStart - Text Embedding and Sentence Similarity
Vous pouvez cloner le référentiel d’exemples Amazon SageMaker AI