Tworzenie przepływów pracy hostowanych agentów w rozszerzeniu Microsoft Foundry Toolkit dla programu Visual Studio Code

Tworzenie, testowanie i wdrażanie przepływów pracy agenta hosted Foundry Agent przy użyciu zestawu narzędzi Microsoft Foundry Toolkit for Visual Studio Code extension. Zestaw narzędzi obsługuje tworzenie agentów na podstawie szablonów, lokalne testowanie i debugowanie za pomocą Agent Inspector na potrzeby obsługi wizualizacji i śledzenia oraz bezpośrednie wdrażanie do Foundry Agent Service z VS Code. Hostowane przepływy pracy umożliwiają współpracę wielu agentów w sekwencji, z których każdy ma własny model, narzędzia i instrukcje.

Zanim rozpoczniesz, skompiluj agenta w usłudze agenta Foundry przy użyciu rozszerzenia. Następnie możesz dodać hostowane przepływy pracy do tego agenta.

W tym artykule opisano tworzenie projektu przepływu pracy, uruchamianie go lokalnie, wizualizowanie wykonania i wdrażanie go w obszarze roboczym usługi Foundry.

Wymagania wstępne

  • Projekt Foundry z wdrożonym modelem lub zasobem Azure OpenAI.

  • Zainstalowano rozszerzenie Microsoft Foundry Toolkit for Visual Studio Code.

  • Tożsamość zarządzana projektu z przypisanymi rolami Użytkownik rozwiązania Foundry i AcrPull. Przypisz również rolę acrPull tożsamości zarządzanej projektu Foundry, w którym planujesz wdrożyć agenta hostowanego.

    Ważne

    Niedawno zmieniono nazwy ról RBAC w usłudze Foundry. Użytkownik Foundry, właściciel Foundry, właściciel konta Foundry i menedżer projektu Foundry były wcześniej nazywane odpowiednio użytkownikiem Azure AI, właścicielem Azure AI, właścicielem konta Azure AI i menedżerem projektu Azure AI. Poprzednie nazwy mogą być nadal widoczne w niektórych miejscach, podczas gdy zmiana nazwy jest wdrażana. Identyfikatory ról i uprawnienia podstawowe są niezmienione przez zmianę nazwy.

  • Obsługiwany region dla hostowanych agentów.

  • Python 3.13 lub nowszy.

Tworzenie przepływu pracy hostowanego agenta

Aby utworzyć hostowane przepływy pracy agenta, można użyć rozszerzenia Microsoft Foundry Toolkit for Visual Studio Code. Przepływ pracy hostowanego agenta to sekwencja agentów, którzy współpracują ze sobą w celu wykonania zadania. Każdy agent w przepływie pracy może mieć własny model, narzędzia i instrukcje.

  1. Otwórz paletę poleceń (Ctrl+Shift+P).

  2. Uruchom następujące polecenie: >Foundry Toolkit: Create a New Hosted Agent.

  3. Wybieranie języka programowania

  4. Wybierz strukturę Copilot SDK, Microsoft Agent Framework lub Bring your own.

  5. Wybierz protokół: albo Responses API, albo Invocations API.

  6. Wybierz szablon z listy.

  7. Wybierz przycisk "Dalej".

  8. Wybierz folder, w którym chcesz zapisać nowego hostowanego agenta.

  9. W sekcji Konfiguracja środowiska wybranie opcji „Pomiń na razie” spowoduje pominięcie konfiguracji projektu Foundry i modelu, co będzie wymagać późniejszego ręcznego skonfigurowania ich w kodzie. Wybranie opcji „Konfiguruj przy użyciu Microsoft Foundry” spowoduje automatyczne uzupełnienie informacji o projekcie i modelu danymi z istniejącego projektu Foundry.

Pliki projektu agenta hostowanego są generowane w wybranym folderze na podstawie wybranej platformy, szablonu i języka, aby ułatwić rozpoczęcie pracy. Możesz usunąć lub zmodyfikować ten kod zgodnie z potrzebami.

Instalowanie zależności

Zainstaluj wymagane zależności dla projektu hostowanego agenta. Zależności różnią się w zależności od języka programowania wybranego podczas tworzenia projektu.

  1. Tworzenie środowiska wirtualnego.

     python -m venv .venv
    
  2. Aktywuj środowisko wirtualne.

    # PowerShell
    ./.venv/Scripts/Activate.ps1
    
    # Windows cmd
    .venv\Scripts\activate.bat
    
    # Unix/MacOS
    source .venv/bin/activate
    
  3. Zainstaluj wymagane pakiety:

    pip install -r requirements.txt
    
  1. Przejdź do katalogu projektu i uruchom to polecenie, aby uzyskać niezbędne pakiety NuGet:

    dotnet restore
    

