Partager via


É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.

Preuve de concept de l’application RAG

Spécifications

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 :

Architecture 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.

É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.

  1. Ouvrez le dossier de code de la POC dans A_POC_app en fonction du type de vos données :

    Si vos données ne répondent pas à l’une des exigences ci-dessus, vous pouvez personnaliser la fonction d’analyse (parser_udf) dans 02_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 :

    Fichiers des notebooks

    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 choisi pdf_uc_volume, vous pouvez trouver le notebook 00_config approprié dans A_POC_app/pdf_uc_volume/00_config.

  2. 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.

  3. Validez la configuration.

    Exécutez 01_validate_config pour vérifier que votre configuration est valide et que toutes les ressources sont disponibles. Le fichier rag_chain_config.yaml apparaît dans votre répertoire, qui est utilisé pour déployer l’application.

  4. 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 :

    GIF montrant le pipeline de données

    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
    
  5. 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.

    1. Ouvrez le notebook 03_deploy_poc_to_review_app.

    2. Exécutez cette cellule du notebook.

    3. 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.

      GIF montrant le suivi MLflow

    4. 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)
      
    5. 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>
      
  6. 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.

  7. 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.

  8. 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

Suivant : Étape 3. Organiser un jeu d’évaluation >