Tutoriel : générer et déployer un copilote de questions et réponses avec un flux rapide dans Azure AI Studio

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.

Dans ce tutoriel sur Azure AI Studio, vous utilisez l’IA générative et le flux rapide pour générer, configurer et déployer un copilote pour votre entreprise de vente au détail appelée Contoso. Votre entreprise de vente au détail se spécialise dans l’équipement de camping extérieur et les vêtements.

Le copilote doit répondre à des questions sur vos produits et services. Il doit également répondre à des questions sur vos clients. Par exemple, le copilote peut répondre à des questions telles que « Combien coûte les chaussures de randonnée TrailWalker ? » et « Combien de chaussures de randonnée TrailWalker Daniel Wilson a-t-il acheté ? ».

Les étapes de ce tutoriel sont les suivantes :

  1. Créez un projet Azure AI Studio.
  2. Déployez un modèle Azure OpenAI et discutez avec vos données.
  3. Créez un flux rapide à partir du terrain de jeux.
  4. Personnaliser le flux rapide avec plusieurs sources de données.
  5. Évaluez le flux à l’aide d’un jeu de données d’évaluation des questions et réponses.
  6. Déployez le flux pour la consommation.

Prérequis

Créer un projet Azure AI dans Azure AI Studio

Votre projet Azure AI est utilisé pour organiser votre travail et économiser l’état lors de la création de votre copilote. Pendant ce tutoriel, votre projet contient vos données, le runtime de flux rapide, les évaluations et d’autres ressources. Pour plus d’informations sur le modèle de ressources et de projets Azure AI, consultez ressources hub Azure AI.

Pour créer un projet Azure AI dans Azure AI Studio, suivez ces étapes :

  1. Sélectionnez l’onglet Générer en haut de la page.

  2. Sélectionnez + Nouveau projet IA.

    Capture d’écran de l’onglet Build d’Azure AI Studio avec l’option permettant de créer un projet visible.

  3. Entrez un nom pour le projet.

  4. Sélectionnez une ressource hub Azure AI dans la liste déroulante pour héberger votre projet. Si vous n’avez pas encore accès à une ressource hub Azure AI, sélectionnez Créer une ressource.

    Capture d’écran de la page de détails du projet dans la boîte de dialogue Créer un projet.

    Remarque

    Pour créer une ressource hub Azure AI, vous devez disposer d’autorisations Propriétaire ou Contributeur sur le groupe de ressources sélectionné. Il est recommandé de partager une ressource hub Azure AI avec votre équipe. Cela vous permet de partager des configurations telles que les connexions de données avec tous les projets et de gérer de manière centralisée les paramètres de sécurité et les dépenses.

  5. Si vous créez une ressource hub Azure AI, entrez un nom.

  6. Sélectionnez votre abonnement Azure dans la liste déroulante. Choisissez un abonnement Azure spécifique pour votre projet pour des raisons de facturation, d’accès ou d’administration. Par exemple, cela accorde aux utilisateurs et aux principaux de service un accès abonné à votre projet.

  7. Gardez le groupe de ressources par défaut pour créer un nouveau groupe de ressources. Sinon, vous pouvez sélectionner un groupe de ressources existant depuis la liste déroulante.

    Conseil

    Il vous est recommandé de créer un nouveau groupe de ressources pour votre projet pour vous faire la main. Cela vous permet de gérer facilement le projet et toutes ses ressources ensemble. Lorsque vous créez un projet, plusieurs ressources sont créées dans le groupe de ressources, notamment une ressource hub Azure AI, un registre de conteneurs et un compte de stockage.

  8. Entrez l’emplacement de la ressource hub Azure AI puis cliquez sur Suivant. L’emplacement correspond à la région où la ressource hub Azure AI est hébergée. L’emplacement de la ressource hub Azure AI est également l’emplacement du projet. La disponibilité des services Azure AI diffère par région. Par exemple, certains modèles peuvent ne pas être disponibles dans certaines régions.

  9. Sélectionnez une ressource Azure OpenAI existante dans la liste déroulante ou créez-en une.

    Capture d’écran de la page Créer une ressource dans la boîte de dialogue Créer un projet.

  10. Dans la page Vérifier et terminer, vous voyez le nom de la ressource Azure OpenAI Service et d’autres paramètres à examiner.

    Capture d’écran de la page Vérifier et terminer dans la boîte de dialogue Créer un projet.

  11. Passez en revue les détails du projet, puis sélectionnez Créer un projet IA. La progression de la création de ressources s’affiche, et le projet est créé une fois le processus terminé.

    Capture d’écran de la progression de la création de ressources dans la boîte de dialogue Créer un projet.

Dès qu’un projet est créé, vous pouvez accéder aux Outils, aux Composants et aux Paramètres de projet IA dans le volet de navigation gauche. Pour un projet qui utilise un hub Azure AI avec prise en charge d’Azure OpenAI, vous voyez l’option de navigation Terrain de jeu dans Outils.

