Udostępnij za pośrednictwem


Tworzenie przepływów pracy agenta hostowanego w Visual Studio Code (wersja zapoznawcza)

Tworzenie, testowanie i wdrażanie przepływów pracy agenta hosted Foundry Agent przy użyciu Microsoft Foundry dla rozszerzenia Visual Studio 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.

Przed rozpoczęciem zbuduj agenta w Foundry Agent Service 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 obszar roboczy w Foundry.

Wymagania wstępne

  • Projekt Foundry z wdrożonym modelem lub zasób Azure OpenAI.
  • Zainstalowano rozszerzenie Microsoft Foundry dla Visual Studio Code.
  • Tożsamość zarządzana projektu z przypisanymi rolami Azure AI User i AcrPull. Przypisz również rolę acrPull do tożsamości zarządzanej usługi Foundry project, w której planujesz wdrożyć hostowanego agenta.
  • Obsługiwany region dla hostowanych agentów.
  • Python 3.12 lub nowszy.
  • zestaw SDK .NET 9 lub nowszy.

Tworzenie przepływu pracy hostowanego agenta

Możesz użyć rozszerzenia Foundry dla Visual Studio Code, aby utworzyć hostowane przepływy pracy agenta. Przepływ pracy hostowanego agenta to sekwencja agentów, które 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: >Microsoft Foundry: Create a New Hosted Agent.

  3. Wybierz strukturę Microsoft Agent Framework lub LangGraph.

  4. Wybierz szablon: asystenta hotelowego z pojedynczym agentem lub przepływ pracy agenta Recenzent-Pisarz (wielu agentów).

  5. Wybierz język programowania.

  6. Wybierz model, który został już wdrożony w projekcie, lub przeglądaj katalog modeli.

  7. Wybierz folder, w którym chcesz zapisać nowy przepływ pracy.

Pliki projektu hostowanego agenta są generowane w wybranym folderze na podstawie struktury, szablonu i języka wybranego do rozpoczęcia 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 project.

  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 następujący pakiet:

    pip install azure-ai-agentserver-agentframework
    
  1. Przejdź do katalogu project 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 za pomocą poświadczeń Foundry.

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

MODEL_DEPLOYMENT_NAME=<your-model-deployment-name>

Ważna

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

Uwierzytelnianie hostowanego agenta

Przykład hostowanego agenta uwierzytelnia się przy użyciu DefaultAzureCredential. 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.

Uruchom swojego hostowanego agenta w Inspectorze Agenta

Aby uruchomić hostowanego agenta lokalnie w Visual Studio Code, wybierz klucz F5. Spowoduje to otwarcie inspektora agenta i wykonanie aplikacji.

Spowoduje to:

  1. Uruchom serwer agenta: CLI agentdev opakowuje agenta jako serwer HTTP na porcie 8087 z debugpy dołączonym na porcie 5679.
  2. Odnajdywanie agentów: Interfejs użytkownika pobiera dostępnych agentów/przepływów pracy z programu /agentdev/entities.
  3. Wykonywanie strumienia: Dane wejściowe czatu przechodzą do /v1/responses, który przesyła z powrotem zdarzenia za pośrednictwem SSE w celu wizualizacji w czasie rzeczywistym.
  4. Włącz nawigację po kodzie: Kliknij dwukrotnie węzły przepływu pracy, aby otworzyć odpowiedni plik źródłowy w edytorze.
  5. Włącz czatowanie z agentem lokalnym i wyświetlanie odpowiedzi, naciśnięcie punktów przerwania na potrzeby debugowania itd.

Przykładowy projekt przepływu pracy tworzy plik .env z niezbędnymi zmiennymi środowiskowymi. Utwórz lub zaktualizuj plik .env za pomocą poświadczeń Foundry.

  1. Skonfiguruj zmienne środowiskowe na podstawie systemu operacyjnego:

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

Uwierzytelnianie hostowanego agenta

Przykład hostowanego agenta uwierzytelnia się przy użyciu DefaultAzureCredential. 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 Microsoft Foundry: 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.

Wizualizowanie wykonywania przepływu pracy hostowanego agenta

Rozszerzenie Foundry dla 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 obserwowalność w swoim projekcie, aby użyć 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ć realizację przepływu pracy hostowanego agenta w czasie rzeczywistym:

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

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

Zostanie otwarta nowa karta w programie VS Code, aby wyświetlić graf 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 Foundry. 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 hostowanego agenta lokalnie wdróż go w obszarze roboczym rozwiązania Foundry, aby inni członkowie zespołu i aplikacje mogli z niego korzystać.

Ważna

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

  1. Otwórz paletę poleceń Visual Studio Code i uruchom polecenie Microsoft Foundry: Deploy Hosted Agent.
  2. Skonfiguruj ustawienia wdrożenia, wybierając docelowy obszar roboczy, określając plik agenta kontenera (container.py) i definiując wszelkie inne parametry wdrożenia zgodnie z potrzebami.
  3. Po pomyślnym wdrożeniu hostowany agent zostanie wyświetlony w sekcji Hosted Agents (Preview) widoku drzewa rozszerzenia Microsoft Foundry.
  4. Wybierz wdrożonego agenta, aby uzyskać dostęp do szczegółowych informacji i przetestować funkcjonalność przy użyciu zintegrowanego interfejsu testowego.
  1. Otwórz paletę poleceń Visual Studio Code i uruchom polecenie Microsoft Foundry: Deploy Hosted Agent.
  2. Skonfiguruj ustawienia wdrożenia, wybierając docelowy obszar roboczy, określając plik agenta kontenera (<your-project-name>.csproj) i definiując wszelkie inne parametry wdrożenia zgodnie z potrzebami.
  3. Po pomyślnym wdrożeniu hostowany agent zostanie wyświetlony w sekcji Hosted Agents (Preview) widoku drzewa rozszerzenia Microsoft Foundry.
  4. Wybierz wdrożonego agenta, aby uzyskać dostęp do szczegółowych informacji i przetestować funkcjonalność przy użyciu zintegrowanego interfejsu testowego.