Sdílet prostřednictvím


Vytváření pracovních postupů hostovaného agenta v Visual Studio Code (Preview)

Vytvářejte, testujte a nasazujte pracovní postupy hostovaných agentů Foundry pomocí rozšíření Microsoft Foundry pro Visual Studio Code. Hostované pracovní postupy umožňují více agentům spolupracovat v sekvenci, každý z nich s vlastním modelem, nástroji a pokyny.

Než začnete, buildujte agenta ve službě Foundry Agent Service pomocí rozšíření. Pak můžete do agenta přidat hostované pracovní postupy.

Tento článek popisuje vytvoření pracovního postupu project, jeho spuštění místně, vizualizaci provádění a jeho nasazení do pracovního prostoru Foundry.

Předpoklady

  • Python 3.10 nebo vyšší

Vytvoření pracovního postupu hostovaného agenta

Rozšíření Foundry pro Visual Studio Code můžete použít k vytvoření pracovních postupů hostovaného agenta. Pracovní postup hostovaného agenta je posloupnost agentů, kteří spolupracují na plnění úlohy. Každý agent v pracovním postupu může mít vlastní model, nástroje a pokyny.

  1. Otevřete paletu příkazů (Ctrl+Shift+P).

  2. Spusťte tento příkaz: >Microsoft Foundry: Create a New Hosted Agent.

  3. Vyberte programovací jazyk.

  4. Vyberte složku, do které chcete nový pracovní postup uložit.

  5. Zadejte název projektu pracovního postupu.

Vytvoří se nová složka s potřebnými soubory pro projekt hostovaného agenta, včetně ukázkového souboru kódu, který vám umožní začít.

Nainstalujte závislosti

Nainstalujte požadované závislosti pro hostovaný agent projekt. Závislosti se liší v závislosti na programovacím jazyce, který jste vybrali při vytváření project.

  1. Vytvořte virtuální prostředí.

     python -m venv .venv
    
  2. Aktivujte virtuální prostředí.

    # PowerShell
    ./.venv/Scripts/Activate.ps1
    
    # Windows cmd
    .venv\Scripts\activate.bat
    
    # Unix/MacOS
    source .venv/bin/activate
    
  3. Nainstalujte následující balíček:

    pip install azure-ai-agentserver-agentframework
    
  1. Přejděte do project adresáře a spuštěním tohoto příkazu získejte potřebné balíčky NuGet:

    dotnet restore
    

Místní spuštění hostovaného pracovního postupu

Ukázkový projekt pracovního postupu vytvoří soubor .env s potřebnými proměnnými prostředí. Vytvořte nebo aktualizujte soubor .env pomocí přihlašovacích údajů Foundry:

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>

Důležité

Nikdy nepřidávejte soubor .env do správy verzí. Přidejte ho do .gitignore souboru.

Ověřte hostovaného agenta

Ukázka hostovaného agenta se ověřuje pomocí DefaultAzureCredential. Nakonfigurujte vývojové prostředí tak, aby poskytovalo přihlašovací údaje prostřednictvím jednoho z podporovaných zdrojů, například:

  • Azure CLI (az login)
  • přihlášení k účtu Visual Studio Code
  • přihlášení k účtu Visual Studio
  • Proměnné prostředí pro služebního principála (AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET)

Před spuštěním ukázky ověřte ověřování místně spuštěním příkazů Azure CLI az account show nebo az account get-access-token.

Hostovaného agenta můžete spustit v interaktivním režimu nebo v režimu kontejneru.

Spuštění hostovaného agenta v interaktivním režimu

Stisknutím klávesy F5 v editoru VS Code spusťte ladění. Alternativně můžete použít nabídku ladění VS Code:

  1. Otevřete zobrazení Spustit a ladit (Ctrl+Shift+D / Cmd+Shift+D)
  2. V rozevíracím seznamu vyberte Ladit místní server HTTP pracovního postupu .
  3. Vyberte zelené tlačítko Spustit ladění (nebo stiskněte klávesu F5).

To bude:

  1. Spuštění serveru HTTP s povoleným laděním
  2. Otevření nástroje AI Toolkit Agent Inspector pro interaktivní testování
  3. Umožňuje nastavit zarážky a kontrolovat provádění pracovního postupu v reálném čase.

Spuštění hostovaného agenta v režimu kontejneru

Návod

Před spuštěním agenta kontejneru otevřete místní dětské hřiště, abyste zajistili správné fungování vizualizace.

Spuštění hostovaného agenta v režimu kontejneru:

  1. Otevřete paletu příkazů Visual Studio kódu a spusťte příkaz Microsoft Foundry: Open Container Agent Playground Locally.
  2. Spusťte inicializaci main.py kontejnerizovaného hostovaného agenta.
  3. Odešlete žádost agentu prostřednictvím rozhraní dětského hřiště. Zadejte například výzvu: "Vytvořit heslo pro nový elektrický SUV, který je cenově dostupný a zábavný pro jízdu.".
  4. Zkontrolujte odpověď agenta v rozhraní dětského hřiště.

Ukázkový pracovní postup projekt vytvoří soubor .env s potřebnými proměnnými prostředí. Vytvořte nebo aktualizujte soubor .env pomocí přihlašovacích údajů Foundry:

  1. Nastavte proměnné prostředí na základě vašeho operačního systému:

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

Ověřte hostovaného agenta

Ukázka hostovaného agenta se ověřuje pomocí DefaultAzureCredential. Nakonfigurujte vývojové prostředí tak, aby poskytovalo přihlašovací údaje prostřednictvím jednoho z podporovaných zdrojů, například:

  • Azure CLI (az login)
  • přihlášení k účtu Visual Studio Code
  • přihlášení k účtu Visual Studio
  • Proměnné prostředí pro služebního principála (AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET)

