Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les flux de travail sont des outils basés sur l’interface utilisateur dans Microsoft Foundry. Vous pouvez les utiliser pour créer des séquences d’actions déclaratives et prédéfinies qui incluent des agents, comme dans les flux de travail Microsoft Agent Framework.
Les flux de travail vous permettent de créer des systèmes d’automatisation intelligents qui mélangent en toute transparence des agents IA avec des processus métier de manière visuelle. Les systèmes à agent unique traditionnels sont limités dans leur capacité à gérer des tâches complexes et multidimensionnelles. En orchestrant plusieurs agents, chacun avec des compétences ou des rôles spécialisés, vous pouvez créer des systèmes plus robustes, adaptatifs et capables de résoudre des problèmes réels en collaboration.
Prerequisites
- Un compte Azure avec un abonnement actif. Si vous n’en avez pas, créez un compte Azure gratuit, qui inclut un abonnement d’essai gratuit.
- Projet dans Microsoft Foundry.
Concepts du flux de travail
Pour créer un flux de travail dans Foundry, vous pouvez commencer par un flux de travail vide ou sélectionner l’un des modèles d’orchestration prédéfinis :
| Motif | Descriptif | Cas d’utilisation typique |
|---|---|---|
| Intervention humaine dans le processus | Demande à l’utilisateur une question et attend l’entrée de l’utilisateur pour continuer | Création de demandes d’approbation pendant l’exécution du flux de travail et attendre une approbation humaine, ou obtention d’informations de l'utilisateur |
| Séquentiel | Transmet le résultat d’un agent à l’autre dans un ordre défini | Flux de travail étape par étape, pipelines ou traitement en plusieurs étapes |
| Conversation de groupe | Passe dynamiquement le contrôle entre les agents en fonction du contexte ou des règles | Flux de travail dynamiques, escalade, repli ou scénarios de transfert à des experts |
Pour plus d’informations, consultez les orchestrations de flux de travail Microsoft Agent Framework.
Créer un flux de travail
Les étapes suivantes vous montrent comment créer un type séquentiel de flux de travail comme exemple :
-
Connectez-vous à Microsoft Foundry. Assurez-vous que l'interrupteur New Foundry est activé. Ces étapes font référence à Foundry (nouveau).
Dans le menu supérieur droit, sélectionnez Générer.
Sélectionnez Créer un flux de travail>séquentiel.
Affectez un agent aux nœuds de l’agent en sélectionnant chaque nœud d’agent dans le flux de travail et en sélectionnant l’agent souhaité ou en créant un nouveau. Pour plus d’informations, consultez Ajouter des agents à votre flux de travail plus loin dans cet article.
Sélectionnez Enregistrer dans le visualiseur pour enregistrer les modifications.
Important
Les flux de travail ne sont pas enregistrés automatiquement. Sélectionnez Enregistrer chaque fois que vous souhaitez enregistrer les modifications apportées à votre flux de travail.
Cliquez sur Exécuter le flux de travail.
Interagissez avec le flux de travail dans la fenêtre de conversation.
Si vous le souhaitez, ajoutez de nouveaux nœuds à votre flux de travail. La section suivante de cet article fournit des informations sur les nœuds.
Ajouter des nœuds à votre flux de travail
Les nœuds définissent les blocs de construction de votre flux de travail. Les types de nœuds courants sont les suivants :
- Agent : appeler un agent.
- Logique : utilisez if/else, go to ou for each.
- Transformation des données : définissez une variable ou analysez une valeur.
- Conversation de base : envoyez un message ou posez une question à un agent.
Lorsque vous sélectionnez un flux de travail prédéfini, un arrangement de nœuds apparaît dans l'éditeur. Chaque nœud correspond à une action ou un composant spécifique et effectue une étape dans la séquence. Vous pouvez modifier l’ordre des nœuds en sélectionnant les trois points sur un nœud, puis en sélectionnant déplacer. Vous pouvez ajouter de nouveaux nœuds en sélectionnant l’icône plus (+) dans l’espace de travail.
Ajouter des agents à votre flux de travail
Vous pouvez ajouter n’importe quel agent Foundry de votre projet au flux de travail. Les nœuds d’agent vous permettent également de créer de nouveaux agents et de leur donner des fonctionnalités personnalisées en configurant leur modèle, leur invite et leurs outils.
Pour obtenir des options avancées et des informations complètes sur la création de l’agent, accédez à l’onglet Agent Foundry dans le portail Foundry.
Ajouter un agent existant
Dans le visualiseur de flux de travail, sélectionnez le signe plus.
Dans la liste déroulante contextuelle, sélectionnez Appeler l’agent.
Dans la fenêtre Créer un agent , sélectionnez existant.
Entrez le nom de l’agent pour rechercher des agents existants dans votre projet Foundry.
Sélectionnez l’agent souhaité pour l’ajouter à votre flux de travail.
Créer un agent
Dans le visualiseur de flux de travail, sélectionnez le signe plus.
Dans la liste déroulante contextuelle, sélectionnez Appeler l’agent.
Entrez un nom d’agent et une description de ce que fait l’agent.
Sélectionnez Ajouter.
Dans la fenêtre Appeler un agent , configurez l’agent.
Cliquez sur Enregistrer.
Configurer un format de réponse de sortie pour appeler un agent
Créez un nœud Agent d'invocation.
Dans la fenêtre de configuration de l’agent Invoke , sélectionnez Créer un agent.
Configurez l’agent pour envoyer la sortie en tant que schéma JSON :
- Sélectionnez Details (Détails).
- Sélectionnez l’icône de paramètre.
- Pour le format Texte, sélectionnez Schéma JSON.
Copiez le schéma JSON souhaité et collez-le dans la fenêtre Ajouter une réponse . La capture d’écran suivante montre un exemple mathématique. Cliquez sur Enregistrer.
{ "name": "math_response", "schema": { "type": "object", "properties": { "steps": { "type": "array", "items": { "type": "object", "properties": { "explanation": { "type": "string" }, "output": { "type": "string" } }, "required": [ "explanation", "output" ], "additionalProperties": false } }, "final_answer": { "type": "string" } }, "additionalProperties": false, "required": [ "steps", "final_answer" ] }, "strict": true }Sélectionnez Paramètres d’action. Puis, sélectionnez Enregistrer la sortie json_object/json_schema sous.
Sélectionnez Créer une variable. Choisissez un nom de variable, puis sélectionnez Terminé.
Utiliser des fonctionnalités supplémentaires
Affichage du visualiseur YAML : lorsque vous définissez le bouton bascule Affichage du visualiseur YAML sur Activé, le flux de travail est stocké dans un fichier YAML. Vous pouvez le modifier dans le visualiseur et la vue YAML. L’enregistrement crée une nouvelle version et vous avez accès à l’historique des versions.
Le visualiseur et le YAML sont modifiables. Toutes les modifications apportées au fichier YAML sont reflétées dans le visualiseur.
Contrôle de version : chaque fois que vous enregistrez votre flux de travail, une nouvelle version non modifiable est créée. Pour afficher l’historique des versions ou supprimer des versions antérieures, ouvrez la liste déroulante Version à gauche du bouton Enregistrer .
Remarques sur votre visualiseur de flux de travail : vous pouvez ajouter des notes sur le visualiseur de flux de travail pour ajouter davantage de contexte ou d’informations pour votre flux de travail. Dans le coin supérieur gauche du visualiseur de flux de travail, sélectionnez Ajouter une note.
Créer des expressions à l’aide de Power Fx
Power Fx est un langage low-code qui utilise des formules de type Excel. Utilisez Power Fx pour créer une logique complexe qui permet à vos agents de manipuler les données. Par exemple, une formule Power Fx peut définir la valeur d’une variable, analyser une chaîne ou utiliser une expression dans une condition. Pour en savoir plus, voir la Vue d’ensemble Power Fx et la référence sur les formules.
Utiliser des variables dans une formule
Pour utiliser une variable dans une formule Power Fx, vous devez ajouter un préfixe à son nom pour indiquer l‘étendue de la variable :
- Pour les variables système, utilisez
System. - Pour les variables locales, utilisez
Local.
Voici les variables système :
| Nom | Descriptif |
|---|---|
Activity |
Informations sur l’activité actuelle |
Bot |
Informations sur l’agent |
Conversation |
Informations sur la conversation actuelle |
Conversation.Id |
ID unique de la conversation actuelle |
Conversation.LocalTimeZone |
Fuseau horaire de l’utilisateur, au format de base de données de fuseau horaire IANA |
Conversation.LocalTimeZoneOffset |
Décalage par rapport à l'UTC pour le fuseau horaire local actuel |
Conversation.InTestMode |
Indicateur booléen qui représente si la conversation se produit sur un canevas de test |
ConversationId |
ID unique de la conversation actuelle |
InternalId |
Identificateur interne du système |
LastMessage |
Informations sur le message précédent envoyé par l’utilisateur |
LastMessage.Id |
ID du message précédent envoyé par l’utilisateur |
LastMessage.Text |
Message précédent envoyé par l’utilisateur |
LastMessageId |
ID du message précédent envoyé par l’utilisateur |
LastMessageText |
Message précédent envoyé par l’utilisateur |
Recognizer |
Informations sur la reconnaissance de l’intention et le message déclencheur |
User |
Informations sur l’utilisateur qui parle actuellement à l’agent |
User.Language |
Paramètres régionaux de langue utilisateur par conversation |
UserLanguage |
Paramètres régionaux de langue utilisateur par conversation |
Utiliser des valeurs littérales dans une formule
En plus d’utiliser des variables dans une formule Power Fx, vous pouvez saisir des valeurs littérales. Pour utiliser une valeur littérale dans une formule, vous devez saisir la valeur dans le format correspondant à son type :
Le tableau suivant répertorie les types de données et le format de leurs valeurs littérales correspondantes :
| Type | Exemples de format |
|---|---|
| Chaîne |
"hi", "hello world!""copilot" |
| Booléen | Uniquement true ou false |
| Number |
1, 532, 5.258, -9201 |
| Enregistrement et tableau |
[1], , [45, 8, 2], ["cats", "dogs"]{ id: 1 }, , { message: "hello" }{ name: "John", info: { age: 25, weight: 175 } } |
| Date et heure |
Time(5,0,23), Date(2022,5,24)DateTimeValue("May 10, 2022 5:00:00 PM") |
| Option | Non prise en charge |
| Vide | Uniquement Blank() |
Formules Power Fx courantes
Le tableau suivant répertorie les formules Power Fx que vous pouvez utiliser avec chaque type de données.
| Type | Formules Power Fx |
|---|---|
| Chaîne | [Text function][1][Concat and Concatenate functions][2][Len function][3][Lower, Upper, and Proper functions][4][IsMatch, Match, and MatchAll functions][5][EndsWith and StartsWith functions][6][Find function][7][Replace and Substitute function][8] |
| Booléen | [Boolean function][9][And, Or, and Not functions][10][If and Switch functions][11] |
| Number | [Decimal, Float, and Value functions][12][Int, Round, RoundDown, RoundUp, and Trunc functions][13] |
| Enregistrement et tableau | [Concat and Concatenate functions][14][Count, CountA, CountIf, and CountRows functions][15][ForAll function][16][First, FirstN, Index, Last, and LastN functions][17][Filter, Search, and LookUp functions][18][JSON function][19][ParseJSON function][20] |
| Date et heure | [Date, DateTime, and Time functions][21][DateValue, TimeValue, and DateTimeValue functions][22][Day, Month, Year, Hour, Minute, Second, and Weekday functions][23][Now, Today, IsToday, UTCNow, UTCToday, IsUTCToday functions][24][DateAdd, DateDiff, and TimeZoneOffset functions][25][Text function][26] |
| Vide | [Blank, Coalesce, IsBlank, and IsEmpty functions][27][Error, IfError, IsError, IsBlankOrError functions][28] |
Utiliser Power Fx pour définir une variable
Dans cet exemple, une expression Power Fx stocke et génère le nom du client en lettres majuscules :
Créez un flux de travail et ajoutez un nœud Poser une question .
Dans le volet qui s’affiche, dans la zone Poser une question , entrez Quel est votre nom ou un autre message. Dans la zone Enregistrer la réponse de l’utilisateur , entrez un nom de variable ; par exemple,
Var01. Puis sélectionnez Terminé.Ajoutez une action Envoyer un message . Dans le volet qui s’affiche, dans la zone d’envoi du message , entrez
{Upper(Local.Var01)}. Puis sélectionnez Terminé.Sélectionnez Aperçu.
Dans le volet d’aperçu, envoyez un message à l’agent pour appeler le flux de travail.
Utiliser Power Fx pour créer des flux if/else
Dans cet exemple, une expression Power Fx stocke et affiche le nom du client en lettres majuscules.
Créez un flux de travail et ajoutez un nœud Poser une question .
Sélectionnez l’icône + et ajoutez un flux if/else .
Tapez
System.dans la zone de texte Condition pour créer une instruction de condition pour chaque combinaison if/else.
Sélectionnez une action suivante pour l’étape souhaitée suivante dans le flux de travail.
Cliquez sur Terminé. Sélectionnez Enregistrer pour enregistrer votre flux de travail