Partager via


Démarrage avec le flux d’invite

Cet article vous guide tout au long du parcours utilisateur principal visant à utiliser le flux d’invite dans Azure Machine Learning studio. Vous allez apprendre à activer le flux d’invite dans votre espace de travail Azure Machine Learning, à créer et à développer votre premier flux d’invite, à le tester et à l’évaluer, puis à le déployer en production.

Prérequis

  • Vérifiez que le magasin de données par défaut dans votre espace de travail est de type blob.

  • Si vous sécurisez le flux d’invite avec un réseau virtuel, consultez Isolement réseau dans le flux d’invite pour obtenir plus de détails.

Configurer la connexion

Tout d’abord, vous devez configurer la connexion.

Une connexion permet de stocker et de gérer en toute sécurité les clés secrètes ou d’autres informations d’identification sensibles nécessaires pour interagir avec les modèles de langage volumineux (LLM) et d’autres outils externes, par exemple, Azure Content Safety.

Accédez à la page d’accueil du flux d’invite et sélectionnez l’onglet Connexions. La connexion est une ressource partagée pour tous les membres de l’espace de travail. Donc, si vous voyez déjà une connexion dont le fournisseur est AzureOpenAI, vous pouvez sauter cette étape, aller à Start compute session.

Si vous n’êtes pas encore connecté à AzureOpenAI, sélectionnez le bouton Créer, puis AzureOpenAI dans la liste déroulante.

Capture d’écran de l’onglet Connexions avec le bouton Créer mis en évidence.

Ensuite, un panneau de droite s’affiche. Ici, vous devez sélectionner l’abonnement et le nom de la ressource, et fournir le nom de la connexion, la clé API (si le type d’authentification est égale à la clé API), la base de l’API, le type d’API et la version de l’API avant de sélectionner le bouton Enregistrer. Le flux d’invite prend également en charge Microsoft Entra ID comme type d’authentification pour l’authentification basée sur l’identité pour la ressource Azure OpenAI. Pour plus d’informations, consultez Guide pratique pour configurer Azure OpenAI Service avec des identités managées.

Capture d’écran des connexions Azure OpenAI ajoutées.

Pour obtenir la clé, la base, le type et la version de l’API, vous pouvez accéder au terrain de jeu de conversation dans le portail Azure OpenAI et sélectionner le bouton Afficher le code. À partir de là, vous pouvez copier les informations nécessaires et les coller dans le panneau de création de connexion.

Capture d’écran du terrain de jeu de conversation après la sélection du bouton Afficher le code qui affiche une fenêtre contextuelle avec un exemple de code, mettant en évidence la clé d’API.

Après avoir renseigné les champs obligatoires, sélectionnez Enregistrer pour créer la connexion.

Créer et développer votre flux d’invite

Sous l’onglet Flux de la page d’accueil du flux d’invite, sélectionnez Créer pour créer votre premier flux d’invite. Vous pouvez créer un flux en clonant les exemples dans la galerie.

Cloner à partir d’un exemple

Les exemples intégrés sont affichés dans la galerie.

Dans ce guide, nous utilisons l’exemple Classification web pour vous guider tout au long du parcours utilisateur principal. Vous pouvez sélectionner Afficher les détails sur le titre Classification web pour afficher un aperçu de l’exemple. Une fenêtre d’aperçu s’affiche ensuite. Vous pouvez parcourir l’exemple d’introduction pour déterminer si cet exemple correspond à votre scénario. Vous pouvez également sélectionner Cloner pour cloner l’exemple directement, puis vérifier le flux. Testez-le, modifiez-le.

Capture d’écran de la section Créer à partir de la galerie, mettant en évidence l’exemple Classification web.

Après avoir sélectionné Cloner, un nouveau flux est créé et enregistré dans un dossier spécifique au sein du stockage de partage de fichiers de votre espace de travail. Vous pouvez personnaliser le nom du dossier selon vos préférences dans le panneau de droite.

Démarrez une session de calcul

Ensuite, vous entrez la page de création de flux. Avant de plonger, commencez par démarrer une session de calcul.

La session de calcul sert de ressources de calcul nécessaires à l’exécution de l’application, y compris une image Docker qui contient tous les packages de dépendances nécessaires. Il s’agit d’une condition obligatoire pour l’exécution de flux.

Capture d’écran du démarrage de la session de calcul.

Page de création de flux

Lorsque la session de calcul démarre, nous pouvons jeter un coup d’œil à la page de création de flux.