Před spuštěním ukázky ověřte ověřování místně spuštěním příkazů Azure CLI az account show nebo az account get-access-token.

Hostovaného agenta můžete spustit v interaktivním režimu nebo v režimu kontejneru.

Spuštění hostovaného agenta v interaktivním režimu

Spusťte hostovaného agenta přímo pro vývoj a testování:

dotnet restore
dotnet build
dotnet run

Spuštění hostovaného agenta v režimu kontejneru

Návod

Před spuštěním agenta kontejneru otevřete místní dětské hřiště, abyste zajistili správné fungování vizualizace.

Pro spuštění agenta v režimu kontejneru:

  1. Otevřete paletu příkazů Visual Studio kódu a spusťte příkaz Microsoft Foundry: Open Container Agent Playground Locally.
  2. K inicializaci kontejnerizovaného hostovaného agenta použijte následující příkaz.
    dotnet restore
    dotnet build
    dotnet run
    
  3. Odešlete žádost agentu prostřednictvím rozhraní dětského hřiště. Zadejte například výzvu: "Vytvořit heslo pro nový elektrický SUV, který je cenově dostupný a zábavný pro jízdu.".
  4. Zkontrolujte odpověď agenta v rozhraní dětského hřiště.

Vizualizace provádění pracovního postupu hostovaného agenta

Rozšíření Foundry pro Visual Studio Code poskytuje graf provádění v reálném čase, který ukazuje, jak agenti ve vašem pracovním postupu pracují a spolupracují. Povolte sledovatelnost ve svém projektu, abyste mohli tuto vizualizaci použít.

Přidáním následujícího fragmentu kódu povolte vizualizaci v pracovních postupech:

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

Do souboru csproj přidejte následující odkaz:

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

Aktualizujte program tak, aby zahrnoval následující fragment kódu:

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

Monitorování a vizualizace pracovního postupu hostovaného agenta

Monitorování a vizualizace provádění hostovaného pracovního postupu agenta v reálném čase:

  1. Otevřete paletu příkazů (Ctrl+Shift+P).

  2. Spusťte tento příkaz: >Microsoft Foundry: Open Visualizer for Hosted Agents.

V editoru VS Code se otevře nová karta, která zobrazí graf průběhu. Vizualizace se automaticky aktualizuje v průběhu pracovního postupu, aby zobrazila tok mezi agenty a jejich interakcemi.

Konflikty portů

V případě konfliktů portů můžete port vizualizace změnit tak, že ho nastavíte v nastavení rozšíření Foundry. Provedením těchto kroků:

  1. Na levém panelu VS Code vyberte ikonu ozubeného kola pro otevření nabídky nastavení.
  2. Vyberte Extensions>Microsoft Foundry Configuration.
  3. Hosted Agent Visualization Port Vyhledejte nastavení a změňte ho na dostupné číslo portu.
  4. Pokud chcete změny použít, restartujte VS Code.

Změna portu v kódu

Změňte port vizualizace nastavením proměnné prostředí FOUNDRY_OTLP_PORT. Odpovídajícím způsobem aktualizujte port pozorovatelnosti v workflow.py souboru.

Pokud chcete například změnit port na 4318, použijte tento příkaz:

  export FOUNDRY_OTLP_PORT=4318

V workflow.pykonfiguraci pozorovatelnosti aktualizujte číslo portu:

  setup_observability(vs_code_extension_port=4318)

Návod

Pokud chcete povolit další informace o ladění, přidejte parametr enable_sensitive_data=True do funkce setup_observability.

V případě konfliktů portů změňte port vizualizace nastavením proměnné prostředí FOUNDRY_OTLP_PORT. Odpovídajícím způsobem aktualizujte koncový bod OTLP v programu.

Pokud chcete například změnit port na 4318, použijte tento příkaz:

  $env:FOUNDRY_OTLP_PORT="4318"

V programu aktualizujte koncový bod OTLP tak, aby používal nové číslo portu:

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

Nasazení hostovaného agenta

Po místním otestování hostovaného agenta ho nasaďte do pracovního prostoru Foundry, aby ho mohli používat ostatní členové týmu a aplikace.

Důležité

Ujistěte se, že máte potřebná oprávnění k nasazení hostovaných agentů v pracovním prostoru Foundry, jak je uvedeno v části Požadavky. Možná budete muset se správcem Azure pracovat, abyste získali požadovaná přiřazení rolí.

  1. Otevřete paletu příkazů Visual Studio kódu a spusťte příkaz Microsoft Foundry: Deploy Hosted Agent.
  2. Nakonfigurujte nastavení nasazení výběrem cílového pracovního prostoru, zadáním souboru agenta kontejneru (container.py) a definováním dalších parametrů nasazení podle potřeby.
  3. Po úspěšném nasazení se hostovaný agent zobrazí v Hosted Agents (Preview) části stromu rozšíření Microsoft Foundry.
  4. Vyberte nasazeného agenta, abyste získali přístup k podrobným informacím a otestovali funkčnost pomocí integrovaného rozhraní Playground.
  1. Otevřete paletu příkazů Visual Studio kódu a spusťte příkaz Microsoft Foundry: Deploy Hosted Agent.
  2. Nakonfigurujte nastavení nasazení výběrem cílového pracovního prostoru, zadáním souboru agenta kontejneru (<your-project-name>.csproj) a definováním dalších parametrů nasazení podle potřeby.
  3. Po úspěšném nasazení se hostovaný agent zobrazí v Hosted Agents (Preview) části stromu rozšíření Microsoft Foundry.
  4. Vyberte nasazeného agenta, abyste získali přístup k podrobným informacím a mohli testovat funkčnost pomocí integrovaného testovacího prostředí.