Déployer un modèle de conversation

Suivez ces étapes pour déployer un modèle de conversation Azure OpenAI pour votre copilote.

  1. Connectez-vous à Azure AI Studio avec les informations d’identification qui ont accès à votre ressource Azure OpenAI. Pendant ou après le flux de travail de connexion, sélectionnez le répertoire approprié, l’abonnement Azure et la ressource Azure OpenAI. Vous devriez être sur la page Accueil d’Azure AI Studio.

  2. Sélectionnez Générer dans le menu supérieur, puis Déploiements>Créer>Point de terminaison en temps réel.

    Capture d’écran de la page déploiements avec un bouton pour créer un projet.

  3. Dans la page Sélectionner un modèle, sélectionnez le modèle que vous souhaitez déployer dans la liste des modèles. Par exemple, sélectionnez gpt-35-turbo-16k. Ensuite, sélectionnez Confirmer.

    Capture d’écran de la page de sélection du modèle.

  4. Sur la page Déployer un modèle, entrez un nom pour votre déploiement, puis sélectionnez Déployer. Une fois le déploiement créé, vous voyez la page des détails du déploiement. Les détails incluent la date à laquelle vous avez créé le déploiement et la date de création et la version du modèle que vous avez déployé.

  5. Dans la page des détails du déploiement de l’étape précédente, sélectionnez Ouvrir dans le terrain de jeu.

    Capture d’écran des détails du déploiement de conversation GPT.

Pour plus d’informations sur le déploiement de modèles, consultez comment déployer des modèles.

Discuter dans le terrain de jeu sans vos données

Dans le terrain de jeu Azure AI Studio, vous pouvez observer comment votre modèle répond avec et sans vos données. Dans cette section, vous testez votre modèle sans vos données. Dans la section suivante, vous ajoutez vos données au modèle pour mieux répondre aux questions sur vos produits.

  1. Dans le terrain de jeu, vérifiez que Conversation est sélectionné dans la liste déroulante Mode. Sélectionnez votre modèle de conversation GPT déployé dans la liste déroulante Déploiement.

    Capture d’écran du terrain de jeu de conversation avec le mode conversation et le modèle sélectionnés.

  2. Dans la zone de texte Message système dans le volet installation de l’Assistant, indiquez cette invite pour guider l’Assistant : « Vous êtes un assistant IA qui aide les personnes à trouver des informations » Vous pouvez personnaliser l’invite de votre scénario. Pour plus d’informations, consultez les exemples d’invites.

  3. Sélectionnez Appliquer les modifications pour enregistrer vos modifications, puis, quand vous êtes invité à voir si vous souhaitez mettre à jour le message système, sélectionnez Continuer.

  4. Dans le volet de session de conversation, entrez la question suivante : « Combien coûtent les chaussures de randonnée TrailWalker ? », puis sélectionnez l’icône de flèche droite à envoyer.

    Capture d’écran de la première question de conversation sans baser les données.

  5. L’assistant répond qu’il ne connaît pas la réponse. Le modèle n’a pas accès aux informations de produit sur les chaussures de randonnée TrailWalker.

    Capture d’écran de la réponse de l’Assistant sans avoir à baser les données.

Dans la section suivante, vous allez ajouter vos données au modèle pour lui permettre de répondre aux questions relatives à vos produits.

Ajouter vos données et réessayer le modèle de conversation

Vous avez besoin d’une copie locale d’exemples d’informations sur le produit. Pour plus d’informations et des liens vers des exemples de données, consultez les conditions préalables.

Vous chargez vos fichiers de données locaux dans le stockage Blob Azure et créez un index Recherche Azure AI. Votre source de données est utilisée pour aider à ancrer le modèle sur des données spécifiques. Ancrer signifie que le modèle utilise vos données pour l’aider à comprendre le contexte de votre question. Vous ne modifiez pas le modèle déployé lui-même. Vos données sont stockées séparément et en toute sécurité dans votre abonnement Azure. Pour plus d’informations, consultez Azure OpenAI sur vos données.

