Automatisation d'un modèle RAG avec AutoAI

Dernière mise à jour : 02 avr. 2025
Automatisation d'un modèle RAG avec AutoAI

Utilisez l' AutoAI pour automatiser et accélérer la recherche d'un modèle RAG (Retrieval-augmented generation) optimisé, de qualité de production, basé sur vos données et votre cas d'utilisation.

Format des données
Fichiers de collection de documents de type PDF, HTML, DOCX, MD ou texte brut
Données de test avec questions et réponses au format JSON
Limites des fichiers de données
Jusqu'à 20 fichiers ou dossiers pour la collection de documents. Pour les collections de documents plus importantes, AutoAI effectue l'expérience avec un échantillon de 1 Go.
1 fichier JSON pour les données de test. Une expérience utilisera jusqu'à 25 paires de questions et de réponses pour évaluer les modèles.
Taille de l'environnement
Grand : 8 UC et 32 Go de mémoire RAM

Estimation des coûts d'un modèle RAG

AutoAI pour les expériences RAG, on utilise des unités d'heures de capacité (CUH) pour la formation de l'expérience et, pendant l'expérience, des jetons sont consommés pour l'intégration des documents et l'inférence des modèles de base.

  • Le CUH est une mesure standard de 20 CUH par heure pour l'environnement pris en charge. Le nombre de CUH consommés pour une expérience dépend de la complexité de l'expérience et du temps nécessaire à l'apprentissage des modèles.
  • La consommation de jetons dépend d'un certain nombre de facteurs, notamment
    • taille de la collection de documents à intégrer
    • nombre de questions d'évaluation et de réponses à intégrer
    • de la configuration du découpage, calculée à l'aide de la formule suivante : ((Chunk overlap + Chunk size) * Chunk count) *Evaluation records
    • le nombre de motifs créés par l'expérience

Cet exemple montre comment les ressources sont calculées pour un seul motif RAG.

Entrée de l'expérience :

  • 100 pages de documents
  • 25 dossiers de questions/réponses d'évaluation
Activité Jetons consommés
Intégrer des documents 3 000 000
Intégrer les dossiers d'évaluation 25 000
Récupération du contexte pour les messages-guides 192,000
Récupération du contexte des dossiers d'évaluation 25 000
Générer des réponses 25 000
Total des jetons consommés 3,267,000

Fournir des réponses précises grâce à la génération augmentée par la recherche d'informations

La génération augmentée par la recherche (RAG) associe la puissance de génération d'un grand modèle linguistique à la précision d'une collection de documents de référence. L'interaction avec une application RAG suit ce modèle :

  1. Un utilisateur soumet une question à l'application.
  2. La recherche permet d'abord d'extraire le contexte pertinent à partir d'un ensemble de documents de base.
  3. Le modèle linguistique étendu qui l'accompagne génère une réponse qui comprend les informations pertinentes.

Par exemple, les exemples de carnets de notes fournis pour cette fonctionnalité utilisent la documentation produit de la bibliothèque client Python de watsonx.ai comme documents de base pour une application de questions-réponses sur le codage des solutions watsonx.ai Les utilisateurs de patrons bénéficient d'informations spécifiques et pertinentes issues de la documentation, le modèle génératif d'IA ajoutant le contexte et présentant les réponses en langage naturel.

Pour une description complète et des exemples de la manière dont la génération augmentée par récupération peut améliorer vos applications de questions et réponses, voir Génération augmentée par récupération (RAG).

Automatiser la recherche de la meilleure configuration RAG

RAG comporte de nombreux paramètres de configuration, notamment le choix d'un grand modèle linguistique, la manière de découper les documents de base et le nombre de documents à extraire. Les choix de configuration qui fonctionnent bien pour un autre cas d'utilisation peuvent ne pas être le meilleur choix pour vos données. Pour créer le meilleur modèle RAG possible pour votre ensemble de données, vous pouvez explorer toutes les combinaisons possibles d'options de configuration RAG afin de trouver, d'évaluer et de déployer la meilleure solution. Cette partie du processus peut nécessiter un investissement important en temps et en ressources. Tout comme vous pouvez utiliser AutoAI pour former et optimiser rapidement des modèles d'apprentissage automatique, vous pouvez utiliser les capacités AutoAI pour automatiser la recherche de la solution RAG optimale en fonction de vos données et de votre cas d'utilisation. L'accélération de l'expérimentation peut réduire considérablement le délai de production.

Les principales caractéristiques de l'approche AutoAI sont les suivantes :

  • Exploration et évaluation complètes d'un ensemble contraint d'options de configuration .
  • Réévaluer et modifier rapidement la configuration en cas de changement. Par exemple, vous pouvez facilement relancer le processus de formation lorsqu'un nouveau modèle est disponible ou lorsque les résultats de l'évaluation signalent un changement dans la qualité des réponses.

L'utilisation de AutoAI automatise le flux de bout en bout, de l'expérimentation au déploiement. Le diagramme suivant illustre l'approche de AutoAI pour trouver un modèle RAG optimisé pour vos données et votre cas d'utilisation en 3 couches :

  • Au niveau de base, les pipelines RAG paramétrés sont utilisés pour alimenter un magasin de vecteurs (index) et pour extraire des données du magasin de vecteurs afin de les utiliser lorsque le modèle de langage étendu génère des réponses.
  • Ensuite, les mesures d'évaluation du RAG et les outils d'étalonnage évaluent la qualité des réponses.
  • Enfin, un algorithme d'optimisation hyperparamétrique recherche la meilleure configuration RAG possible pour vos données.

