Créer des flux de travail d’agent hébergés dans l’extension Microsoft Foundry Toolkit pour Visual Studio Code

Créez, testez et déployez des flux de travail Foundry Agent hébergés à l’aide de l’extension Microsoft Foundry Toolkit pour Visual Studio Code. La boîte à outils prend en charge la création d'agents à partir de modèles, les tests locaux et le débogage avec l'Inspecteur d'Agent pour la visualisation et le support des traces, ainsi que le déploiement direct au Service Foundry Agent depuis VS Code. Les flux de travail hébergés permettent à plusieurs agents de collaborer en séquence, chacun avec son propre modèle, ses outils et ses instructions.

Avant de commencer, générez un agent dans Foundry Agent Service à l’aide de l’extension. Vous pouvez ensuite ajouter des flux de travail hébergés à cet agent.

Cet article décrit la création d’un projet de flux de travail, son exécution localement, la visualisation de l’exécution et son déploiement sur votre espace de travail Foundry.

Conditions préalables

  • Un projet Foundry avec un modèle déployé ou une ressource OpenAI Azure.

  • L’extension Microsoft Foundry Toolkit pour Visual Studio Code installée.

  • Identité managée du projet avec les rôles Foundry User et AcrPull attribués. Attribuez également le acrPull rôle à l’identité managée du projet Foundry où vous prévoyez de déployer l’agent hébergé.

    Important

    Les rôles Foundry RBAC ont été récemment renommés. Foundry User, Foundry Owner, Propriétaire du compteFoundry et Foundry Project Manager ont été précédemment nommés Azure utilisateur IA, Azure propriétaire d’IA, propriétaire Azure compte IA et Azure gestionnaire Project IA. Il se peut que vous voyiez encore les anciens noms à certains endroits pendant le déploiement de ce changement de nom. Les ID de rôle et les autorisations de base ne sont pas modifiés par ce changement de nom.

  • Région prise en charge pour les agents hébergés.

  • Python 3,13 ou version ultérieure.

Créer un flux de travail d’agent hébergé

Vous pouvez utiliser le Microsoft Foundry Toolkit pour Visual Studio Code extension pour créer des flux de travail d’agent hébergés. Un workflow d’agent hébergé est une séquence d’agents qui fonctionnent ensemble pour accomplir une tâche. Chaque agent du flux de travail peut avoir son propre modèle, outils et instructions.

  1. Ouvrez la palette de commandes (Ctrl+Maj+P).

  2. Exécutez cette commande : >Foundry Toolkit: Create a New Hosted Agent.

  3. Sélectionner un langage de programmation

  4. Choisissez une infrastructure, soit Copilot SDK, Microsoft Agent Framework, soit Apportez votre propre infrastructure.

  5. Choisissez un protocole, l’API Réponses ou l’API Appels.

  6. Choisissez un modèle dans la liste.

  7. Sélectionnez le bouton « Suivant ».

  8. Sélectionnez un dossier dans lequel vous souhaitez enregistrer votre nouvel agent hébergé.

  9. Lors de la configuration de l’environnement, si vous sélectionnez « Ignorer pour le moment », vous passerez la configuration du projet Foundry et du modèle, ce qui vous obligera à les configurer manuellement dans le code par la suite. La sélection de « Configurer avec Microsoft Foundry » remplit automatiquement vos informations de project et de modèle avec le Project Foundry existant.

Les fichiers de votre projet d’agent hébergé sont générés dans votre dossier sélectionné en fonction de l’infrastructure, du modèle et du langage que vous avez sélectionnés pour commencer. Vous pouvez supprimer ou modifier ce code en fonction des besoins.

Installer les dépendances

Installez les dépendances requises pour votre projet d’agent hébergé. Les dépendances varient en fonction du langage de programmation que vous avez sélectionné lors de la création du projet.

  1. Créez un environnement virtuel.

     python -m venv .venv
    
  2. Activez l’environnement virtuel.

    # PowerShell
    ./.venv/Scripts/Activate.ps1
    
    # Windows cmd
    .venv\Scripts\activate.bat
    
    # Unix/MacOS
    source .venv/bin/activate
    
  3. Installez les packages nécessaires :

    pip install -r requirements.txt
    
  1. Accédez au répertoire de votre projet et exécutez cette commande pour obtenir les packages NuGet nécessaires :

    dotnet restore
    

Exécuter votre flux de travail hébergé localement

L’exemple de projet de flux de travail crée un fichier .env avec les variables d’environnement nécessaires. Créez ou mettez à jour le fichier .env avec vos informations d’identification Foundry :

FOUNDRY_PROJECT_ENDPOINT=https://<your-resource-name>.services.ai.azure.com/api/projects/<your-project-name>