Suivez ces étapes pour ajouter vos données au terrain de jeu pour aider l’assistant à répondre aux questions sur vos produits.

  1. Si vous n’êtes pas déjà dans le terrain de jeu Azure AI Studio, sélectionnez Générer dans le menu supérieur, puis sélectionnez Terrain de jeu dans le menu de gauche réductible.

  2. Dans la vignette Configuration de l’assistant, sélectionnez Ajouter vos données (préversion)>+ Ajouter une source de données.

    Capture d’écran du terrain de jeu de conversation avec l’option permettant d’ajouter une source de données visible.

  3. Dans la page source de données qui s’affiche, sélectionnez Charger des fichiers dans la liste déroulante Sélectionner une source de données.

    Capture d’écran des options de sélection de source de données du produit.

    Conseil

    Pour connaître les options de source de données et les types de fichiers et formats pris en charge, consultez Azure OpenAI sur vos données.

  4. Entrez product-info comme nom de votre index d’informations sur le produit.

    Capture d’écran des ressources et des informations requises pour charger des fichiers.

  5. Sélectionnez ou créez une ressource Recherche Azure AI nommée contoso-outdoor-search et acceptez l’indication qui vous informe que son association entraîne une utilisation sur votre compte.

    Remarque

    Vous utilisez l’index product-info et la ressource Recherche AI Azure contoso-outdoor-search dans le flux rapide plus loin dans ce tutoriel. Si les noms que vous entrez diffèrent de ce qui est spécifié ici, veillez à utiliser les noms que vous avez entrés dans le reste du tutoriel.

  6. Sélectionnez l’abonnement Azure qui contient la ressource Azure OpenAI que vous souhaitez utiliser. Ensuite, cliquez sur Suivant.

  7. Dans la page Charger des fichiers, sélectionnez Rechercher un fichier et sélectionnez les fichiers à charger. Sélectionnez les fichiers d’informations sur le produit que vous avez téléchargés ou créés précédemment. Consultez les prérequis. Si vous souhaitez charger plusieurs fichiers, faites-le maintenant. Vous ne pouvez pas ajouter plus de fichiers plus tard dans la même session de terrain de jeu.

  8. Sélectionnez Charger pour charger le fichier dans votre compte de stockage Blob Azure. Sélectionnez ensuite Suivant en bas de la page.

    Capture d’écran de la boîte de dialogue pour sélectionner et charger des fichiers.

  9. Dans la page Gestion des données sous Type de recherche, sélectionnez Mot clé. Ce paramètre permet de déterminer la façon dont le modèle répond aux requêtes. Sélectionnez ensuite Suivant.

    Remarque

    Si vous aviez ajouté la recherche vectorielle sur la page Sélectionner ou ajouter une source de données, d’autres options seraient disponibles ici pour un coût supplémentaire. Pour plus d’informations, consultez Azure OpenAI sur vos données.

  10. Vérifiez les détails saisis et sélectionnez Save and close (Enregistrer et fermer). Vous pouvez maintenant converser avec le modèle et il utilise les informations de vos données pour construire la réponse.

    Capture d’écran de la page de révision et de fin pour l’ajout de données.

  11. À présent, dans le volet Configuration de l’assistant, vous pouvez voir que votre ingestion de données est en cours. Avant de continuer, attendez de voir la source de données et le nom de l’index à la place de l’état.

    Capture d’écran du terrain de jeu de conversation avec l’état de l’ingestion des données en vue.

  12. Vous pouvez maintenant discuter avec le modèle qui pose la même question que avant (« Combien coûte les chaussures de randonnée TrailWalker »), et cette fois il utilise des informations de vos données pour construire la réponse. Vous pouvez développer le bouton références pour afficher les données utilisées.

    Capture d’écran de la réponse de l’assistant avec des données de base.

Créer un calcul et un runtime nécessaires pour le flux rapide

Vous utilisez le flux rapide pour optimiser les messages envoyés au modèle de conversation du copilote. Le flux rapide nécessite une instance de calcul et un runtime. Si vous disposez déjà d’une instance de calcul et d’un runtime, vous pouvez ignorer cette section et rester dans le terrain de jeu.

Pour créer une instance de calcul et un runtime, procédez comme suit :

  1. Si vous n’avez pas d’instance de calcul, vous pouvez en créer une dans Azure AI Studio.
  2. Créez ensuite un runtime en suivant les étapes décrites dans Comment créer un runtime.

Pour suivre le reste du didacticiel, assurez-vous que votre runtime est dans l’état En cours d’exécution. Vous devrez peut-être sélectionner Actualiser pour mettre à jour le statut.

Important

Vous êtes facturé pour les instances de calcul pendant leur exécution. Pour éviter d’entraîner des coûts Azure inutiles, suspendez l’instance de calcul lorsque vous ne travaillez pas activement dans le flux rapide. Pour plus d’informations, consultez Comment démarrer et arrêter le calcul.

Créez un flux rapide à partir du terrain de jeux

Maintenant que votre modèle de conversation déployé fonctionne dans le terrain de jeu avec vos données, vous pouvez déployer votre copilote en tant qu’application web à partir du terrain de jeu.

Mais vous pouvez demander « Comment puis-je personnaliser davantage ce copilote ? » Vous pouvez ajouter plusieurs sources de données, comparer différentes invites ou les performances de plusieurs modèles. Un flux rapide sert de flux de travail exécutable qui simplifie le développement de votre application IA basée sur LLM. Il fournit une infrastructure complète pour la gestion du flux de données et du traitement au sein de votre application.

