Share via


Déployer un flux pour l’inférence en temps réel

Remarque

Azure AI Studio est actuellement en préversion publique. Cette préversion est fournie sans contrat de niveau de service, nous la déconseillons dans des charges de travail de production. Certaines fonctionnalités peuvent être limitées ou non prises en charge. Pour plus d’informations, consultez Conditions d’Utilisation Supplémentaires relatives aux Évaluations Microsoft Azure.

Une fois que vous avez généré un flux d’invite et que vous l’avez testé correctement, vous pouvez le déployer en tant que point de terminaison en ligne. Les déploiements sont hébergés dans un point de terminaison. Ils peuvent recevoir des données des clients et retourner des réponses en temps réel.

Vous pouvez appeler le point de terminaison pour une inférence en temps réel dans le cadre d’une conversation, d’une assistance par copilote ou d’une autre application d’IA générative. Le flux d’invite prend en charge le déploiement de points de terminaison à partir d’un flux ou d’une série de tests en bloc.

Dans cet article, vous allez découvrir comment déployer un flux en tant que point de terminaison en ligne managé pour l’inférence en temps réel. Voici les étapes à suivre :

  • Tester votre flux et le préparer pour le déploiement.
  • Créer un déploiement en ligne.
  • Accorder des autorisations au point de terminaison.
  • Tester le point de terminaison.
  • Consommer le point de terminaison.

Prérequis

Pour déployer un flux d’invite en tant que point de terminaison en ligne, vous avez besoin de ce qui suit :

  • Un abonnement Azure. Si vous n’en avez pas, créez un compte gratuit avant de commencer.
  • Un projet Azure AI Studio.

Créer un déploiement en ligne

Maintenant que vous avez créé un flux et que vous l’avez testé correctement, il est temps de créer votre point de terminaison en ligne pour l’inférence en temps réel.

Suivez les étapes ci-dessous pour déployer un flux d’invite en tant que point de terminaison en ligne dans Azure AI Studio.

  1. Préparez un flux d’invite au déploiement. Si vous n’en avez pas, consultez Guide pratique pour créer un flux d’invite.

  2. Facultatif : sélectionnez Conversation pour tester si le flux fonctionne correctement. Tester le flux avant le déploiement est une bonne pratique que nous recommandons.

  3. Sélectionnez Déployer dans l’éditeur de flux.

    Screenshot of the deploy button from a prompt flow editor.

  4. Indiquez les informations demandées dans la page Paramètres de base de l’Assistant Déploiement.

    Screenshot of the basic settings page in the deployment wizard.

  5. Sélectionnez Vérifier + créer pour passer en revue les paramètres et créer le déploiement. Sinon, vous pouvez sélectionner Suivant pour accéder aux pages des paramètres avancés.

  6. Sélectionnez Créer pour déployer le flux d’invite.

    Screenshot of the review settings page.

  7. Pour voir l’état de votre déploiement, sélectionnez Déploiements dans le volet de navigation gauche. Une fois le déploiement correctement créé, vous pouvez le sélectionner pour voir les détails.

    Screenshot of the deployment state in progress.

  8. Sélectionnez l’onglet Consommer pour voir les exemples de code qui permettent de consommer le modèle déployé dans votre application.

    Remarque

    Dans cette page, vous pouvez également voir l’URL du point de terminaison, qui vous permet de consommer le point de terminaison.

    Screenshot of the deployment details page.

  9. Vous pouvez utiliser directement le point de terminaison REST ou commencer à utiliser l’un des exemples affichés ici.

    Screenshot of the deployment endpoint and code samples.

Pour plus d’informations, consultez les sections ci-dessous.

Conseil

Pour obtenir un guide sur le déploiement d’un modèle de base, consultez Déploiement de modèles avec Azure AI Studio.

Paramètres et configurations

Fichier texte d’exigences