Uruchamianie hostowanego przepływu pracy lokalnie

Przykładowy projekt przepływu pracy tworzy plik env z niezbędnymi zmiennymi środowiskowymi. Utwórz lub zaktualizuj plik .env przy użyciu poświadczeń Foundry.

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

FOUNDRY_MODEL_NAME=<your-model-deployment-name>

Ważne

Nigdy nie zatwierdzaj .env pliku do kontroli wersji. Dodaj go do .gitignore pliku.

Uwierzytelnianie hostowanego agenta

Przykład hostowanego agenta używa składnika DefaultAzureCredential do uwierzytelniania. Skonfiguruj środowisko deweloperskie, aby podać poświadczenia za pośrednictwem jednego z obsługiwanych źródeł, na przykład:

  • Azure CLI (az login)
  • logowanie do konta Visual Studio Code
  • logowanie do konta Visual Studio
  • Zmienne środowiskowe jednostki usługi (AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET)

Potwierdź uwierzytelnianie lokalnie, uruchamiając polecenia Azure CLI az account show lub az account get-access-token przed uruchomieniem przykładu.

Możesz uruchomić hostowanego agenta w trybie interaktywnym lub w trybie kontenera.

Uruchamianie hostowanego agenta w inspektorze agenta

Naciśnij klawisz F5 , aby uruchomić lokalny serwer HTTP z włączonym debugowaniem. Otwiera się narzędzie Foundry Toolkit Agent Inspector do testowania interakcyjnego, gdzie można ustawiać punkty przerwania w kodzie.

Aby uruchomić serwer bez debugowania:

python main.py

Agent nasłuchuje na http://localhost:8088/. Wyślij monit testowy za pomocą narzędzia curl (lub dowolnego klienta 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}'

Przykładowy projekt przepływu pracy tworzy plik env z niezbędnymi zmiennymi środowiskowymi. Utwórz lub zaktualizuj plik .env przy użyciu poświadczeń Foundry.

  1. Skonfiguruj zmienne środowiskowe na podstawie systemu operacyjnego:

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

Uwierzytelnianie hostowanego agenta

Przykład hostowanego agenta używa składnika DefaultAzureCredential do uwierzytelniania. Skonfiguruj środowisko deweloperskie, aby podać poświadczenia za pośrednictwem jednego z obsługiwanych źródeł, na przykład:

  • Azure CLI (az login)
  • logowanie do konta Visual Studio Code
  • logowanie do konta Visual Studio
  • Zmienne środowiskowe jednostki usługi (AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET)

Potwierdź uwierzytelnianie lokalnie, uruchamiając polecenia Azure CLI az account show lub az account get-access-token przed uruchomieniem przykładu.

Możesz uruchomić hostowanego agenta w trybie interaktywnym lub w trybie kontenera.

Uruchamianie hostowanego agenta w trybie interaktywnym

Uruchom hostowanego agenta bezpośrednio na potrzeby programowania i testowania:

dotnet restore
dotnet build
dotnet run

Uruchamianie hostowanego agenta w trybie kontenera

Wskazówka

Otwórz lokalny plac zabaw przed uruchomieniem agenta kontenera, aby upewnić się, że wizualizacja działa poprawnie.

Aby uruchomić agenta w trybie kontenera:

  1. Otwórz paletę poleceń Visual Studio Code i wykonaj polecenie Foundry Toolkit: Open Container Agent Playground Locally.
  2. Użyj następującego polecenia, aby zainicjować konteneryzowanego hostowanego agenta.
    dotnet restore
    dotnet build
    dotnet run
    
  3. Prześlij żądanie do agenta za pośrednictwem interfejsu placu zabaw. Na przykład wprowadź monit, taki jak: "Utwórz hasło dla nowego elektrycznego SUV-a, który jest przystępny cenowo i zabawny do jazdy".
  4. Przejrzyj odpowiedź agenta w interfejsie placu zabaw.

Wizualizacja wykonywania przepływu pracy przez hostowanego agenta

Rozszerzenie Microsoft Foundry Toolkit for Visual Studio Code udostępnia wykres wykonywania w czasie rzeczywistym, który pokazuje, jak agenci w przepływie pracy współdziałają i współpracują ze sobą. Włącz możliwość obserwowania w projekcie, aby używać tej wizualizacji.