Dans cette section, vous allez apprendre à passer au flux rapide à partir du terrain de jeu. Vous exportez l’environnement de conversation de terrain de jeu, y compris les connexions aux données que vous avez ajoutées. Plus loin dans ce tutoriel, vous évaluez le flux, puis déployez le flux pour consommation.

Remarque

Les modifications apportées dans le flux rapide ne sont pas appliquées en arrière pour mettre à jour l’environnement de terrain de jeu.

Vous pouvez créer un flux rapide à partir du terrain de jeu en procédant comme suit :

  1. Si vous n’êtes pas déjà dans le terrain de jeu Azure AI Studio, sélectionnez Générer dans le menu supérieur, puis sélectionnez Terrain de jeu dans le menu de gauche réductible.

  2. Sélectionnez Ouvrir dans le flux rapide dans le menu situé au-dessus du volet Session de conversation.

  3. Entrez un nom de dossier pour votre flux rapide. Sélectionnez ensuite Ouvrir. Azure AI Studio exporte l’environnement de conversation de terrain de jeu, y compris les connexions à vos données pour flux rapide.

    Capture d’écran de la boîte de dialogue Ouvrir dans le flux d’invite.

Au sein d’un flux, les nœuds occupent le devant de la scène, représentant des outils spécifiques dotés de fonctionnalités uniques. Ces nœuds gèrent le traitement des données, l’exécution des tâches et les opérations algorithmiques, avec des entrées et des sorties. En connectant des nœuds, vous établissez une chaîne transparente d’opérations qui guide le flux de données à travers votre application. Pour plus d’informations, consultez les outils de flux rapide.

Pour faciliter la configuration des nœuds et leur ajustement, une représentation visuelle de la structure de flux de travail est fournie par le biais d’un graphique DAG (graphe orienté acyclique). Ce graphique présente la connectivité et les dépendances entre les nœuds, offrant une vue d’ensemble claire et globale du flux de travail. Les nœuds du graphique illustré ici sont représentatifs de l’expérience de conversation de terrain de jeu que vous avez exportée au flux rapide.

Capture d’écran du graphique par défaut exporté à partir du terrain de jeu pour le flux d’invite.

Les nœuds peuvent être ajoutés, mis à jour, réorganisés ou supprimés. Les nœuds de votre flux à ce stade sont les suivants :

  • DetermineIntent : ce nœud détermine l’intention de la requête de l’utilisateur. Il utilise l’invite système pour déterminer l’intention. Vous pouvez modifier l’invite système pour fournir des exemples spécifiques au scénario.
  • ExtractIntent : ce nœud met en forme la sortie du nœud DetermineIntent et l’envoie au nœud RetrieveDocuments.
  • RetrieveDocuments : ce nœud recherche les principaux documents liés à la requête. Ce nœud utilise le type de recherche et tous les paramètres que vous avez préconfigurés dans le terrain de jeu.
  • FormatRetrievedDocuments : ce nœud met en forme la sortie du nœud RetrieveDocuments et l’envoie au nœud DetermineReply .
  • DetermineReply : ce nœud contient une invite système étendue, qui demande au LLM de répondre à l’aide des documents récupérés uniquement. Il existe deux entrées :
    • Le nœud RetrieveDocuments fournit les documents les plus récupérés.
    • Le nœud FormatConversation fournit l’historique des conversations mis en forme, y compris la dernière requête.

Le nœud FormatReply formate la sortie du nœud DetermineReply.

Dans le flux rapide, vous devez également voir :

  • Enregistrer : vous pouvez enregistrer votre flux rapide à tout moment en sélectionnant Enregistrer dans le menu supérieur. Veillez à enregistrer régulièrement votre flux rapide lorsque vous apportez des modifications dans ce didacticiel.

  • Runtime : le runtime que vous avez créé précédemment dans ce didacticiel. Vous pouvez démarrer et arrêter des runtimes et des instances de calcul via Paramètres de projet IA dans le menu de gauche. Pour travailler dans le flux rapide, assurez-vous que votre runtime se trouve dans l’état En cours d’exécution .

    Capture d’écran de l’éditeur de flux d’invite et des menus environnants.

  • Outils : vous pouvez revenir au flux rapide à tout moment en sélectionnant flux rapide dans Outils dans le menu de gauche. Sélectionnez ensuite le dossier de flux rapide que vous avez créé précédemment (et non l’exemple de flux).

    Capture d’écran de la liste de vos flux d’invite.

Personnaliser le flux rapide avec plusieurs sources de données