Vous pouvez éventuellement spécifier les packages supplémentaires dont vous avez besoin dans requirements.txt. Vous trouverez requirements.txt dans le dossier racine de votre dossier de flux. Lorsque vous déployez un flux d’invite sur un point de terminaison en ligne managé dans l’interface utilisateur, par défaut, le déploiement utilise l’environnement créé en fonction de l’image de base spécifiée dans la flow.dag.yaml et les dépendances spécifiées dans l' requirements.txt du flux.

Remarque

L’image de base spécifiée dans l' flow.dag.yaml doit être créée en fonction des mcr.microsoft.com/azureml/promptflow/promptflow-runtime-stable:<newest_version> d’image de base de flux d’invite et vous trouverez la dernière version ici. Si vous ne spécifiez pas l’image de base dans le flow.dag.yaml, le déploiement utilise l’image de base par défaut mcr.microsoft.com/azureml/promptflow/promptflow-runtime-stable:latest.

Screenshot of specifying base image in raw yaml file of the flow.

Screenshot of a flow's requirements text file.

Paramètres de base

Cette étape vous permet de configurer les paramètres de base du déploiement.

Propriété Description
Point de terminaison Vous pouvez choisir de déployer un nouveau point de terminaison ou de mettre à jour un point de terminaison existant.
Si vous sélectionnez Nouveau, vous devez spécifier le nom du point de terminaison.
Nom du déploiement - Dans le même point de terminaison, le nom de déploiement doit être unique.
- Si vous sélectionnez un point de terminaison existant et que vous entrez un nom de déploiement existant, ce déploiement est remplacé par les nouvelles configurations.
Machine virtuelle Taille de machine virtuelle à utiliser pour le déploiement.
Nombre d’instances Nombre d’instances à utiliser pour le déploiement. Spécifiez la valeur relative à la charge de travail attendue. Pour une haute disponibilité, nous vous recommandons de définir la valeur sur au moins 3. Nous réservons 20 % en plus pour effectuer des mises à niveau.
Collecte de données d’inférence Si vous activez cette option, les entrées et sorties de flux sont collectées automatiquement dans une ressource de données Azure Machine Learning, et peuvent être utilisées pour un monitoring ultérieur.
Diagnostics Application Insights Si vous activez cette option, les métriques système générées pendant la durée de l’inférence (telles qu’un nombre de jetons, une latence de flux, une requête de flux, etc.) sont collectées dans la fonctionnalité Application Insights par défaut de la ressource du hub Azure AI.

Une fois que vous avez fini de définir les paramètres de base, vous pouvez directement passer à Vérifier + créer pour finir la création, ou vous pouvez sélectionner Suivant pour configurer les paramètres avancés.

Paramètres avancés - Point de terminaison

Vous pouvez spécifier les paramètres suivants pour le point de terminaison.

Screenshot of the advanced endpoint settings.

Dans le workflow des paramètres avancés, vous pouvez également spécifier des étiquettes de déploiement et sélectionner un environnement personnalisé.

Screenshot of the advanced deployment settings.

Type d'authentification

Méthode d’authentification du point de terminaison. L’authentification par clé fournit une clé primaire et secondaire qui n’expire pas. L’authentification basée sur les jetons Azure Machine Learning fournit un jeton qui s’actualise régulièrement automatiquement.

Type d'identité

Le point de terminaison doit accéder aux ressources Azure telles qu’Azure Container Registry ou aux connexions de votre ressource du hub Azure AI pour l’inférence. Vous pouvez autoriser l’autorisation de point de terminaison à accéder aux ressources Azure en accordant l’autorisation à son identité managée.

L’identité attribuée par le système est créée automatiquement après la création de votre point de terminaison, tandis que l’identité attribuée par l’utilisateur est créée par l’utilisateur. En savoir plus sur les Identités managées.

Attribué par le système