Capture d’écran de l’exemple Classification web mettant en évidence la zone de travail principale.

À gauche de la page de création, se trouve la vue aplatie, la zone de travail principale dans laquelle vous pouvez créer le flux, par exemple ajouter un nouveau nœud, modifier l'invite, sélectionner les données d'entrée du flux, etc.

Le coin supérieur droit montre la structure des dossiers du flux. Chaque flux a un dossier qui contient un fichier flow.dag.yaml, des fichiers de code source et des dossiers système. Vous pouvez facilement exporter ou importer un flux à des fins de test, de déploiement ou de collaboration.

En plus de la modification intraligne du nœud dans l’affichage aplati, vous pouvez également activer le Mode de fichier brut et sélectionner le nom du fichier pour le modifier dans l’onglet d’ouverture du fichier.

Capture d’écran de l’onglet de modification de fichier en mode de fichier brut.

Dans le coin inférieur droit, il s’agit de l’affichage du graphique à des fins de visualisation uniquement. Vous pouvez effectuer un zoom avant, un zoom arrière, une disposition automatique, etc.

Dans ce guide, nous utilisons l’exemple Classification web pour vous guider tout au long du parcours utilisateur principal. La classification web est un flux illustrant la classification multi-classe avec un modèle de langage volumineux (LLM). Quand il reçoit une URL, ce flux classe l’URL dans une catégorie web en seulement quelques coups selon des invites de résumé et de classification simples. Par exemple, avec « https://www.imdb.com/" », il classe cette URL dans « Cinéma ».

Dans l’affichage graphique, vous pouvez voir à quoi ressemble l’exemple de flux. L’entrée est une URL à classer. Le flux utilise un script Python pour extraire le contenu du texte à partir de l’URL, utilise LLM pour résumer le contenu du texte en 100 mots, puis effectue la classification en fonction de l’URL et du contenu de texte résumé. Enfin, il utilise le script Python pour convertir la sortie LLM en dictionnaire. Le nœud prepare_examples fournit des exemples en quelques coups à l’invite du nœud de classification.

Données d’entrée de flux

Quand vous dépliez la section Entrées, vous pouvez créer et afficher des entrées. Exemple de classification web présenté dans la capture d’écran ci-dessous, l’entrée de flux est une URL de type chaîne.

Capture d’écran de l’exemple Classification web mettant en évidence les entrées.

Le schéma d’entrée (nom : url ; type : chaîne) et la valeur sont déjà définis lors du clonage des exemples. Vous pouvez modifier la valeur manuellement, par exemple « https://www.imdb.com/" ».

Configurer des nœuds LLM

Pour chaque nœud LLM, vous devez sélectionner une connexion pour définir vos clés d’API LLM.

Capture d’écran de l’exemple Classification web montrant la liste déroulante Connexion.

Pour cet exemple, assurez-vous que le type d’API est conversation, car l’exemple d’invite que nous fournissons est destiné à l’API de conversation. Pour découvrir la différence de format d’invite entre l’API de conversation et l’API de complétion, consultez Développer un flux.

Ensuite, selon le type de connexion sélectionné, vous devez sélectionner un déploiement ou un modèle. Si vous utilisez une connexion Azure OpenAI, vous devez sélectionner un déploiement dans la liste déroulante (si vous n’avez pas de déploiement, créez-en un dans le portail Azure OpenAI en suivant Créer une ressource et déployer un modèle à l’aide d’Azure OpenAI). Si vous utilisez une connexion OpenAI, vous devez sélectionner un modèle.

Le flux contient deux nœuds LLM (summarize_text_content et classify_with_llm). Vous devez donc effectuer une configuration pour chacun de ces nœuds.

Exécuter un seul nœud

Pour tester et déboguer un nœud unique, sélectionnez l’icône Exécuter sur le nœud de l’affichage aplati. L’état d’exécution s’affiche dans la partie supérieure une fois l’exécution terminée. Consultez la sortie dans la section de sortie du nœud.

Capture d’écran de l’exemple Classification web montrant l’exécution du nœud Python, la consultation de la sortie, l’exécution du nœud LLM, puis la consultation de la sortie.

Exécutez fetch_text_content_from_url, puis summarize_text_content. Vérifiez ensuite si le flux peut récupérer et résumer le contenu web.

L’état du nœud unique s’affiche également dans l’affichage graphique. Vous pouvez également modifier l’URL d’entrée de flux pour tester le comportement du nœud pour différentes URL.

