0 / 0
Retourner à la version anglaise de la documentation
Automatiser un modèle RAG avec le SDK AutoAI (Beta)
Dernière mise à jour : 12 déc. 2024
Automatiser un modèle RAG avec le SDK AutoAI (Beta)

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

Important: Cette fonctionnalité est une version bêta. Bien que cette fonction soit en version bêta, l'expérience est gratuite et aucun jeton n'est consommé. Cependant, les appels aux modèles RAG et à leurs dérivés qui sont effectués après la fin de l'expérience consomment des ressources au taux standard.
Format des données:
Fichiers de collection de documents de type PDF, HTML, DOCX ou texte brut
Données de test avec questions et réponses au format JSON '
Limites du fichier de données
Jusqu'à 20 fichiers ou dossiers pour la collection de documents
1 fichier JSON pour les données de test "
Taille de l'environnement
Grand : 8 UC et 32 Go de mémoire RAM

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 watsonx.ai Python comme documents de base pour un motif RAG.
- Stocke le contenu vectorisé dans une base de données Milvus externe

Fonctions prises en charge

Examinez ces détails pour les fonctionnalités fournies avec la version bêta du processus RAG AutoAI.

Fonction Descriptif
Interface prise en charge interface de programme d"application
Formats de fichiers pour la collecte de documents de base PDF, HTML, DOCX, 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 carnets de notes pour l'indexation et l'inférence en utilisant la base de données vectorielle externe de Milvus
Chroma : AutoAI carnet de notes unique pour l'indexation et l'inférence en utilisant la base de données vectorielle en mémoire de Chroma

Etapes suivantes

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

Recherche et réponse à l'IA générative
Ces réponses sont générées par un modèle de langue de grande taille dans watsonx.ai en fonction du contenu de la documentation du produit. En savoir plus