Automatiser un modèle RAG avec le AutoAI SDK

AutoAI Processus d'optimisation du RAG

L'exécution d'expériences à l'aide de l'AutoAI RAG évite de tester toutes les options de configuration de RAG (par exemple, elle évite une recherche de grille) en utilisant un algorithme d'optimisation hyperparamétrique. Le diagramme suivant montre un sous-ensemble de l'espace de recherche de la configuration RAG avec 16 modèles RAG au choix. Si l'expérience les évalue toutes, elles sont classées de 1 à 16, les trois configurations les mieux classées étant considérées comme les plus performantes. L'algorithme d'optimisation détermine le sous-ensemble de motifs RAG à évaluer et arrête le traitement des autres, qui sont représentés en gris. Ce processus permet d'éviter d'explorer un espace de recherche exponentiel tout en sélectionnant les modèles RAG les plus performants dans la pratique.

Automatisation du processus d'optimisation des modèles RAG

Utiliser le chemin rapide pour automatiser la recherche d'un motif RAG

AutoAI fournit une solution sans code pour automatiser la recherche d'un motif RAG. Pour utiliser la voie rapide, commencez par un projet et utilisez l'interface AutoAI pour télécharger vos documents de mise à la terre et de test. Accepter la configuration par défaut ou mettre à jour les paramètres de l'expérience. Lancez l'expérience pour créer les modèles RAG les mieux adaptés à votre cas d'utilisation.

Utiliser le SDK AutoAI pour coder un modèle RAG

Utilisez les exemples de carnets pour apprendre à utiliser la bibliothèque client watsonx.ai Python (version 1.1.11 ou ultérieure) pour coder une solution RAG automatisée pour votre cas d'utilisation.

Exemple Descriptif
Automatisation du modèle RAG avec la base de données Chroma Ce carnet montre l'approche rapide de la création d'un motif RAG.
- Utilise les fichiers de documentation watsonx.ai Python SDK en tant que documents de base pour un motif RAG.
- Stocke le contenu vectorisé dans la base de données Chroma par défaut, en mémoire
Automatisation du modèle RAG avec la base de données Milvus - Utilise les fichiers de documentation du SDK Python watsonx.ai comme documents de base pour un motif RAG.
- Stocke le contenu vectorisé dans une base de données Milvus externe

Mise à l'échelle d'une expérience RAG

AutoAI automatise la recherche d'un modèle RAG optimisé sur la base de vos documents de mise à la terre. Si la base de connaissances de votre documentation dépasse les limites de données autorisées pour une expérience, vous pouvez toujours utiliser AutoAI pour trouver le modèle RAG, puis utiliser le carnet d'indexation généré automatiquement lorsque vous enregistrez un modèle pour indexer d'autres documents. Le modèle RAG s'appliquera à l'ensemble des documents indexés.

Pour plus de détails, voir Sauvegarde d'un motif RAG.

Fonctions prises en charge

Examinez ces détails pour connaître les caractéristiques fournies par le processus RAG de AutoAI.

Caractéristique Descriptif
Interface prise en charge API, UI
Formats de fichiers pour la collecte de documents de base PDF, HTML, DOCX, MD, texte simple
Connexions de données pour la collecte de documents IBM Cloud Object Storage (bucket)
dossier dans le bucket
fichiers (jusqu'à 20)
format de données de test JSON avec un schéma fixe (Champs : - question, réponse_correcte, réponse_correcte_identification_du_document)
Connexions de données pour les données d'essai IBM Cloud Object Storage(fichier JSON unique) "
fichier JSON unique dans le projet ou l'espace (actif de données) "
fichier JSON unique dans le volume de stockage NFS
Segmentation Plusieurs préréglages de 64 à 1024 caractères "
Les documents de mise à la terre sont divisés en morceaux dont la taille et le chevauchement sont optimisés.
Modèle d'intégration Modèles d'intégration pris en charge disponibles avec watsonx.ai
Magasin de vecteurs Milvus et ChromaDB
Augmentation de bloc Activé (ajout de morceaux du document qui l'entoure)
Type de recherche Standard (dans un seul index)
Modèles génératifs Voir les modèles de fondation par tâche
Echantillonnage Basé sur des critères (sélectionner d'abord les questions, puis les documents, puis compléter par des questions aléatoires jusqu'à la limite)
Algorithme de recherche Le Tree Parzen Estimator (TPE) de la bibliothèque hyperopt est utilisé pour l'optimisation des hyperparamètres
Métriques Exactitude de la réponse, fidélité, exactitude du contexte. Pour plus d'informations, voir
Voir Métriques lexicales unitaires
Métrique d'optimisation La mesure utilisée comme cible d'optimisation. L'exactitude des réponses et la fidélité sont prises en charge.
Contraintes utilisateur personnalisables Modèle d'intégration
Modèle génératif
Limite du nombre de configurations (nombre maximal de motifs de sortie compris entre 4 et 20)
Déploiement Milvus AutoAI notebooks for indexing and inference by using external vector database Deployable AI service asset Chroma : single notebook for indexing and inferencing by using the Chroma in-memory vector database Milvus

AutoAI

Etapes suivantes

Thème parent: Codage de solutions d'IA générative