AZURE_AI_MODEL_DEPLOYMENT_NAME=<your-model-deployment-name>

Important

Ne validez jamais le fichier .env dans le contrôle de version. Ajoutez-le à votre .gitignore fichier.

Authentifier votre agent hébergé

L’exemple d’agent hébergé s’authentifie à l’aide de DefaultAzureCredential. Configurez votre environnement de développement pour fournir des informations d’identification via l’une des sources prises en charge, par exemple :

  • Azure CLI (az login)
  • connexion au compte Visual Studio Code
  • connexion au compte Visual Studio
  • Variables d’environnement pour un principal de service (AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET)

Confirmez l’authentification localement en exécutant les commandes Azure CLI az account show ou az account get-access-token avant d’exécuter l’exemple.

Vous pouvez exécuter l’agent hébergé en mode interactif ou en mode conteneur.

Exécutez votre agent hébergé dans Agent Inspector

Appuyez sur F5 pour démarrer le serveur HTTP local avec le débogage activé. Foundry Toolkit Agent Inspector s’ouvre pour effectuer des tests interactifs, et vous pouvez définir des points d’arrêt dans votre code.

Pour exécuter le serveur sans débogage :

python main.py

L’assistant écoute sur http://localhost:8088/. Envoyez une invite de test avec curl (ou un client HTTP) :

curl -sS -H "Content-Type: application/json" -X POST http://localhost:8088/responses \
    -d '{"input": "Write a haiku about deploying cloud applications.", "stream": false}'

L’exemple de projet de flux de travail crée un fichier .env avec les variables d’environnement nécessaires. Créez ou mettez à jour le fichier .env avec vos informations d’identification Foundry :

  1. Configurez vos variables d’environnement en fonction de votre système d’exploitation :

    $env:FOUNDRY_PROJECT_ENDPOINT="https://<your-resource-name>.services.ai.azure.com/api/projects/<your-project-name>"
    $env:AZURE_AI_MODEL_DEPLOYMENT_NAME="your-deployment-name"
    

Authentifier votre agent hébergé

L’exemple d’agent hébergé s’authentifie à l’aide de DefaultAzureCredential. Configurez votre environnement de développement pour fournir des informations d’identification via l’une des sources prises en charge, par exemple :

  • Azure CLI (az login)
  • connexion au compte Visual Studio Code
  • connexion au compte Visual Studio
  • Variables d’environnement pour un principal de service (AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET)

Confirmez l’authentification localement en exécutant les commandes Azure CLI az account show ou az account get-access-token avant d’exécuter l’exemple.

Vous pouvez exécuter l’agent hébergé en mode interactif ou en mode conteneur.

Exécuter votre agent hébergé en mode interactif

Exécutez l’agent hébergé directement pour le développement et le test :

dotnet restore
dotnet build
dotnet run

Exécuter votre agent hébergé en mode conteneur

Conseil

Ouvrez le terrain de jeu local avant de démarrer l’agent conteneur pour garantir que les fonctions de visualisation fonctionnent correctement.

Pour exécuter l’agent en mode conteneur :

  1. Ouvrez la palette de commandes Visual Studio Code et exécutez la commande Foundry Toolkit: Open Container Agent Playground Locally.
  2. Utilisez la commande suivante pour initialiser l’agent hébergé conteneurisé.
    dotnet restore
    dotnet build
    dotnet run
    
  3. Envoyez une demande à l’agent via l’interface de terrain de jeu. Par exemple, saisissez une phrase telle que : « Créez un slogan pour un nouveau SUV électrique, abordable et agréable à conduire ».
  4. Passez en revue la réponse de l’agent dans l’interface de terrain de jeu.

Visualiser l’exécution du flux de travail de l’agent hébergé

L’extension Microsoft Foundry Toolkit pour Visual Studio Code fournit un graphique d’exécution en temps réel qui montre comment les agents de votre flux de travail interagissent et collaborent. Activez l’observabilité dans votre projet pour utiliser cette visualisation.

Ajoutez la référence suivante à votre fichier csproj :

<ItemGroup>
    <PackageReference Include="OpenTelemetry" Version="1.12.0" />
    <PackageReference Include="OpenTelemetry.Exporter.Console" Version="1.12.0" />
    <PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.12.0" />
    <PackageReference Include="System.Diagnostics.DiagnosticSource" Version="9.0.10" />
</ItemGroup>

Mettez à jour votre programme pour inclure l’extrait de code suivant :

using System.Diagnostics;
using OpenTelemetry;
using OpenTelemetry.Logs;
using OpenTelemetry.Metrics;
using OpenTelemetry.Resources;
using OpenTelemetry.Trace;