Plus tôt dans le terrain de jeu Azure AI Studio, vous avez ajouté vos données pour créer un index de recherche contenant des données de produit pour le copilote Contoso. Jusqu’à présent, les utilisateurs pouvaient seulement se renseigner sur les produits avec des questions telles que « Combien coûtent les chaussures de randonnée TrailWalker ? ». Mais ils ne peuvent pas obtenir des réponses à des questions telles que « Combien de chaussures de randonnée TrailWalker Daniel Wilson a-t-il acheté ? » Pour activer ce scénario, nous ajoutons un autre index avec des informations client au flux.

Créer l’index d’informations client

Vous avez besoin d’une copie locale d’exemples d’informations client. Pour plus d’informations et des liens vers des exemples de données, consultez les conditions préalables.

Suivez ces instructions pour créer un index :

  1. Sélectionnez Index dans le menu de gauche. Sélectionnez ensuite + Nouvel index.

    Capture d’écran de la page index avec le bouton pour créer un index.

    Vous accédez à l’Assistant Créer un index .

  2. Dans la page Données sources, sélectionnez le dossier Charger dans la liste déroulante Charger. Sélectionnez les fichiers d’informations client que vous avez téléchargés ou créés précédemment. Consultez les prérequis.

    Capture d’écran des options de sélection de la source de données client.

  3. Sélectionnez Suivant au bas de la page.

  4. Sélectionnez la même ressource Recherche Azure AI (contoso-outdoor-search) que vous avez utilisée pour votre index d’informations sur le produit (product-info). Sélectionnez ensuite Suivant.

    Capture d’écran de la ressource Recherche Azure AI sélectionnée.

  5. Sélectionnez Hybride + sémantique (recommandé) pour le type de recherche. Ce type doit être sélectionné par défaut.

  6. Sélectionnez Default_AzureOpenAI dans la liste déroulante ressource Azure OpenAI . Cochez la case pour confirmer qu’un modèle d’incorporation Azure OpenAI sera déployé si ce n’est pas déjà fait. Sélectionnez ensuite Suivant.

    Capture d’écran des options de type de recherche d’index.

    Remarque

    Le modèle d’incorporation est répertorié avec d’autres déploiements de modèles dans la page Déploiements .

  7. Entrez customer-info pour le nom de l’index. Sélectionnez ensuite Suivant.

    Capture d’écran du nom de l’index et des options de machine virtuelle.

  8. Passez en revue les détails que vous avez entrés, puis sélectionnez Créer.

    Capture d’écran de la page de création d’index de révision et de fin.

    Remarque

    Vous utilisez l’index customer-info et la ressource Recherche Azure AI contoso-outdoor-search dans le flux rapide plus loin dans ce tutoriel. Si les noms que vous entrez diffèrent de ce qui est spécifié ici, veillez à utiliser les noms que vous avez entrés dans le reste du tutoriel.

  9. Vous accéderez à la page de détails de l’index dans laquelle vous pourrez voir l’état de votre création d’index

    Capture d’écran des détails de l’index d’informations client.

Pour plus d’informations sur la création d’un index, consultez Créer un index.

Ajouter des informations client au flux

Une fois que vous avez créé votre index, revenez à votre flux rapide et procédez comme suit pour ajouter les informations client au flux :

  1. Sélectionnez le nœud RetrieveDocuments dans le graphique et renommez-le RetrieveProductInfo. À présent, le nœud d’informations sur le produit de récupération peut être distingué du nœud d’informations client que vous ajoutez au flux.

    Capture d’écran du nœud de flux d’invite pour récupérer les informations sur le produit.

  2. Sélectionnez + Python dans le menu supérieur pour créer un nœud Python utilisé pour récupérer les informations client.

    Capture d’écran du nœud de flux d’invite pour récupérer les informations du client.

  3. Nommez le nœud RetrieveCustomerInfo, puis sélectionnez Ajouter.

  4. Copiez et collez le code Python à partir du nœud RetrieveProductInfo dans le nœud RetrieveCustomerInfo pour remplacer tout le code par défaut.

  5. Sélectionnez le bouton Valider et analyser l’entrée pour valider les entrées du nœud RetrieveCustomerInfo. Si les entrées sont valides, le flux rapide analyse les entrées et crée les variables nécessaires à utiliser dans votre code.

    Capture d’écran du bouton valider et analyser l’entrée.

  6. Modifiez les entrées RetrieveCustomerInfo que le flux rapide a analysées pour vous afin qu’elles puissent se connecter à votre index customer-info.

    Capture d’écran des entrées à modifier dans le nœud récupérer les informations client.

    Remarque

    Le graphique est mis à jour immédiatement après avoir défini la valeur d’entrée des requêtes sur ExtractIntent.output.search_intents. Dans le graphique, vous pouvez voir que RetrieveCustomerInfo obtient des entrées de ExtractIntent.

    Les entrées respectent la casse. Assurez-vous qu’elles correspondent exactement à ces valeurs :

    Nom Type Valeur
    embeddingModelConnection Azure OpenAI Default_AzureOpenAI
    embeddingModelName string Aucun
    indexName string customer-info
    queries string ${ExtractIntent.output.search_intents}
    queryType string simple
    searchConnection Recherche cognitive contoso-outdoor-search
    semanticConfiguration string Aucun
    topK int 5
  7. Sélectionnez Enregistrer dans le menu supérieur pour enregistrer vos modifications.

