Étape 2. Déployer une POC pour collecter les commentaires des parties prenantes
À la fin de cette étape, vous aurez déployé l’application de révision Agent Evaluation qui permet à vos parties prenantes de tester et de fournir des commentaires sur votre POC. Les journaux détaillés de l’utilisation de vos parties prenantes et leurs commentaires vont alimenter des tables Delta dans votre lakehouse.
Spécifications
- Effectuez les étapes Étape 1. Cloner le référentiel de code et créer un calcul.
- Les données de Prérequis : collecter les exigences sont disponibles dans votre Lakehouse dans un volume Unity Catalog.
Consultez le dépôt GitHub pour obtenir l’exemple de code de cette section.
Preuve de concept de l’application RAG
La première étape du développement piloté par l’évaluation consiste à créer une preuve de concept (POC). Une POC offre les avantages suivants :
- Elle fournit une vue indicative sur la faisabilité de votre cas d’usage avec RAG.
- Elle permet de collecter les commentaires initiaux des parties prenantes, ce qui vous permet de créer la première version de votre jeu d’évaluation.
- Elle établit une base de référence de la mesure de la qualité à partir de laquelle vous pouvez commencer à itérer.
Databricks recommande de créer votre POC en utilisant l’architecture RAG la plus simple et les valeurs par défaut recommandées par Databricks pour chaque paramètre.
Cette recommandation est liée au fait qu’il existe des centaines de combinaisons de paramètres possibles que vous pouvez ajuster dans votre application RAG. Vous pouvez facilement passer des semaines à les ajuster, mais si vous le faites avant de pouvoir évaluer votre RAG de façon systématique, vous vous retrouvez dans ce qu’on appelle une boucle POC fatale – qui est une itération sur les paramètres, mais sans aucun moyen de savoir objectivement si vous avez abouti à une amélioration – le tout pendant que vos parties prenantes attendent impatiemment d’effectuer leur révision.
Les modèles POC de ce tutoriel sont conçus avec une itération de qualité à l’esprit. Ils sont paramétrés en fonction de ce que l’équipe de recherche Databricks a établi qu’il était important d’ajuster afin d’améliorer la qualité RAG. Ces modèles ne sont pas « 3 lignes de code qui créent par magie une application RAG » : ce sont des applications RAG bien structurées qui peuvent être paramétrées pour la qualité dans les étapes suivantes d’un workflow de développement piloté par l’évaluation.
Ceci vous permet de déployer rapidement une POC, mais de passer rapidement à une itération de la qualité sans devoir réécrire votre code.
Voici l’architecture technique de l’application POC :
Remarque
Par défaut, la POC utilise les modèles open source disponibles sur Mosaic AI Foundation Model Serving. Cependant, comme la POC utilise Mosaic AI Model Serving, qui prend en charge tous les modèles de base, l’utilisation d’un modèle différent est simple : il vous suffit de configurer ce modèle dans Model Serving, puis de remplacer embedding_endpoint_name
et llm_endpoint_name
dans le notebook 00_config
.
- Suivez API Foundation Model avec débit approvisionné pour d’autres modèles open source disponibles dans la Place de marché Databricks.
- Suivez le notebook Create_OpenAI_External_Model ou Modèles externes dans Mosaic AI Model Serving pour des modèles hébergés tiers pris en charge, comme Azure OpenAI, OpenAI, Cohere, Anthropic et Google Gemini.
Étapes de déploiement d’une POC pour collecter des commentaires
Les étapes suivantes montrent comment exécuter et déployer une application d’IA générative POC. Une fois que vous effectué le déploiement, vous obtenez une URL vers l’application de révision, que vous pouvez partager avec des parties prenantes pour collecter des commentaires.
Ouvrez le dossier de code de la POC dans A_POC_app en fonction du type de vos données :
- Pour des fichiers PDF, utilisez pdf_uc_volume.
- Pour des fichiers PowerPoint, utilisez pptx_uc_volume.
- Pour des fichiers DOCX, utilisez docx_uc_volume.
- Pour des fichiers JSON avec du texte, du Markdown, du contenu HTML et des métadonnées, utilisez json_uc_volume.
Si vos données ne répondent pas à l’une des exigences ci-dessus, vous pouvez personnaliser la fonction d’analyse (
parser_udf
) dans02_poc_data_pipeline
dans les répertoires POC ci-dessus pour utiliser vos types de fichiers.Dans le dossier POC, vous voyez les notebooks suivants :
Remarque
Ces notebooks sont relatifs à la POC spécifique que vous avez choisie. Par exemple, si vous voyez une référence à
00_config
et que vous avez choisipdf_uc_volume
, vous pouvez trouver le notebook00_config
approprié dans A_POC_app/pdf_uc_volume/00_config.Si vous le souhaitez, passez en revue les paramètres par défaut.
Ouvrez le notebook
00_config
dans le répertoire POC que vous avez choisi ci-dessus pour voir les paramètres par défaut des applications de POC pour le pipeline de données et la chaîne RAG.Important
Les paramètres par défaut recommandés par Databricks ne sont pas censés à être parfaits : ils constituent seulement un point de départ. Les étapes suivantes de ce workflow vous guident dans l’itération sur ces paramètres.
Validez la configuration.
Exécutez
01_validate_config
pour vérifier que votre configuration est valide et que toutes les ressources sont disponibles. Le fichierrag_chain_config.yaml
apparaît dans votre répertoire, qui est utilisé pour déployer l’application.Exécutez le pipeline de données.
Le pipeline de données de la POC est un notebook Databricks basé sur Apache Spark. Ouvrez le notebook
02_poc_data_pipeline
, puis cliquez sur Exécuter tout pour exécuter le pipeline. Ce pipeline effectue les opérations suivantes :- Il charge les documents bruts depuis le volume UC.
- Il analyse chaque document, en enregistrant les résultats dans une table Delta.
- Il segmente chaque document, en enregistrant les résultats dans une table Delta.
- Il incorpore les documents et crée un index vectoriel en utilisant Mosaic AI Vector Search.
Les métadonnées sur le pipeline, comme les tables de sortie et la configuration, sont journalisées dans MLflow :
Vous pouvez inspecter les sorties en recherchant les liens vers les tables Delta ou les index vectoriels vers le bas du notebook :
Vector index: https://<your-workspace-url>.databricks.com/explore/data/<uc-catalog>/<uc-schema>/<app-name>_poc_chunked_docs_gold_index Output tables: Bronze Delta Table w/ raw files: https://<your-workspace-url>.databricks.com/explore/data/<uc-catalog>/<uc-schema>/<app-name>__poc_raw_files_bronze Silver Delta Table w/ parsed files: https://<your-workspace-url>.databricks.com/explore/data/<uc-catalog>/<uc-schema>/<app-name>__poc_parsed_docs_silver Gold Delta Table w/ chunked files: https://<your-workspace-url>.databricks.com/explore/data/<uc-catalog>/<uc-schema>/<app-name>__poc_chunked_docs_gold
Déployez la chaîne POC sur l’application de révision.
La chaîne POC par défaut est une chaîne RAG de conversation à plusieurs tours créée en utilisant LangChain.
Remarque
La chaîne POC utilise la journalisation basée sur le code MLflow. Pour en savoir plus sur la journalisation basée sur le code, consultez Journaliser et inscrire des agents d’IA.
Ouvrez le notebook
03_deploy_poc_to_review_app
.Exécutez cette cellule du notebook.
La trace MLflow vous montre comment l’application POC fonctionne. Ajustez la question d’entrée pour en faire une question pertinente pour votre cas d’usage et réexécutez la cellule pour voir comment réagit l’application.
Modifiez les instructions par défaut pour les rendre pertinentes pour votre cas d’usage. Celles-ci sont affichées dans l’application de révision.
instructions_to_reviewer = f"""## Instructions for Testing the {RAG_APP_NAME}'s Initial Proof of Concept (PoC) Your inputs are invaluable for the development team. By providing detailed feedback and corrections, you help us fix issues and improve the overall quality of the application. We rely on your expertise to identify any gaps or areas needing enhancement. 1. **Variety of Questions**: - Please try a wide range of questions that you anticipate the end users of the application will ask. This helps us ensure the application can handle the expected queries effectively. 2. **Feedback on Answers**: - After asking each question, use the feedback widgets provided to review the answer given by the application. - If you think the answer is incorrect or could be improved, please use "Edit Answer" to correct it. Your corrections will enable our team to refine the application's accuracy. 3. **Review of Returned Documents**: - Carefully review each document that the system returns in response to your question. - Use the thumbs up/down feature to indicate whether the document was relevant to the question asked. A thumbs up signifies relevance, while a thumbs down indicates the document was not useful. Thank you for your time and effort in testing {RAG_APP_NAME}. Your contributions are essential to delivering a high-quality product to our end users.""" print(instructions_to_reviewer)
Exécutez la cellule de déploiement pour obtenir un lien vers l’application de révision.
Review App URL: https://<your-workspace-url>.databricks.com/ml/review/<uc-catalog>.<uc-schema>.<uc-model-name>/<uc-model-version>
Accordez aux utilisateurs individuels les autorisations nécessaires pour accéder à l’application de révision.
Vous pouvez accorder l’accès aux utilisateurs autres que Databricks en suivant les étapes décrites dans Configurer les autorisations pour utiliser l’application de révision.
Testez l’application de révision en posant vous-même quelques questions et en fournissant des commentaires.
Remarque
Les traces MLflow et les commentaires de l’utilisateur de l’application de révision apparaissent dans des tables Delta du schéma du catalogue que vous avez configuré. Les journaux peuvent prendre jusqu’à 2 heures pour apparaître dans ces tables Delta.
Partager l’application de révision avec des parties prenantes
Vous pouvez maintenant partager votre application RAG POC avec vos parties prenantes pour obtenir leurs commentaires.
Important
Databricks suggère de distribuer votre POC à au moins trois parties prenantes et de leur demander de poser chacune de 10 à 20 questions. Il est important que plusieurs parties prenantes testent votre POC de façon à avoir un ensemble diversifié de perspectives à inclure dans votre jeu d’évaluation.
Étape suivante
Passez à Étape 3. Organiser un jeu d’évaluation à partir des commentaires des parties prenantes.
< Précédent : Étape 1. Cloner le référentiel & créer un calcul