Skapa värdbaserade agentarbetsflöden i Visual Studio Code (förhandsversion)

Skapa, testa och distribuera arbetsflöden för hosted Foundry Agent med hjälp av Foundry Toolkit för Visual Studio Code. Verktygslådan har stöd för agentskapande från mallar, lokal testning och felsökning med agentkontroll för visualisering och spårningsstöd samt direkt distribution till Foundry Agent Service från VS Code. Med värdbaserade arbetsflöden kan flera agenter samarbeta i följd, var och en med sin egen modell, sina verktyg och instruktioner.

Innan du börjar skapar du en agent i Foundry Agent Service med hjälp av tillägget. Du kan sedan lägga till värdbaserade arbetsflöden i agenten.

Den här artikeln beskriver hur du skapar ett arbetsflödesprojekt, kör det lokalt, visualiserar körningen och distribuerar det till din Foundry-arbetsyta.

Förutsättningar

  • Ett Foundry-projekt med en distribuerad modell eller en Azure OpenAI-resurs.
  • Foundry Toolkit för Visual Studio Code har installerats.
  • Projektets hanterade identitet med de tilldelade rollerna Azure AI User och AcrPull. Tilldela acrPull även rollen till den hanterade identiteten för Foundry-projektet där du planerar att distribuera den värdbaserade agenten.
  • En region som stöds för värdbaserade agenter.
  • Python 3,12 eller senare.

Skapa ett arbetsflöde för värdbaserad agent

Du kan använda Foundry Toolkit för Visual Studio Code för att skapa värdbaserade agentarbetsflöden. Ett arbetsflöde för värdbaserad agent är en sekvens med agenter som arbetar tillsammans för att utföra en uppgift. Varje agent i arbetsflödet kan ha sin egen modell, sina verktyg och instruktioner.

  1. Öppna kommandopaletten (Ctrl+Skift+P).

  2. Kör det här kommandot: >Microsoft Foundry: Create a New Hosted Agent.

  3. Välj ett ramverk, antingen Microsoft Agent Framework eller LangGraph.

  4. Välj en mall, antingen Hotellassistent för enskild agent eller Writer-Reviewer agentarbetsflöde (flera agenter).

  5. Välj ett programmeringsspråk.

  6. Välj en modell, antingen en som du redan har distribuerat i projektet eller bläddra i modellkatalogen.

  7. Välj en mapp där du vill spara det nya arbetsflödet.

Filerna för ditt värdbaserade agentprojekt genereras i den valda mappen baserat på ramverket, mallen och språket som du valde för att komma igång. Du kan ta bort eller ändra koden efter behov.

Installera beroenden

Installera nödvändiga beroenden för ditt värdbaserade agentprojekt. Beroendena varierar beroende på vilket programmeringsspråk du valde när du skapade projektet.

  1. Skapa en virtuell miljö.

     python -m venv .venv
    
  2. Aktivera den virtuella miljön.

    # PowerShell
    ./.venv/Scripts/Activate.ps1
    
    # Windows cmd
    .venv\Scripts\activate.bat
    
    # Unix/MacOS
    source .venv/bin/activate
    
  3. Installera följande paket:

    pip install azure-ai-agentserver-agentframework
    
  1. Gå till projektkatalogen och kör det här kommandot för att hämta nödvändiga NuGet-paket:

    dotnet restore
    

Kör ditt värdbaserade arbetsflöde lokalt

Exempelarbetsflödesprojektet skapar en .env-fil med nödvändiga miljövariabler. Skapa eller uppdatera .env-filen med dina Foundry-autentiseringsuppgifter:

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

MODEL_DEPLOYMENT_NAME=<your-model-deployment-name>

Viktigt

Kommitta aldrig .env filen till versionskontroll. Lägg till den i .gitignore filen.

Autentisera din värdbaserade agent

Det värdbaserade agentexemplet autentiserar med defaultAzureCredential. Konfigurera utvecklingsmiljön för att ange autentiseringsuppgifter via en av de källor som stöds, till exempel:

  • Azure CLI (az login)
  • Visual Studio Code kontoinloggning
  • Visual Studio kontoinloggning
  • Miljövariabler för tjänstens huvudnamn (AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET)

Bekräfta autentiseringen lokalt genom att köra kommandona Azure CLI az account show eller az account get-access-token innan du kör exemplet.

Du kan köra den värdbaserade agenten i interaktivt läge eller containerläge.

Kör din värdagent i Agentinspektören

Om du vill köra din värdbaserade agent lokalt i Visual Studio Code väljer du nyckeln F5. Detta öppnar Agent Inspector och kör din applikation.

Detta kommer att:

  1. Starta agentservern:agentdev CLI omsluter din agent som en HTTP-server på port 8087, med felsökning kopplad till port 5679.
  2. Identifiera agenter: Användargränssnittet hämtar tillgängliga agenter/arbetsflöden från /agentdev/entities.
  3. Stream-körning: Chattindata går till /v1/responses, som strömmar tillbaka händelser via SSE för visualisering i realtid.
  4. Aktivera kodnavigering: Dubbelklicka på arbetsflödesnoder för att öppna motsvarande källfil i redigeraren.
  5. Aktivera chatt med den lokala agenten och visa svar, träffa brytpunkter för felsökning och så vidare.

