Partager via


Créer un flux de travail dans Microsoft Foundry

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

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 :

  1. Connectez-vous à Microsoft Foundry. Assurez-vous que l'interrupteur New Foundry est activé. Ces étapes font référence à Foundry (nouveau).

  2. Dans le menu supérieur droit, sélectionnez Générer.

  3. Sélectionnez Créer un flux de travail>séquentiel.

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

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

  6. Cliquez sur Exécuter le flux de travail.

  7. Interagissez avec le flux de travail dans la fenêtre de conversation.

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

  1. Dans le visualiseur de flux de travail, sélectionnez le signe plus.

  2. Dans la liste déroulante contextuelle, sélectionnez Appeler l’agent.

  3. Dans la fenêtre Créer un agent , sélectionnez existant.

  4. Entrez le nom de l’agent pour rechercher des agents existants dans votre projet Foundry.

  5. Sélectionnez l’agent souhaité pour l’ajouter à votre flux de travail.

Créer un agent

  1. Dans le visualiseur de flux de travail, sélectionnez le signe plus.

  2. Dans la liste déroulante contextuelle, sélectionnez Appeler l’agent.

  3. Entrez un nom d’agent et une description de ce que fait l’agent.

  4. Sélectionnez Ajouter.

  5. Dans la fenêtre Appeler un agent , configurez l’agent.

  6. Cliquez sur Enregistrer.

Configurer un format de réponse de sortie pour appeler un agent

  1. Créez un nœud Agent d'invocation.

  2. Dans la fenêtre de configuration de l’agent Invoke , sélectionnez Créer un agent.

  3. Configurez l’agent pour envoyer la sortie en tant que schéma JSON :

    1. Sélectionnez Details (Détails).
    2. Sélectionnez l’icône de paramètre.
    3. Pour le format Texte, sélectionnez Schéma JSON.

    Capture d’écran montrant la fenêtre de configuration d’un format de schéma JSON pour la sortie.

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

    Capture d’écran montrant l’ajout d’un format de réponse au format JSON.

    {
      "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
    }
    
  5. Sélectionnez Paramètres d’action. Puis, sélectionnez Enregistrer la sortie json_object/json_schema sous.

  6. Sélectionnez Créer une variable. Choisissez un nom de variable, puis sélectionnez Terminé.

    Capture d’écran montrant les options de création d’une variable dans un flux de travail Microsoft Foundry.

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 :

  1. Créez un flux de travail et ajoutez un nœud Poser une question .

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

    Capture d’écran montrant la configuration d’une question pour l’envoi d’un message.

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

    Capture d’écran montrant l’instanciation de la variable pour l’action d’envoi d’un message.

  4. Sélectionnez Aperçu.

  5. Dans le volet d’aperçu, envoyez un message à l’agent pour appeler le flux de travail.

    Capture d’écran montrant l’aperçu d’une question pour l’action d’envoi d’un message.

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.

  1. Créez un flux de travail et ajoutez un nœud Poser une question .

  2. Sélectionnez l’icône + et ajoutez un flux if/else .

  3. Tapez System. dans la zone de texte Condition pour créer une instruction de condition pour chaque combinaison if/else. Capture d’écran montrant les variables système dans la zone de texte de condition if-else.

  4. Sélectionnez une action suivante pour l’étape souhaitée suivante dans le flux de travail.

  5. Cliquez sur Terminé. Sélectionnez Enregistrer pour enregistrer votre flux de travail