Vous remarquez qu’il existe une option permettant d’indiquer s’il est nécessaire d’Appliquer l’accès aux secrets de connexion (préversion). Si votre flux utilise des connexions, le point de terminaison doit accéder à celles-ci pour effectuer l’inférence. L’option est activée par défaut, et le point de terminaison se voit octroyer le rôle Lecteur de secrets de connexion de l’espace de travail Azure Machine Learning pour accéder automatiquement aux connexions, si vous disposez de l’autorisation de lecteur de secrets de connexion. Si vous désactivez cette option, vous devez octroyer vous-même, manuellement, ce rôle à l’identité affectée par le système, ou demander de l’aide à votre administrateur. En savoir plus sur l’octroi d’une autorisation à l’identité de point de terminaison.

Affecté par l’utilisateur

Quand vous créez le déploiement, Azure tente d’extraire l’image conteneur de l’utilisateur à partir de la ressource de hub Azure AI Azure Container Registry (ACR) et monte les artefacts de code et le modèle utilisateur dans le conteneur utilisateur à partir du compte de stockage de la ressource du hub Azure AI.

Si vous avez créé le point de terminaison associé avec une identité affectée par l’utilisateur, celle-ci doit se voir octroyer les rôles suivants avant la création du déploiement. Sinon, la création du déploiement sera un échec.

Étendue Rôle Pourquoi il est nécessaire
Projet Azure AI Rôle Lecteur de secrets de connexion de l’espace de travail Azure Machine LearningOU un rôle personnalisé avec Microsoft.MachineLearningServices/workspaces/connections/listsecrets/action Obtenir des connexions de projet Azure AI
Registre de conteneurs de projet Azure AI Extraction ACR Tirage (pull) d’image de conteneur
Stockage par défaut du projet Azure AI Lecteur des données blob du stockage Charger le modèle à partir du stockage
Projet Azure AI Enregistreur de métriques d’espace de travail Après avoir déployé le point de terminaison, si vous souhaitez surveiller les métriques liées au point de terminaison telles que l’utilisation du processeur/GPU/disque/mémoire, vous devez accorder cette autorisation à l’identité.

Facultatif

Consultez les instructions détaillées sur la façon d’accorder des autorisations à l’identité du point de terminaison dans Accorder des autorisations au point de terminaison.

Paramètres avancés – Sorties et connexions

Lors de cette étape, vous pouvez afficher toutes les sorties de flux, et spécifier celles à inclure dans la réponse du point de terminaison que vous déployez. Par défaut, toutes les sorties de flux sont sélectionnées.

Vous pouvez également spécifier les connexions utilisées par le point de terminaison lorsque celui-ci procède à une inférence. Par défaut, elles sont héritées du flux.

Une fois que vous avez configuré et passé en revue toutes les étapes ci-dessus, vous pouvez sélectionner Vérifier + créer pour finir la création.

Screenshot of the advanced output and connections settings.

Remarque

Attendez-vous à ce que la création du point de terminaison prenne plus de 15 minutes, car celle-ci présente plusieurs phases, notamment la création d’un point de terminaison, l’inscription du modèle, la création d’un déploiement, etc.

Vous pouvez voir la progression de la création du déploiement via la notification qui commence par Déploiement du flux d’invite.

Accorder des autorisations au point de terminaison

Important

L’octroi d’autorisations (ajout d’une attribution de rôle) est uniquement activé pour le propriétaire des ressources Azure spécifiques. Vous risquez de devoir demander de l’aide à votre administrateur informatique.

Il est recommandé d’accorder des rôles à l’identité affectée par l’utilisateur avant la création du déploiement. La mise en application de l’autorisation accordée peut prendre plus de 15 minutes.