Exécuter l’ensemble du flux

Pour tester et déboguer l’ensemble du flux, sélectionnez le bouton Exécuter dans le coin supérieur droit.

Capture d’écran de l’exemple Classification web montrant une exécution intégrale et mettant en évidence le bouton Exécuter.

Vous pouvez ensuite consulter l’état d’exécution et la sortie de chaque nœud. L’état des nœuds est également affiché dans l’affichage graphique. De même, vous pouvez modifier l’URL d’entrée de flux pour tester le comportement du flux pour différentes URL.

Définir et vérifier une sortie de flux

Au lieu de vérifier les sorties sur chaque nœud, vous pouvez aussi définir la sortie du flux et vérifier les sorties de plusieurs nœuds au même endroit. En outre, la sortie de flux permet de :

  • Vérifier les résultats des tests en bloc dans une table unique
  • Définir le mappage de l’interface d’évaluation
  • Définir le schéma de réponse de déploiement

Quand vous clonez l’exemple, les sorties de flux (catégorie et preuve) sont déjà définies.

Vous pouvez sélectionner le bouton Afficher la trace dans la bannière pour afficher les informations détaillées d’entrée, de sortie, d’exécution de flux et d’orchestration. Vous pouvez voir que le flux prédit l’URL d’entrée avec une catégorie et une preuve.

Capture d’écran de l’affichage de la trace dans la page de création.

 Capture d’écran du bouton Afficher la sortie dans deux emplacements.

Vous pouvez sélectionner Afficher le résultat du test pour vérifier tous les tests historiques dans une liste.

Capture d’écran de l’exemple Classification web montrant le bouton Afficher les sorties.

Capture d’écran du résultat du test de flux.

Test et évaluation

Une fois le flux exécuté avec une seule ligne de données, vous pouvez tester s’il fonctionne correctement dans un jeu de données volumineux, exécuter un test en bloc, choisir des méthodes d’évaluation, puis vérifier les métriques.

Préparer les données

Vous devez commencer par préparer les données de test. Actuellement, nous prenons en charge les fichiers csv, tsv et jsonl.

Accédez à GitHub pour télécharger « data.csv », le jeu de données golden de l’exemple Classification web.

Évaluer

Sélectionnez le bouton Évaluer à côté du bouton Exécuter. Un panneau s’affiche à droite. Il s’agit d’un Assistant qui vous aide à envoyer une exécution par lot et à sélectionner la méthode d’évaluation (facultatif).​​​​​​​

Vous devez attribuer un nom et une description à l’exécution par lots, puis sélectionner Ajouter de nouvelles données pour charger les données que vous téléchargez. Après avoir chargé les données ou si vos collègues de l’espace de travail ont déjà créé un jeu de données, vous pouvez choisir le jeu de données dans la liste déroulante et afficher un aperçu des cinq premières lignes. La liste déroulante de sélection du jeu de données prend en charge la recherche et la suggestion automatique.

En outre, le mappage d’entrée prend en charge le mappage de votre entrée de flux à une colonne de données spécifique dans votre jeu de données, ce qui signifie que vous pouvez utiliser n’importe quelle colonne comme entrée, même si les noms de colonne ne correspondent pas.

Capture d’écran de l’Assistant d’exécution par lots et d’évaluation mettant en évidence l’option de chargement de nouvelles données.

Ensuite, sélectionnez une ou plusieurs méthodes d’évaluation. Les méthodes d’évaluation sont également des flux qui utilisent Python ou LLM, etc., pour calculer des métriques telles que la précision et le score de pertinence. Les flux d’évaluation intégrés et les flux personnalisés sont répertoriés dans la page. Étant donné que la classification web est un scénario de classification, il convient de sélectionner la méthode Évaluation de l’exactitude de la classification pour effectuer l’évaluation.

Capture d’écran de l’exemple Classification web montrant l’Assistant d’exécution par lots et l’évaluation des méthodes d’évaluation.

Si vous souhaitez savoir comment les métriques sont définies pour les méthodes d’évaluation intégrées, vous pouvez voir un aperçu des flux d’évaluation en sélectionnant Plus de détails.

Après avoir sélectionné la méthode d’évaluation Évaluation de l’exactitude de la classification, vous pouvez définir le mappage d’interface pour mapper groundtruth à l’entrée du flux et la prédiction à la sortie du flux.

Capture d’écran de l’exemple Classification web montrant l’Assistant d’exécution par lots et d’évaluation, section des paramètres d’évaluation.