Formatez les documents récupérés en sortie

Maintenant que vous disposez des informations sur le produit et le client dans votre flux rapide, vous mettez en forme les documents récupérés afin que le modèle de langage volumineux puisse les utiliser.

  1. Sélectionnez le nœud FormatRetrievedDocuments dans le graphique.

  2. Copiez et collez le code Python suivant pour remplacer tout le contenu dans le bloc de code FormatRetrievedDocuments.

    from promptflow import tool
    
    @tool
    def format_retrieved_documents(docs1: object, docs2: object, maxTokens: int) -> str:
      formattedDocs = []
      strResult = ""
      docs = [val for pair in zip(docs1, docs2) for val in pair]
      for index, doc in enumerate(docs):
        formattedDocs.append({
          f"[doc{index}]": {
            "title": doc['title'],
            "content": doc['content']
          }
        })
        formattedResult = { "retrieved_documents": formattedDocs }
        nextStrResult = str(formattedResult)
        if (estimate_tokens(nextStrResult) > maxTokens):
          break
        strResult = nextStrResult
    
      return {
              "combined_docs": docs,
              "strResult": strResult
          }
    
    def estimate_tokens(text: str) -> int:
      return (len(text) + 2) / 3
    
  3. Sélectionnez le bouton Valider et analyser l’entrée pour valider les entrées du nœud FormatRetrievedDocuments. Si les entrées sont valides, le flux rapide analyse les entrées et crée les variables nécessaires à utiliser dans votre code.

  4. Modifiez les entrées FormatRetrievedDocuments que le flux rapide analysé pour vous afin qu’il puisse extraire les informations du produit et du client à partir des nœuds RetrieveProductInfo et RetrieveCustomerInfo.

    Capture d’écran des entrées à modifier dans le nœud documents récupérés au format.

    Les entrées respectent la casse. Assurez-vous qu’elles correspondent exactement à ces valeurs :

    Nom Type Valeur
    docs1 object ${RetrieveProductInfo.output}
    docs2 object ${RetrieveCustomerInfo.output}
    maxTokens int 5000
  5. Sélectionnez le nœud DetermineReply à partir du graphique.

  6. Définissez l’entrée de documentation sur ${FormatRetrievedDocuments.output.strResult}.

    Capture d’écran de la modification de la valeur d’entrée de documentation dans le nœud de réponse déterminer.

  7. Sélectionnez le nœud de sorties dans le graphique.

  8. Définissez l’entrée fetched_docs sur ${FormatRetrievedDocuments.output.combined_docs}.

    Capture d’écran de la modification de la valeur d’entrée fetched_docs dans le nœud de sorties.

  9. Sélectionnez Enregistrer dans le menu supérieur pour enregistrer vos modifications.

Discuter dans le flux rapide avec des informations sur le produit et le client

À présent, vous disposez à la fois des informations sur le produit et le client dans le flux rapide. Vous pouvez discuter avec le modèle en flux rapide et obtenir des réponses aux questions telles que « Combien de chaussures de randonnée TrailWalker Daniel Wilson a-t-il acheté ? » Avant de passer à une évaluation plus formelle, vous pouvez éventuellement discuter avec le modèle pour voir comment il répond à vos questions.

  1. Sélectionnez Conversation dans le menu supérieur dans le flux rapide pour essayer la conversation.

  2. Entrez « Combien de chaussures de randonnée TrailWalker Daniel Wilson a-t-il acheté ? », puis sélectionnez l’icône de flèche droite pour envoyer.

  3. La réponse est ce que vous attendez. Le modèle utilise les informations client pour répondre à la question.

    Capture d’écran de la réponse de l’assistant avec les données de mise au point du produit et du client.

Évaluez le flux à l’aide d’un jeu de données d’évaluation des questions et réponse

Dans Azure AI Studio, vous souhaitez évaluer le flux avant de déployer le flux pour consommation.

Dans cette section, vous utilisez l’évaluation intégrée pour évaluer votre flux avec un jeu de données d’évaluation de questions et réponses. L’évaluation intégrée utilise des métriques assistées par l’IA pour évaluer votre flux : niveau de base, pertinence et score de récupération. Pour plus d’informations, consultez les métriques d’évaluation intégrées.

Créer une évaluation

Vous avez besoin d’un jeu de données d’évaluation de questions et réponses qui contient des questions et réponses pertinentes pour votre scénario. Créez un fichier nommé localement qa-evaluation.jsonl. Copiez et collez les questions et réponses suivantes ("truth") dans le fichier.