var otlpEndpoint =
    Environment.GetEnvironmentVariable("OTLP_ENDPOINT") ?? "http://localhost:4319";

var resourceBuilder = OpenTelemetry
    .Resources.ResourceBuilder.CreateDefault()
    .AddService("WorkflowSample");

var s_tracerProvider = OpenTelemetry
    .Sdk.CreateTracerProviderBuilder()
    .SetResourceBuilder(resourceBuilder)
    .AddSource("Microsoft.Agents.AI.*") // All agent framework sources
    .SetSampler(new AlwaysOnSampler()) // Ensure all traces are sampled
    .AddOtlpExporter(options =>
    {
        options.Endpoint = new Uri(otlpEndpoint);
        options.Protocol = OpenTelemetry.Exporter.OtlpExportProtocol.Grpc;
    })
    .Build();

Surveiller et visualiser votre workflow d’agent hébergé

Pour surveiller et visualiser l’exécution de votre workflow d’agent hébergé en temps réel :

  1. Ouvrez la palette de commandes (Ctrl+Maj+P).

  2. Exécutez cette commande : >Foundry Toolkit: Open Visualizer for Hosted Agents.

Un nouvel onglet s’ouvre dans VS Code pour afficher le graphique d’exécution. La visualisation se met à jour automatiquement à mesure que votre flux de travail progresse pour afficher le flux entre les agents et leurs interactions.

Conflits de ports

Pour les conflits de ports, vous pouvez modifier le port de visualisation en le définissant dans le Microsoft Foundry Toolkit pour Visual Studio Code paramètres d’extension. Pour ce faire, procédez comme suit :

  1. Dans la barre latérale gauche de VS Code, sélectionnez l’icône d’engrenage pour ouvrir le menu paramètres.
  2. Sélectionnez Extensions>Microsoft Foundry Configuration.
  3. Recherchez le paramètre et remplacez-le Hosted Agent Visualization Port par un numéro de port disponible.
  4. Redémarrez VS Code pour appliquer les modifications.

Modifier le port dans le code

Pour tout conflit de ports, modifiez le port de visualisation en définissant la variable d’environnement FOUNDRY_OTLP_PORT . Mettez à jour le point de terminaison OTLP dans votre programme en conséquence.

Par exemple, pour remplacer le port par 4318, utilisez cette commande :

  $env:FOUNDRY_OTLP_PORT="4318"

Dans votre programme, mettez à jour le point de terminaison OTLP pour utiliser le nouveau numéro de port :

var otlpEndpoint =
    Environment.GetEnvironmentVariable("OTLP_ENDPOINT") ?? "http://localhost:4318";

Déployer l’agent hébergé

Après avoir testé votre agent hébergé localement, déployez-le sur votre espace de travail Foundry afin que d’autres membres et applications de l’équipe puissent l’utiliser.

Important

Veillez à accorder les autorisations nécessaires pour déployer des agents hébergés dans votre espace de travail Foundry, comme indiqué dans les conditions préalables. Vous devrez peut-être travailler avec votre administrateur Azure pour obtenir les attributions de rôles requises.

  1. Ouvrez la palette de commandes et sélectionnez Foundry Toolkit : Déployer l’agent hébergé. Une vue web de déploiement s’ouvre.
  2. Pour « Méthode de déploiement », sélectionnez Code ou Conteneur.
  3. Si vous effectuez un déploiement avec « Code », pour « Mode package », sélectionnez Remote ou Local.
  4. Si vous effectuez un déploiement avec « Conteneur », sélectionnez ACR par défaut, ACR personnalisé ou Image ACR client.
  5. Le « nom de l’agent » doit être renseigné automatiquement.
  6. Sélectionnez le bouton « Suivant ».
  7. Cette page « Vérifier et déployer » doit être renseignée automatiquement.
  8. Sélectionnez le bouton « Déployer ».
  9. Ouvrez la palette de commandes Visual Studio Code et exécutez la commande Foundry Toolkit: Deploy Hosted Agent.
  1. Ouvrez la palette de commandes Visual Studio Code et exécutez la commande Foundry Toolkit: Deploy Hosted Agent.
  2. Pour « Méthode de déploiement », sélectionnez Code ou Conteneur.
  3. Si vous effectuez un déploiement avec « Code », pour « Mode package », sélectionnez Remote ou Local.
  4. Si vous effectuez un déploiement avec « Conteneur », sélectionnez ACR par défaut, ACR personnalisé ou Image ACR client.
  5. Le « nom de l’agent » doit être renseigné automatiquement.
  6. Sélectionnez le bouton « Suivant ».
  7. Cette page « Vérifier et déployer » doit être renseignée automatiquement.
  8. Sélectionnez le bouton « Déployer ».