Le SDK AI Edge RAG fournit les composants fondamentaux pour créer un pipeline de génération augmentée par récupération (RAG) avec l'API LLM Inference. Un pipeline RAG permet aux LLM d'accéder aux données fournies par l'utilisateur, qui peuvent inclure des informations mises à jour, sensibles ou spécifiques à un domaine. Grâce aux fonctionnalités de récupération d'informations supplémentaires du RAG, les LLM peuvent générer des réponses plus précises et plus contextuelles pour des cas d'utilisation spécifiques.
Le SDK AI Edge RAG est disponible pour Android et peut être exécuté entièrement sur l'appareil. Pour commencer à utiliser le SDK, suivez le guide Android, qui vous explique comment implémenter une application exemple de base à l'aide du RAG.
Pipeline RAG
La configuration d'un pipeline RAG avec le SDK AI Edge RAG comprend les étapes clés suivantes :
- Importer des données : fournissez les données textuelles que le LLM utilisera lors de la génération de la sortie.
- Diviser et indexer les données : divisez les données en petits blocs pour les indexer dans une base de données.
- Générer des embeddings : utilisez un embedder pour vectoriser les blocs à stocker dans une base de données vectorielle.
- Récupérer des informations : définissez comment les informations pertinentes sont identifiées et récupérées pour répondre aux requêtes des utilisateurs. Pour une requête donnée, le composant de récupération effectue une recherche dans la base de données vectorielle afin d'identifier les informations pertinentes.
- Générer du texte avec un LLM : utilisez un grand modèle de langage pour générer du texte de sortie en fonction des informations récupérées dans la base de données vectorielle.
Modules clés
Le SDK AI Edge RAG fournit les modules et API clés suivants pour le pipeline RAG :
- Modèles de langage : les modèles LLM avec l'API open-prompt, locale (sur l'appareil) ou basée sur un serveur. L'API est basée sur l' LanguageModel.
- Modèles d'embeddings de texte : convertissez du texte structuré et non structuré en vecteurs d'embeddings pour la recherche sémantique. L'API est basée sur l' interface Embedder.
- Magasins de vecteurs : le magasin de vecteurs contient les embeddings et les métadonnées dérivés des blocs de données. Il peut être interrogé pour obtenir des blocs similaires ou des correspondances exactes. L'API est basée sur l' VectorStore.
- Mémoire sémantique : sert de récupérateur sémantique pour récupérer les k premiers blocs pertinents en fonction d'une requête. L'API est basée sur l'interface SemanticMemory.
- Blocage de texte : divise les données utilisateur en plus petits éléments pour faciliter l'indexation. L'API est basée sur l' TextChunker.
Le SDK fournit des chaînes, qui combinent plusieurs composants RAG dans un seul pipeline. Vous pouvez utiliser des chaînes pour orchestrer des modèles de récupération et de requête. L'API est basée sur l' interface Chain. Pour commencer, essayez la chaîne de récupération et d'inférence ou la chaîne de récupération.