{"question": "What color is the CozyNights Sleeping Bag?", "truth": "Red", "chat_history": [], }
{"question": "When did Daniel Wilson order the BaseCamp Folding Table?", "truth": "May 7th, 2023", "chat_history": [] }
{"question": "How much does TrailWalker Hiking Shoes cost? ", "truth": "$110", "chat_history": [] }
{"question": "What kind of tent did Sarah Lee buy?", "truth": "SkyView 2 person tent", "chat_history": [] }
{"question": "What is Melissa Davis's phone number?", "truth": "555-333-4444", "chat_history": [] }
{"question": "What is the proper care for trailwalker hiking shoes?", "truth": "After each use, remove any dirt or debris by brushing or wiping the shoes with a damp cloth.", "chat_history": [] }
{"question": "Does TrailMaster Tent come with a warranty?", "truth": "2 years", "chat_history": [] }
{"question": "How much did David Kim spend on the TrailLite Daypack?", "truth": "$240", "chat_history": [] }
{"question": "What items did Amanda Perez purchase?", "truth": "TrailMaster X4 Tent, TrekReady Hiking Boots (quantity 3), CozyNights Sleeping Bag, TrailBlaze Hiking Pants, RainGuard Hiking Jacket, and CompactCook Camping Stove", "chat_history": [] }
{"question": "What is the Brand for TrekReady Hiking Boots", "truth": "TrekReady", "chat_history": [] }
{"question": "How many items did Karen Williams buy?", "truth": "three items of the Summit Breeze Jacket", "chat_history": [] }
{"question": "France is in Europe", "truth": "Sorry, I can only truth questions related to outdoor/camping gear and equipment", "chat_history": [] }

Maintenant que vous disposez de votre jeu de données d’évaluation, vous pouvez évaluer votre flux en procédant comme suit :

  1. Sélectionnez Évaluer>Évaluation intégrée dans le menu supérieur du flux rapide.

    Capture d’écran de l’option permettant de créer une évaluation intégrée à partir du flux d’invite.

    Vous accédez à l’assistant Créer une nouvelle évaluation .

  2. Entrez un nom pour votre évaluation et sélectionnez un runtime.

  3. Sélectionnez Paires questions-réponses avec des générations augmentées par récupération dans les options de scénario.

    Capture d’écran de la sélection d’un scénario d’évaluation.

  4. Sélectionnez le flux à évaluer. Dans cet exemple, sélectionnez flux extérieur Contoso ou le nom que vous avez donné à votre flux. Ensuite, cliquez sur Suivant.

  5. Sélectionnez les métriques que vous souhaitez utiliser pour évaluer votre flux. Dans cet exemple, sélectionnez Fondement, Pertinenceet Score de récupération.

    Capture d’écran de la sélection des métriques d’évaluation.

  6. Sélectionnez un modèle à utiliser pour l’évaluation. Dans cet exemple, sélectionnez gpt-35-turbo-16k. Sélectionnez ensuite Suivant.

    Remarque

    L’évaluation avec des métriques assistées par IA doit appeler un autre modèle GPT pour effectuer le calcul. Pour des performances optimales, utilisez un modèle qui prend en charge au moins 16 000 jetons (tels que gpt-4-32k ou gpt-35-turbo-16k). Si vous n’avez pas déjà déployé un modèle pareil, vous pouvez déployer un autre modèle en suivant les étapes décrites dans Déployer un modèle de conversation. Revenez ensuite à cette étape et sélectionnez le modèle que vous avez déployé.

  7. Sélectionnez Ajouter un nouveau jeu de données. Sélectionnez ensuite Suivant.

    Capture d’écran de l’option permettant d’utiliser un jeu de données nouveau ou existant.

  8. Sélectionnez Charger des fichiers, parcourez les fichiers, puis sélectionnez le fichier qa-evaluation.jsonl que vous avez créé précédemment.

    Capture d’écran du bouton Charger des fichiers du jeu de données.

  9. Une fois le fichier chargé, vous devez mapper les propriétés du fichier (source de données) aux propriétés d’évaluation. Entrez les valeurs suivantes pour chaque propriété de source de données :

    Capture d’écran du mappage de jeu de données d’évaluation.

    Nom Description Type Source de données
    chat_history L’historique des conversations list ${data.chat_history}
    query La requête string ${data.question}
    question Requête recherchant des informations spécifiques string ${data.question}
    answer Réponse à la question générée par le modèle comme réponse string ${run.outputs.reply}
    documents Chaîne avec contexte à partir de documents récupérés string ${run.outputs.fetched_docs}
  10. Cliquez sur Suivant.

  11. Passez en revue les détails de l’évaluation, puis sélectionnez Envoyer.

    Capture d’écran de la page de révision et de fin dans la boîte de dialogue Créer une évaluation.

    Vous accédez à la page Évaluations des métriques.