Dodaj następujące odwołanie do pliku 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>

Zaktualizuj program w celu uwzględnienia następującego fragmentu kodu:

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

Monitorowanie i wizualizowanie przepływu pracy hostowanego agenta

Aby monitorować i wizualizować wykonywanie przepływu pracy hostowanego agenta w czasie rzeczywistym:

  1. Otwórz paletę poleceń (Ctrl+Shift+P).

  2. Uruchom następujące polecenie: >Foundry Toolkit: Open Visualizer for Hosted Agents.

Zostanie otwarta nowa karta w programie VS Code w celu wyświetlenia grafu wykonywania. Wizualizacja automatycznie aktualizuje się w miarę postępu przepływu pracy, aby pokazać przepływ między agentami a ich interakcjami.

Konflikty portów

W przypadku konfliktów portów można zmienić port wizualizacji, ustawiając go w ustawieniach rozszerzenia Microsoft Foundry Toolkit for Visual Studio Code. Aby to zrobić, wykonaj następujące kroki:

  1. Na lewym pasku bocznym programu VS Code wybierz ikonę koła zębatego, aby otworzyć menu ustawień.
  2. Wybierz Extensions>Microsoft Foundry Configuration.
  3. Hosted Agent Visualization Port Znajdź ustawienie i zmień je na dostępny numer portu.
  4. Uruchom ponownie program VS Code, aby zastosować zmiany.

Zmienianie portu w kodzie

W przypadku konfliktów portów zmień port wizualizacji, ustawiając zmienną FOUNDRY_OTLP_PORT środowiskową. Odpowiednio zaktualizuj punkt końcowy OTLP w programie.

Aby na przykład zmienić port na 4318, użyj następującego polecenia:

  $env:FOUNDRY_OTLP_PORT="4318"

W programie zaktualizuj punkt końcowy OTLP, aby użyć nowego numeru portu:

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

Wdrażanie hostowanego agenta

Po przetestowaniu agenta hostowanego lokalnie wdróż go w obszarze roboczym rozwiązania Foundry, aby inni członkowie zespołu i aplikacje mogli z niego korzystać.

Ważne

Upewnij się, że masz uprawnienia niezbędne do wdrożenia hostowanych agentów w obszarze roboczym rozwiązania Foundry, zgodnie z opisem w sekcji Wymagania wstępne. Aby uzyskać wymagane przypisania ról, może być konieczne współdziałanie z administratorem Azure.

  1. Otwórz paletę poleceń i wybierz pozycję Foundry Toolkit: Deploy Hosted Agent (Zestaw narzędzi Foundry: Wdrażanie hostowanego agenta). Zostanie otwarty widok internetowy wdrożenia.
  2. W polu "Metoda wdrożenia" wybierz pozycję Kod lub Kontener.
  3. W przypadku wdrażania za pomocą polecenia "Kod" w polu "Tryb pakietu" wybierz pozycję Zdalne lub Lokalne.
  4. Jeśli wdrażasz przy użyciu opcji „Container”, wybierz Domyślny rejestr ACR, Niestandardowy rejestr ACR lub Obraz klienta z rejestru ACR.
  5. Pole "Nazwa agenta" powinno zostać wypełnione automatycznie.
  6. Wybierz przycisk "Dalej".
  7. Ta strona „Przejrzyj i wdroż” powinna się automatycznie w całości wypełnić.
  8. Wybierz przycisk "Wdróż".
  9. Otwórz paletę poleceń Visual Studio Code i uruchom polecenie Foundry Toolkit: Deploy Hosted Agent.
  1. Otwórz paletę poleceń Visual Studio Code i uruchom polecenie Foundry Toolkit: Deploy Hosted Agent.
  2. W polu "Metoda wdrożenia" wybierz pozycję Kod lub Kontener.
  3. W przypadku wdrażania za pomocą polecenia "Kod" w polu "Tryb pakietu" wybierz pozycję Zdalne lub Lokalne.
  4. Jeśli wdrażasz przy użyciu opcji „Container”, wybierz Domyślny rejestr ACR, Niestandardowy rejestr ACR lub Obraz klienta z rejestru ACR.
  5. Pole "Nazwa agenta" powinno zostać wypełnione automatycznie.
  6. Wybierz przycisk "Dalej".
  7. Ta strona „Przejrzyj i wdroż” powinna się automatycznie w całości wypełnić.
  8. Wybierz przycisk "Wdróż".