Partager via


Créer des flux de travail d’agent hébergés dans Visual Studio Code (préversion)

Créez, testez et déployez workflows de l'Agent Foundry hébergé à l'aide de l'extension Microsoft Foundry pour Visual Studio 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, construire un agent dans le service d'Agent Foundry à 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 flux de travail project, son exécution locale, la visualisation de l’exécution et son déploiement sur votre espace de travail Foundry.

Prerequisites

  • Python 3,12 ou version ultérieure.

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

Vous pouvez utiliser Foundry 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 : >Microsoft Foundry: Create a New Hosted Agent.

  3. Choisissez une infrastructure, Microsoft Framework agent ou LangGraph.

  4. Choisissez un modèle, soit l’Assistant d'Hôtel à agent unique, soit le flux de travail de l’agent Rédacteur-Testeur (multi-agent).

  5. Sélectionnez un langage de programmation.

  6. Choisissez un modèle, que vous avez déjà déployé dans votre projet ou parcourez le catalogue de modèles.

  7. Sélectionnez un dossier dans lequel vous souhaitez enregistrer votre nouveau flux de travail.

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 des 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é lorsque vous avez créé le project.

  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 le package suivant :

    pip install azure-ai-agentserver-agentframework
    
  1. Accédez à votre répertoire project 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 flux de travail project 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 :

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

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

Pour exécuter votre agent hébergé localement dans Visual Studio Code, sélectionnez la clé F5. Cela ouvre Agent Inspector et exécute votre application.

Cela va :

  1. Démarrez le serveur d’agent : L’interface agentdev CLI package votre agent en tant que serveur HTTP sur le port 8087, avec debugpy attaché à port 5679.
  2. Découvrir les agents : L’interface utilisateur extrait les agents/workflows disponibles à partir de /agentdev/entities.
  3. Exécution de flux en continu : Les entrées de conversation sont envoyées vers /v1/responses, qui diffuse des événements via SSE pour la visualisation en temps réel.
  4. Activez la navigation dans le code : Double-cliquez sur les nœuds de flux de travail pour ouvrir le fichier source correspondant dans l’éditeur.
  5. Activez la conversation avec l’agent local et affichez les réponses, appuyez sur des points d’arrêt pour le débogage, et ainsi de suite.

L’exemple de flux de travail project 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:AZURE_AI_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 / Astuce

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 Microsoft Foundry: 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, entrez une invite telle que : « Créez un slogan pour un nouveau SUV électrique abordable et amusant à 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 Foundry pour Visual Studio Code fournit un graphique d’exécution en temps réel qui montre comment les agents de votre workflow interagissent et collaborent. Activez l’observabilité dans votre project 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 du flux de travail de votre agent hébergé en temps réel :

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

  2. Exécutez cette commande : >Microsoft Foundry: 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 les paramètres d’extension Foundry. To do cela, 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 Visual Studio Code et exécutez la commande Microsoft Foundry: Deploy Hosted Agent.
  2. Configurez les paramètres de déploiement en sélectionnant votre espace de travail cible, en spécifiant le fichier de l’agent de conteneur (container.py) et en définissant d’autres paramètres de déploiement si nécessaire.
  3. Une fois le déploiement réussi, l’agent hébergé apparaît dans la section Hosted Agents (Preview) de l’arborescence de l’extension Microsoft Foundry.
  4. Sélectionnez l’agent déployé pour accéder à des informations détaillées et tester des fonctionnalités à l’aide de l’interface de test intégrée.
  1. Ouvrez la palette de commandes Visual Studio Code et exécutez la commande Microsoft Foundry: Deploy Hosted Agent.
  2. Configurez les paramètres de déploiement en sélectionnant votre espace de travail cible, en spécifiant le fichier de l’agent de conteneur (<your-project-name>.csproj) et en définissant d’autres paramètres de déploiement si nécessaire.
  3. Une fois le déploiement réussi, l’agent hébergé apparaît dans la section Hosted Agents (Preview) de l’arborescence de l’extension Microsoft Foundry.
  4. Sélectionnez l’agent déployé pour accéder à des informations détaillées et tester des fonctionnalités à l’aide de l’interface de test intégrée.