Afficher l’état et les résultats de l’évaluation

Vous pouvez maintenant afficher l’état et les résultats de l’évaluation en procédant comme suit :

  1. Une fois que vous créez une évaluation, si vous n’y êtes pas encore, accédez à Générer>Évaluation. Dans la page Évaluations des métriques, vous pouvez voir l’état de l’évaluation et les métriques que vous avez sélectionnées. Vous devrez peut-être sélectionner Actualiser après quelques minutes pour voir l’état Terminé .

    Capture d’écran de la page évaluations des métriques.

    Conseil

    Une fois l’évaluation affiche l’état Terminé, vous n’avez pas besoin de runtime ou de calcul pour effectuer le reste de ce didacticiel. Vous pouvez arrêter votre instance de calcul pour éviter d’entraîner des coûts Azure inutiles. Pour plus d’informations, consultez Comment démarrer et arrêter le calcul.

  2. Sélectionnez le nom de l’évaluation qui s’est terminée en premier (contoso-evaluate-from-flow_variant_0) pour afficher les détails de l’évaluation avec les colonnes que vous avez mappées précédemment.

    Capture d’écran de la page de résultats des métriques détaillées.

  3. Sélectionnez le nom de l’évaluation qui a terminé la deuxième (evaluation_contoso-evaluate-from-flow_variant_0) pour afficher les métriques d’évaluation : Fondement, Pertinenceet Score de récupération.

    Capture d’écran des scores de métriques moyens.

Pour plus d’informations, consultez Afficher les résultats d’évaluation.

Déployer le flux

Maintenant que vous avez créé un flux et terminé une évaluation basée sur des métriques, il est temps de créer votre point de terminaison en ligne pour l’inférence en temps réel. Cela signifie que vous pouvez utiliser le flux déployé pour répondre aux questions en temps réel.

Suivez ces étapes pour déployer un flux rapide en tant que point de terminaison en ligne à partir de 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.

    Capture d’écran du bouton Déployer à partir d’un éditeur de flux d’invite.

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

    Capture d’écran de la page paramètres de base de l’Assistant Déploiement.

  5. Sélectionnez Suivant pour passer aux pages de paramètres avancés.

  6. Dans la page Paramètres avancés - Point de terminaison, conservez les paramètres par défaut et sélectionnez Suivant.

  7. Dans la page Paramètres avancés - Déploiement, conservez les paramètres par défaut et sélectionnez Suivant.

  8. Dans la page Paramètres avancés – Sorties et connexions, vérifiez que toutes les sorties sont sélectionnées sous Inclus dans la réponse du point de terminaison.

    Capture d’écran de la page paramètres avancés de l’Assistant Déploiement.

  9. Sélectionnez Vérifier + créer pour passer en revue les paramètres et créer le déploiement.

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

    Capture d’écran de la page des paramètres de déploiement de flux d’invite de révision.

Pour plus d’informations, consultez Comment déployer un flux.

Utiliser le flux déployé

Votre application copilote peut utiliser le flux d’invite déployé pour répondre aux questions en temps réel. Vous pouvez utiliser le point de terminaison REST ou le Kit de développement logiciel (SDK) pour utiliser le flux déployé.

  1. Pour afficher l’état de votre déploiement dans Azure AI Studio, 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.

    Capture d’écran de l’état de déploiement de flux d’invite en cours.

    Remarque

    Si vous voyez un message indiquant « Actuellement ce point de terminaison n’a aucun déploiement » ou que l'état est toujours sur Mise à jour en cours, vous devrez peut-être sélectionner Actualiser après quelques minutes pour voir le déploiement.

  2. Si vous le souhaitez, la page de détails vous permet de modifier le type d’authentification ou d’activer la surveillance.

    Capture d’écran de la page détails du déploiement de flux d’invite.

  3. Sélectionnez l’onglet Consommer. Vous pouvez voir des exemples de code et le point de terminaison REST de votre application copilote pour utiliser le flux déployé.

    Capture d’écran du point de terminaison de déploiement de flux d’invite et des exemples de code.

Nettoyer les ressources

Pour éviter la facturation de coûts Azure inutiles, vous devez supprimer les ressources créées dans ce tutoriel si elles ne sont plus nécessaires. Pour gérer les ressources, vous pouvez utiliser le Portail Microsoft Azure.

Vous pouvez également arrêter ou supprimer votre instance de calcul dans Azure AI Studio.

Démonstration de la solution de conversation instantanée d’entreprise Azure AI Studio

Découvrez comment créer un copilote de vente au détail à l’aide de vos données avec Azure AI Studio dans cette vidéo de la procédure pas à pas.

Étapes suivantes