Dela via


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

Skapa, testa och distribuera värdbaserade Foundry Agent-arbetsflöden med hjälp av tillägget Microsoft Foundry for Visual Studio 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

  • Python 3.10 eller senare.

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

Du kan använda foundry for Visual Studio Code-tillägget 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 programmeringsspråk.

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

  5. Ange ett namn för arbetsflödesprojektet.

En ny mapp skapas med nödvändiga filer för ditt värdbaserade agentprojekt, inklusive en exempelkodfil för att komma igång.

Installera beroenden

Installera nödvändiga beroenden för ditt värdbaserade agentprojekt. Beroendena varierar baserat 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:

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

AZURE_AI_MODEL_DEPLOYMENT_NAME=<your-model-deployment-name>

Viktigt!

Lägg aldrig filen i versionskontroll .env. 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)
  • Inloggning för Visual Studio Code-konto
  • Inloggning med Visual Studio-konto
  • Miljövariabler för tjänstens huvudnamn (AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET)

Bekräfta autentiseringen lokalt genom att köra antingen Azure CLI az account show eller az account get-access-token kommandon 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

Tryck på F5 i VS Code för att börja felsöka. Du kan också använda felsökningsmenyn för VS Code:

  1. Öppna vyn Kör och felsök (Ctrl+Skift+D/Cmd+Skift+D)
  2. Välj "Felsöka HTTP-server för lokalt arbetsflöde" i listrutan
  3. Välj den gröna knappen Starta felsökning (eller tryck på F5)

Detta kommer att:

  1. Starta HTTP-servern med felsökning aktiverat
  2. Öppna AI Toolkit Agent Inspector för interaktiv testning
  3. Gör att du kan ange brytpunkter och inspektera arbetsflödets körning i realtid.

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

Tips/Råd

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

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

  1. Öppna Visual Studio Code-kommandopaletten och kör Microsoft Foundry: Open Container Agent Playground Locally kommandot.
  2. Kör main.py för att initiera den containerbaserade värdbaserade agenten.
  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.

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)
  • Inloggning för Visual Studio Code-konto
  • Inloggning med Visual Studio-konto
  • Miljövariabler för tjänstens huvudnamn (AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET)

Bekräfta autentiseringen lokalt genom att köra antingen Azure CLI az account show eller az account get-access-token kommandon 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/Råd

Ö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 Visual Studio Code-kommandopaletten och kör Microsoft Foundry: Open Container Agent Playground Locally kommandot.
  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 for Visual Studio Code-tillägget 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.

Aktivera visualisering i dina arbetsflöden genom att lägga till följande kodfragment:

from agent_framework.observability import setup_observability
setup_observability(vs_code_extension_port=4319) # Default port is 4319

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 exekveringsdiagrammet. 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. Det gör du 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

Ändra visualiseringsporten genom att FOUNDRY_OTLP_PORT ange miljövariabeln. Uppdatera observerbarhetsporten i workflow.py-filen därefter.

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

  export FOUNDRY_OTLP_PORT=4318

I workflow.pyuppdaterar du portnumret i konfigurationen för observerbarhet:

  setup_observability(vs_code_extension_port=4318)

Tips/Råd

Om du vill aktivera mer felsökningsinformation lägger du till parametern enable_sensitive_data=True i setup_observability funktionen.

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 Azure-administratören för att få de rolltilldelningar som krävs.

  1. Öppna Visual Studio Code-kommandopaletten och kör Microsoft Foundry: Deploy Hosted Agent kommandot.
  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 den värdbaserade agenten Hosted Agents (Preview) i avsnittet i trädvyn för Microsoft Foundry-tillägget.
  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 Visual Studio Code-kommandopaletten och kör Microsoft Foundry: Deploy Hosted Agent kommandot.
  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 den värdbaserade agenten Hosted Agents (Preview) i avsnittet i trädvyn för Microsoft Foundry-tillägget.
  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.