Exempelarbetsflödesprojektet skapar en .env-fil med nödvändiga miljövariabler. Skapa eller uppdatera .env-filen med dina Foundry-autentiseringsuppgifter:

  1. Konfigurera miljövariabler baserat på ditt operativsystem:

    $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"
    

Autentisera din värdbaserade agent

Det värdbaserade agentexemplet autentiserar med defaultAzureCredential. Konfigurera utvecklingsmiljön för att ange autentiseringsuppgifter via en av de källor som stöds, till exempel:

  • Azure CLI (az login)
  • Visual Studio Code kontoinloggning
  • Visual Studio kontoinloggning
  • Miljövariabler för tjänstens huvudnamn (AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET)

Bekräfta autentiseringen lokalt genom att köra kommandona Azure CLI az account show eller az account get-access-token innan du kör exemplet.

Du kan köra den värdbaserade agenten i interaktivt läge eller containerläge.

Kör din värdbaserade agent i interaktivt läge

Kör den värdbaserade agenten direkt för utveckling och testning:

dotnet restore
dotnet build
dotnet run

Kör din värdbaserade agent i containerläge

Tips

Öppna den lokala lekplatsen innan du startar containeragenten för att säkerställa att visualiseringen fungerar korrekt.

Så här kör du agenten i containerläge:

  1. Öppna kommandopaletten Visual Studio Code och kör kommandot Microsoft Foundry: Open Container Agent Playground Locally.
  2. Använd följande kommando för att initiera den containerbaserade värdbaserade agenten.
    dotnet restore
    dotnet build
    dotnet run
    
  3. Skicka en begäran till agenten via playground-gränssnittet. Ange till exempel en uppmaning som: "Skapa en slogan för en ny elektrisk SUV som är prisvärd och rolig att köra."
  4. Granska agentens svar i playground-gränssnittet.

Visualisera körning av värdbaserade agentarbetsflöden

Foundry Toolkit för Visual Studio Code innehåller ett realtidskörningsdiagram som visar hur agenter i arbetsflödet interagerar och samarbetar. Aktivera observerbarhet i projektet för att använda den här visualiseringen.

Lägg till följande referens till csproj-filen:

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

Uppdatera programmet så att det innehåller följande kodfragment:

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();

Övervaka och visualisera ditt värdbaserade agentarbetsflöde

Så här övervakar och visualiserar du körningen av värdbaserade agentarbetsflöden i realtid:

  1. Öppna kommandopaletten (Ctrl+Skift+P).

  2. Kör det här kommandot: >Microsoft Foundry: Open Visualizer for Hosted Agents.

En ny flik öppnas i VS Code för att visa körningsdiagrammet. Visualiseringen uppdateras automatiskt när arbetsflödet fortskrider för att visa flödet mellan agenter och deras interaktioner.

Portkonflikter

För portkonflikter kan du ändra visualiseringsporten genom att ange den i inställningarna för Foundry-tillägget. Gör det genom att följa dessa steg:

  1. I det vänstra sidofältet i VS Code väljer du kugghjulsikonen för att öppna inställningsmenyn.
  2. Välj Extensions>Microsoft Foundry Configuration.
  3. Leta upp inställningen Hosted Agent Visualization Port och ändra den till ett tillgängligt portnummer.
  4. Starta om VS Code för att tillämpa ändringarna.

Ändra port i kod

För eventuella portkonflikter ändrar du visualiseringsporten genom att FOUNDRY_OTLP_PORT ange miljövariabeln. Uppdatera OTLP-slutpunkten i programmet i enlighet med detta.

Om du till exempel vill ändra porten till 4318 använder du det här kommandot:

  $env:FOUNDRY_OTLP_PORT="4318"

I programmet uppdaterar du OTLP-slutpunkten så att den använder det nya portnumret:

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

Distribuera den värdbaserade agenten

När du har testat din värdbaserade agent lokalt distribuerar du den till din Foundry-arbetsyta så att andra teammedlemmar och program kan använda den.

Viktigt

Se till att du ger de behörigheter som krävs för att distribuera värdbaserade agenter på din Foundry-arbetsyta enligt kraven. Du kan behöva arbeta med din Azure administratör för att få de rolltilldelningar som krävs.

  1. Öppna kommandopaletten Visual Studio Code och kör kommandot Microsoft Foundry: Deploy Hosted Agent.
  2. Konfigurera distributionsinställningarna genom att välja målarbetsytan, ange containeragentfilen (container.py) och definiera andra distributionsparametrar efter behov.
  3. När distributionen är klar visas värdagenten i avsnittet Hosted Agents (Preview) i Microsoft Foundry-tilläggets trädvy.
  4. Välj den distribuerade agenten för att få åtkomst till detaljerad information och testfunktioner med hjälp av det integrerade playground-gränssnittet.
  1. Öppna kommandopaletten Visual Studio Code och kör kommandot Microsoft Foundry: Deploy Hosted Agent.
  2. Konfigurera distributionsinställningarna genom att välja målarbetsytan, ange containeragentfilen (<your-project-name>.csproj) och definiera andra distributionsparametrar efter behov.
  3. När distributionen är klar visas värdagenten i avsnittet Hosted Agents (Preview) i Microsoft Foundry-tilläggets trädvy.
  4. Välj den distribuerade agenten för att få åtkomst till detaljerad information och testfunktioner med hjälp av det integrerade playground-gränssnittet.