Sélectionnez ensuite Vérifier + envoyer pour envoyer une exécution par lots et l’évaluation sélectionnée.

Vérifier les résultats

Une fois votre exécution envoyée, sélectionnez Afficher la liste d’exécutions pour accéder à la liste d’exécutions par lots de ce flux.

L’exécution par lots risque de prendre un certain temps. Vous pouvez Actualiser la page pour charger le dernier état.

Une fois l’exécution par lots terminée, sélectionnez l’exécution et Visualiser les sorties pour voir le résultat de votre exécution par lots. Sélectionnez Afficher les sorties (icône représentant un œil) pour ajouter les résultats d’évaluation à la table des résultats de l’exécution par lots. Vous pouvez voir le nombre total de jetons et l’exactitude globale, puis dans la table, vous pouvez voir les résultats de chaque ligne de données : entrée, sortie du flux et résultats d’évaluation (les cas qui sont prédits correctement et ceux qui ne le sont pas).

Capture d’écran de la page des détails de l’exécution par lots de classification web pour voir les sorties.

Vous pouvez ajuster la largeur des colonnes, masquer/afficher des colonnes et changer l’ordre des colonnes. Vous pouvez également sélectionner Exporter pour télécharger la table de sortie. Pour des investigations plus poussées, nous offrons 2 options :

  • Télécharger la page active : fichier csv des sorties des exécutions par lots dans la page active.
  • Télécharger toutes les données : ce que vous téléchargez est un fichier Jupyter Notebook, que vous devez exécuter pour télécharger les sorties au format jsonl ou csv.

Comme vous le savez peut-être, la précision n’est pas la seule métrique qui peut évaluer une tâche de classification. Par exemple, vous pouvez également utiliser le rappel pour l’évaluation. Dans ce cas, vous pouvez sélectionner Évaluer à côté du bouton « Visualiser les sorties », puis choisir d’autres méthodes d’évaluation à évaluer.

Déploiement

Après avoir généré un flux et l’avoir testé correctement, vous voudrez probablement le déployer en tant que point de terminaison afin de pouvoir appeler le point de terminaison pour l’inférence en temps réel.

Configurer le point de terminaison

Sélectionnez le lien de l’exécution par lots. Vous êtes redirigé vers la page des détails de l’exécution par lots, dans laquelle vous sélectionnez Déployer. Un Assistant s’affiche pour vous permettre de configurer le point de terminaison. Spécifiez un point de terminaison et un nom de déploiement, sélectionnez une machine virtuelle, définissez des connexions, renseignez certains paramètres (vous pouvez utiliser les paramètres par défaut), puis sélectionnez Vérifier + créer pour démarrer le déploiement.

Tester le point de terminaison

Vous pouvez accéder à la page des détails de votre point de terminaison à partir de la notification ou en accédant à Points de terminaison dans le volet de navigation gauche du studio, puis sélectionner votre point de terminaison sous l’onglet Points de terminaison en temps réel. Le déploiement du point de terminaison prend plusieurs minutes. Une fois le point de terminaison déployé, vous pouvez le tester dans l’onglet Test.

Placez l’URL que vous voulez tester dans la zone d’entrée, puis sélectionnez Tester. À présent, vous voyez les résultats prédits par votre point de terminaison.

Nettoyer les ressources

Si vous envisagez d’utiliser les guides pratiques et que vous souhaitez utiliser les ressources que vous avez créées ici, passez aux étapes suivantes.

Arrêter l’instance de calcul

Si vous ne comptez pas l’utiliser maintenant, arrêtez l’instance de calcul :

  1. Dans la zone de navigation gauche de Studio, sélectionnez Calculer.
  2. Sous les onglets supérieurs, sélectionnez Instances de calcul
  3. Sélectionnez l’instance de calcul dans la liste.
  4. Dans la barre d’outils supérieure, sélectionnez Arrêter.

Supprimer toutes les ressources

Si vous n’avez pas l’intention d’utiliser les ressources que vous avez créées, supprimez-les pour éviter des frais :

  1. Dans le portail Azure, sélectionnez Groupes de ressources tout à gauche.
  2. Dans la liste, sélectionnez le groupe de ressources créé.
  3. Sélectionnez Supprimer le groupe de ressources.

Étapes suivantes

Vous connaissez à présent les éléments impliqués dans le développement, le test, l’évaluation et le déploiement d’un flux. Apprenez-en davantage sur le processus dans les tutoriels ci-dessous :