Vous pouvez octroyer toutes les autorisations dans l’IU du portail Azure en suivant les étapes ci-dessous.

  1. Accédez à la page de vue d’ensemble du projet Azure AI dans le portail Azure.

  2. Sélectionnez Contrôle d’accès, et sélectionnez Ajouter une attribution de rôle. Screenshot of Access control with add role assignment highlighted.

  3. Sélectionnez Lecteur de secrets de connexion de l’espace de travail Azure Machine Learning, puis Suivant.

    Remarque

    Le rôle Lecteur de secrets de connexion de l’espace de travail Azure Machine Learning est un rôle intégré qui dispose de l’autorisation nécessaire pour obtenir des connexions à la ressource du hub Azure AI.

    Si vous souhaitez utiliser un rôle personnalisé, vérifiez qu’il dispose de l’autorisation Microsoft.MachineLearningServices/workspaces/connections/listsecrets/action. Découvrez la création de rôles personnalisés.

  4. Sélectionnez Identité managée, puis les membres.

    Pour identité affectée par le système, sélectionnez Point de terminaison en ligne Machine Learning sous Identité managée affectée par le système, puis recherchez par nom de point de terminaison.

    Pour Identité affectée par l’utilisateur, sélectionnez Identité managée affectée par l’utilisateur, puis recherchez par nom d’identité.

  5. Pour l’identité affectée par l’utilisateur, vous devez également octroyer des autorisations au compte de stockage et au registre de conteneurs de la ressource du hub Azure AI. Vous trouverez le registre de conteneurs et le compte de stockage dans la page de vue d’ensemble de la ressource du hub Azure AI dans le Portail Azure.

    Screenshot of the overview page with storage and container registry highlighted.

    Accédez à la page de vue d’ensemble du registre de conteneurs de la ressource du hub Azure AI, sélectionnez Contrôle d’accès et Ajouter une attribution de rôle, puis attribuez Extraction ACR |Extraire l’image conteneur à l’identité du point de terminaison.

    Accédez à la page de vue d’ensemble du stockage par défaut de la ressource du hub Azure AI, sélectionnez Contrôle d’accès et Ajouter une attribution de rôle, puis attribuez Lecteur des données blob du stockage à l’identité du point de terminaison.

  6. (facultatif) Pour l’identité affectée par l’utilisateur, si vous souhaitez monitorer des métriques liées au point de terminaison, par exemple l’utilisation du processeur/du GPU/du disque/de la mémoire, vous devez également octroyer le rôle Enregistreur de métriques d’espace de travail de la ressource du hub Azure AI à l’identité.

Vérifiez l’état du point de terminaison

Des notifications seront envoyées une fois que vous aurez terminé l’Assistant de déploiement. Une fois le point de terminaison et le déploiement correctement créés, vous pouvez sélectionner Voir les détails dans la page de détails de la notification relative au déploiement.

Vous pouvez également accéder directement à la page Déploiements à partir du volet de navigation gauche, sélectionner le déploiement, puis vérifier son état.

Tester le point de terminaison

Dans la page des détails du déploiement, passez à l’onglet Test.

Pour les points de terminaison déployés à partir d’un flux standard, vous pouvez entrer des valeurs dans l’éditeur de formulaires ou l’éditeur JSON afin de tester le point de terminaison.

Tester le point de terminaison déployé à partir d’un flux de conversation

Pour les points de terminaison déployés à partir d’un flux de conversation, vous pouvez le tester dans une fenêtre de conversation immersive.

chat_input a été défini pendant le développement du flux de conversation. Vous pouvez saisir le message chat_input dans la zone de saisie. Si votre flux comporte plusieurs entrées, le panneau Entrées situé sur le côté droit vous permet de spécifier les valeurs des autres entrées en plus de chat_input.

Consommer le point de terminaison

Dans la page des détails du déploiement, passez à l’onglet Consommer. Vous pouvez trouver le point de terminaison REST ainsi que la clé/le jeton pour consommer votre point de terminaison. Il existe également un exemple de code qui vous permet de consommer le point de terminaison dans différents langages.

Screenshot of sample code of consuming endpoints.

Vous devez entrer des valeurs pour RequestBody ou data et api_key. Par exemple, si votre flux a 2 entrées, location et url, vous devez spécifier les données comme suit.

 {
"location": "LA",
"url": "<the_url_to_be_classified>"
}

Nettoyer les ressources

Si vous ne comptez pas utiliser le point de terminaison à l’issue de ce tutoriel, il est préférable de le supprimer.

Remarque

La suppression complète peut prendre environ 20 minutes.

Étapes suivantes