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.
S’applique uniquement au :Portail Foundry (classique). Cet article n’est pas disponible pour le nouveau portail Foundry.
En savoir plus sur le nouveau portail.
Note
Les liens de cet article peuvent ouvrir du contenu dans la nouvelle documentation Microsoft Foundry au lieu de la documentation Foundry (classique) que vous affichez maintenant.
Avertissement
Le développement de fonctionnalités Prompt Flow a pris fin le 20 avril 2026. La fonctionnalité sera entièrement retirée le 20 avril 2027. À la date de mise hors service, "Prompt Flow" passe en mode lecture seule. Vos flux existants continueront à fonctionner jusqu’à cette date.
Action recommandée : Migrer vos charges de travail de flux d’invite vers Microsoft Agent Framework avant le 20 avril 2027.
Le flux d’invite est un outil de développement conçu pour simplifier l’ensemble du cycle de développement des applications IA optimisées par des modèles de langage volumineux (LLMs). Le flux d’invite fournit une solution complète qui simplifie le processus de prototypage, d’expérimentation, d’itération et de déploiement de vos applications IA.
Grâce au flux d’invite, vous pouvez :
- Orchestrez des flux exécutables avec des LLMs, des prompts et des outils Python via un graphique visualisé.
- Testez, déboguez et itérez vos flux facilement.
- Créez des variantes d’invite et comparez leurs performances.
Dans cet article, vous apprendrez à créer et développer votre premier flux d'invitation dans le portail Microsoft Foundry.
Conditions préalables
Important
Cet article fournit un support hérité pour les projets basés sur le hub. Elle ne fonctionnera pas pour les projets Foundry. Découvrez comment savoir quel type de projet j’ai ?
note de compatibilité SDK : les exemples de code nécessitent une version spécifique du SDK Foundry Microsoft. Si vous rencontrez des problèmes de compatibilité, envisagez de migrer d’un hub vers un projet Foundry.
- 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.
- Si vous n’en avez pas, créez un projet hub.
- Le flux d’invite nécessite une session de calcul. Si vous n’avez pas de runtime, vous pouvez en créer un dans le portail Foundry.
- Vous avez besoin d’un modèle déployé.
- Dans votre projet, configurez le contrôle d’accès pour le compte de stockage d’objets blob. Attribuez le rôle Contributeur aux données blob de stockage à votre compte d’utilisateur.
- En bas à gauche du portail Foundry, sélectionnez Centre de gestion.
- Dans Ressources connectées pour votre hub, sélectionnez le lien correspondant au type Stockage Blob Azure.
- Sélectionnez Afficher dans le portail Azure
- Dans le portail Azure, sélectionnez Access control (IAM).
- Sélectionnez Ajouter une>attribution de rôle.
- Recherchez Contributeur aux données Blob de stockage, puis sélectionnez-le.
- Utilisez la page Ajouter une attribution de rôle pour vous ajouter en tant que membre.
- Sélectionnez Vérifier + affecter pour passer en revue l’affectation.
- Sélectionnez Vérification + affectation pour assigner le rôle.
Créer et développer votre flow de prompts
Vous pouvez créer un flux en clonant les exemples disponibles dans la galerie ou en créant un flux à partir de zéro. Si vous disposez déjà de fichiers de flux dans un partage de fichiers local ou de fichiers, vous pouvez également importer les fichiers pour créer un flux.
Pour créer un flux de commande à partir de la galerie dans le Portail Foundry :
Conseil
Comme vous pouvez customiser le volet gauche dans le portail Microsoft Foundry, vous pouvez voir des éléments différents de ceux indiqués dans ces étapes. Si vous ne voyez pas ce que vous recherchez, sélectionnez ... Plus en bas du volet gauche.
Connectez-vous à Microsoft Foundry. Assurez-vous que l'interrupteur New Foundry est désactivé. Ces étapes font référence à Foundry (classique).
Sélectionnez votre projet.
Si vous êtes dans le Centre de gestion, sélectionnez Accéder au projet pour revenir à votre projet.
Dans le menu de gauche repliable, sélectionnez Flux d’invite.
Sélectionnez + Créer.
Dans la vignette Standard de flux, sélectionnez Créer.
Dans la page Créer un flux , entrez un nom de dossier, puis sélectionnez Créer.
La page de création de flux d’invite s’ouvre. Sélectionnez Démarrer la session de calcul pour qu’une session de calcul s’exécute pour le flux.
Vous pouvez commencer à créer votre flux maintenant. Par défaut, vous voyez un exemple de flux. Cet exemple de flux contient des nœuds pour les outils LLM et Python.
Note
Affichage graphique pour la visualisation uniquement. Il montre la structure de flux que vous développez. Vous ne pouvez pas modifier directement l’affichage graphique, mais vous pouvez effectuer un zoom avant, un zoom arrière et un défilement. Vous pouvez sélectionner un nœud dans l’affichage graphique pour mettre en surbrillance et accéder au nœud dans la vue d’édition de l’outil.
Si vous le souhaitez, vous pouvez ajouter d’autres outils au flux. Les options d’outil visibles sont LLM, Prompt et Python. Pour afficher d’autres outils, sélectionnez + Plus d’outils.
Sélectionnez une connexion et un déploiement dans l’éditeur d’outils LLM.
Dans la section Entrées , ajoutez une valeur pour la rubrique. Par exemple, « atomes ».
Sélectionnez Exécuter pour exécuter le flux.
L'état de l'exécution du flux s'affiche en tant qu'En cours d'exécution.
Une fois l’exécution du flux terminée, sélectionnez Afficher les sorties pour afficher les résultats du flux.
Vous pouvez afficher l’état et la sortie de l’exécution du flux dans la section Sorties .
Création du flux
Chaque flux est représenté par un dossier qui contient un fichier « flow.dag.yaml », des fichiers de code source et des dossiers système. Vous pouvez ajouter de nouveaux fichiers, modifier des fichiers existants et supprimer des fichiers. Vous pouvez également exporter les fichiers vers des fichiers locaux ou importer des fichiers à partir de local.
En plus de modifier en ligne le nœud dans l’affichage par défaut, vous pouvez également activer l'option Mode Fichier brut et sélectionner le nom de fichier pour modifier le fichier dans l’onglet de fichier ouvert.
Entrée et sortie de flux
Les entrées de flux sont les données transmises dans l'ensemble du flux. Définissez le schéma d’entrée en spécifiant le nom et le type. Définissez la valeur d’entrée de chaque entrée pour tester le flux. Vous pouvez référencer l’entrée de flux ultérieurement dans les nœuds de flux à l’aide de la syntaxe ${inputs.[input name]}.
La sortie de flux est les données produites par le flux dans son ensemble, qui résument les résultats de l’exécution du flux. Vous pouvez afficher et exporter la table de sortie une fois l’exécution du flux ou l’exécution par lot terminée. Définissez la valeur de sortie de flux en référençant la sortie de nœud unique de flux à l’aide de la syntaxe ${[node name].output} ou ${[node name].output.[field name]}.
Lier des nœuds ensemble
En référençant la sortie du nœud, vous pouvez lier des nœuds ensemble. Par exemple, vous pouvez référencer la sortie du nœud LLM dans l’entrée du nœud Python, de sorte que le nœud Python peut consommer la sortie du nœud LLM, et dans la vue graphique, vous pouvez voir que les deux nœuds sont liés ensemble.
Activer le contrôle conditionnel sur le flux
Prompt Flow offre non seulement un moyen simplifié d’exécuter le flux, mais il apporte également une fonctionnalité puissante pour les développeurs - contrôle conditionnel, qui permet aux utilisateurs de définir des conditions pour l’exécution d’un nœud dans un flux.
À son cœur, le contrôle conditionnel offre la possibilité d’associer chaque nœud dans un flux à une configuration d’activation. Cette configuration est essentiellement une instruction « when » qui détermine quand un nœud doit être exécuté. La puissance de cette fonctionnalité est réalisée lorsque vous avez des flux complexes où l’exécution de certaines tâches dépend du résultat des tâches précédentes. En utilisant le contrôle conditionnel, vous pouvez configurer vos nœuds spécifiques pour qu’ils s’exécutent uniquement lorsque les conditions spécifiées sont remplies.
Plus précisément, vous pouvez définir la configuration d’activation pour un nœud en sélectionnant le bouton Activer la configuration dans la carte de nœud. Vous pouvez ajouter l’instruction « when » et définir la condition.
Vous pouvez définir les conditions en référençant l’entrée de flux ou la sortie du nœud. Par exemple, vous pouvez définir la condition ${inputs.[input name]} comme valeur spécifique ou ${[node name].output} comme valeur spécifique.
Si la condition n’est pas remplie, le nœud est ignoré. L’état du nœud s’affiche sous la forme « Contourné ».
Tester le flux
Vous pouvez tester le flux de deux façons :
Exécutez un nœud unique :
- Pour exécuter un seul nœud, sélectionnez l’icône Exécuter sur un nœud dans la vue par défaut. Une fois l’exécution terminée, vous pouvez rapidement vérifier le résultat dans la section du nœud Sorties.
n
- Pour exécuter un seul nœud, sélectionnez l’icône Exécuter sur un nœud dans la vue par défaut. Une fois l’exécution terminée, vous pouvez rapidement vérifier le résultat dans la section du nœud Sorties.
n
Exécutez l’ensemble du flux :
- Pour exécuter l’ensemble du flux, sélectionnez le bouton Exécuter en haut à droite.
Afficher le résultat et la trace des tests (aperçu)
Le suivi est désactivé par défaut ; pour activer le suivi, vous devez définir la variable d’environnement PF_DISABLE_TRACING sur false. Pour ce faire, vous pouvez ajouter ce qui suit au nœud Python :
import os
os.environ["PF_DISABLE_TRACING"] = "false"
Pour l'intégralité du flux d'exécution, après l'avoir exécuté, vous pouvez voir l'état dans l'en-tête d'exécution. Pour afficher la trace pour vérifier le résultat et observer l’exécution du flux, vous pouvez sélectionner Afficher les sorties , puis sélectionner l’onglet trace . Vous pouvez voir l’entrée et la sortie de l’ensemble du flux et de chaque nœud, ainsi que des informations plus détaillées pour le débogage. Il est disponible pendant l'exécution et une fois le processus terminé.
Comprendre la vue de traçage
Sélectionnez l’onglet Trace de l’écran Sorties pour afficher un graphique qui fournit des informations sur la durée et le coût de jeton associé du flux. Sélectionnez le flux sous le nom du nœud pour afficher des informations détaillées sur la vue d’ensemble du flux dans le volet droit.
Note
Dans le Kit de développement logiciel (SDK) de flux d’invite, nous avons défini plusieurs types d’étendues, notamment LLM, Function, Embedding, Retrieval et Flow. Et le système crée automatiquement des portées avec des données d’exécution dans des attributs et des événements désignés.
Pour en savoir plus sur les types d’étendues, consultez l’étendue trace.
Développer un flux de conversation
Le flux de conversation est conçu pour le développement d’applications conversationnelles, en s’appuyant sur les fonctionnalités du flux standard et offrant une prise en charge améliorée des entrées/sorties de conversation et de la gestion de l’historique des conversations. Avec le flux de conversation, vous pouvez facilement créer un chatbot qui gère les entrées et sorties de conversation.
Dans la page de création de flux de conversation, le flux de conversation est étiqueté avec une étiquette « conversation » pour la distinguer du flux standard et du flux d’évaluation. Pour tester le flux de conversation, sélectionnez le bouton « Conversation » pour déclencher une boîte de conversation pour la conversation.
Entrée/sortie de conversation et historique de conversation
Les éléments les plus importants qui différencient un flux de conversation d’un flux standard sont l’entrée de conversation, l’historique des conversations et la sortie chat.
- Entrée de conversation : l’entrée de conversation fait référence aux messages ou requêtes envoyés par les utilisateurs au chatbot. La gestion efficace des entrées de conversation est essentielle pour une conversation réussie, car elle implique de comprendre les intentions des utilisateurs, d’extraire des informations pertinentes et de déclencher des réponses appropriées.
- Historique des conversations : l’historique des conversations est l’enregistrement de toutes les interactions entre l’utilisateur et le chatbot, y compris les entrées utilisateur et les sorties générées par l’IA. La maintenance de l’historique des conversations est essentielle pour assurer le suivi du contexte de conversation et garantir que l’IA peut générer des réponses contextuellement pertinentes.
- Sortie de chat : La sortie de chat fait référence aux messages générés par l’IA qui sont envoyés à l’utilisateur en réponse à leurs saisies. La génération de sorties de conversation contextuellement appropriées et attrayantes est essentielle pour une expérience utilisateur positive.
Un flux de conversation peut avoir plusieurs entrées, l’historique des conversations et les entrées de conversation sont nécessaires dans le flux de conversation.
Dans la section entrées de flux de chat, une entrée de flux peut être marquée comme entrée de chat. Vous pouvez ensuite remplir la valeur d’entrée de conversation en tapant dans la zone de conversation.
Le flux d’invite peut aider l’utilisateur à gérer l’historique des conversations. La
chat_historysection Entrées est réservée pour représenter l’historique des conversations. Toutes les interactions dans la boîte de conversation, y compris les entrées de conversation utilisateur, les sorties de conversation générées et d’autres entrées et sorties de flux, sont automatiquement stockées dans l’historique des conversations. L'utilisateur ne peut pas définir manuellement la valeur dechat_historydans la section Entrées. Il est structuré en tant que liste d’entrées et de sorties :[ { "inputs": { "<flow input 1>": "xxxxxxxxxxxxxxx", "<flow input 2>": "xxxxxxxxxxxxxxx", "<flow input N>""xxxxxxxxxxxxxxx" }, "outputs": { "<flow output 1>": "xxxxxxxxxxxx", "<flow output 2>": "xxxxxxxxxxxxx", "<flow output M>": "xxxxxxxxxxxxx" } }, { "inputs": { "<flow input 1>": "xxxxxxxxxxxxxxx", "<flow input 2>": "xxxxxxxxxxxxxxx", "<flow input N>""xxxxxxxxxxxxxxx" }, "outputs": { "<flow output 1>": "xxxxxxxxxxxx", "<flow output 2>": "xxxxxxxxxxxxx", "<flow output M>": "xxxxxxxxxxxxx" } } ]
Note
La possibilité d’enregistrer ou de gérer automatiquement l’historique des conversations est une fonctionnalité de la page de création lors de l’exécution de tests dans la zone de conversation. Pour les exécutions par lots, il est nécessaire aux utilisateurs d’inclure l’historique des conversations dans le jeu de données d’exécution par lots. S’il n’existe aucun historique de conversation disponible pour les tests, définissez la chat_history sur une liste [] vide dans le jeu de données d’exécution par lots.
Invite d'auteur avec l'historique des conversations
L’incorporation de l’historique des conversations dans vos invites est essentielle pour créer des réponses de chatbot prenant en charge le contexte et attrayantes. Dans vos invites, vous pouvez référencer chat_history pour récupérer les interactions passées. Cela vous permet de référencer les entrées et sorties précédentes pour créer des réponses contextuellement pertinentes.
Utilisez la grammaire for-loop de la langue Jinja pour afficher une liste d’entrées et de sorties à partir de chat_history.
{% for item in chat_history %}
user:
{{item.inputs.question}}
assistant:
{{item.outputs.answer}}
{% endfor %}
Tester avec la boîte de conversation
La boîte de conversation offre un moyen interactif de tester votre flux de conversation en simulant une conversation avec votre chatbot. Pour tester votre flux de conversation à l’aide de la boîte de conversation, procédez comme suit :
- Sélectionnez le bouton « Conversation » pour ouvrir la zone de conversation.
- Tapez vos entrées de test dans la zone de conversation et appuyez sur Entrée pour les envoyer au chatbot.
- Passez en revue les réponses du chatbot pour vous assurer qu’elles sont appropriées et précises dans le contexte.
- Affichez la trace en place pour observer et déboguer rapidement.