Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Skapa, testa och distribuera hosted Foundry Agent-arbetsflöden med hjälp av Microsoft Foundry Toolkit för Visual Studio Code-tillägget. 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.
Tillägget Microsoft Foundry Toolkit för Visual Studio Code har installerats.
Projektets hanterade identitet med de tilldelade rollerna Foundry User och AcrPull. Tilldela även
acrPull-rollen till den hanterade identiteten för Foundry-projektet där du planerar att distribuera den hostade agenten.Viktigt
Foundrys RBAC-roller har nyligen namnändrats. Foundry User, Foundry Owner, Foundry Account Owner och Foundry Project Manager hette tidigare Azure AI-användare, Azure AI-ägare, Azure AI-kontoägare och Azure AI Project Manager. Du kanske fortfarande ser de tidigare namnen på vissa platser medan namnbytet distribueras. Roll-ID:na och kärnbehörigheterna ändras inte av namnbytet.
En region som stöds för värdbaserade agenter.
- Python 3,13 eller senare.
- .NET 10 SDK eller senare.
Skapa ett arbetsflöde för värdbaserad agent
Du kan använda Microsoft Foundry Toolkit för Visual Studio Code-tillägget för att skapa arbetsflöden för värdbaserad agent. 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.
Öppna kommandopaletten (Ctrl+Skift+P).
Kör det här kommandot:
>Foundry Toolkit: Create a New Hosted Agent.Välj ett programmeringsspråk
Välj ett ramverk, antingen Copilot SDK, Microsoft Agent Framework eller Bring your own.
Välj ett protokoll, antingen Api för svar eller API för anrop.
Välj en mall i listan.
Välj knappen "Nästa".
Välj en mapp där du vill spara din nya värdbaserade agent.
När du väljer "Hoppa över för tillfället" för miljöinstallationen hoppar du över konfigurationen av Foundry-projektet och modellen, vilket kräver att du konfigurerar dem manuellt i koden senare. Om du väljer "Konfigurera med Microsoft Foundry" fylls din project och modellinformation automatiskt med befintliga Foundry-Project.
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.
Skapa en virtuell miljö.
python -m venv .venvAktivera den virtuella miljön.
# PowerShell ./.venv/Scripts/Activate.ps1 # Windows cmd .venv\Scripts\activate.bat # Unix/MacOS source .venv/bin/activateInstallera de paket som krävs:
pip install -r requirements.txt
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:
FOUNDRY_PROJECT_ENDPOINT=https://<your-resource-name>.services.ai.azure.com/api/projects/<your-project-name>
FOUNDRY_MODEL_NAME=<your-model-deployment-name>
Viktigt
Kommitta aldrig .env filen till versionskontroll. Lägg till den i .gitignore filen.
Autentisera din värdbaserade agent
Exemplet med den värdbaserade agenten autentiserar sig 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
Tryck på F5 för att starta den lokala HTTP-servern med felsökning aktiverat. Foundry Toolkit Agent Inspector öppnas för interaktiv testning och du kan ange brytpunkter i koden.
Så här kör du servern utan felsökning:
python main.py
Agenten lyssnar på http://localhost:8088/. Skicka en testprompt med curl (eller någon HTTP-klient):
curl -sS -H "Content-Type: application/json" -X POST http://localhost:8088/responses \
-d '{"input": "Write a haiku about deploying cloud applications.", "stream": false}'
Exempelarbetsflödesprojektet skapar en .env-fil med nödvändiga miljövariabler. Skapa eller uppdatera .env-filen med dina Foundry-autentiseringsuppgifter:
Konfigurera miljövariabler baserat på ditt operativsystem:
$env:FOUNDRY_PROJECT_ENDPOINT="https://<your-resource-name>.services.ai.azure.com/api/projects/<your-project-name>" $env:FOUNDRY_MODEL_NAME="your-deployment-name"
Autentisera din värdbaserade agent
Exemplet med den värdbaserade agenten autentiserar sig 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:
- Öppna kommandopaletten Visual Studio Code och kör kommandot
Foundry Toolkit: Open Container Agent Playground Locally. - Använd följande kommando för att initiera den containerbaserade värdbaserade agenten.
dotnet restore dotnet build dotnet run - 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."
- Granska agentens svar i playground-gränssnittet.
Visualisera körning av värdbaserade agentarbetsflöden
Tillägget Microsoft Foundry Toolkit for 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 arbetsflödet för värdbaserad agent i realtid:
Öppna kommandopaletten (Ctrl+Skift+P).
Kör det här kommandot:
>Foundry Toolkit: 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 Microsoft Foundry Toolkit för Visual Studio Code tilläggsinställningar. Gör det genom att följa dessa steg:
- I det vänstra sidofältet i VS Code väljer du kugghjulsikonen för att öppna inställningsmenyn.
- Välj
Extensions>Microsoft Foundry Configuration. - Leta upp inställningen
Hosted Agent Visualization Portoch ändra den till ett tillgängligt portnummer. - 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.
- Öppna Kommandopaletten och välj Foundry Toolkit: Deploy Hosted Agent. En webbvy för distribution öppnas.
- För "Distributionsmetod" väljer du Kod eller Container.
- Om du distribuerar med "Code" för "Paketläge" väljer du Fjärr eller Lokal.
- Om du distribuerar med "Container" väljer du antingen Standard-ACR, Anpassad ACR eller Kund-ACR-avbildning.
- Agentnamnet bör fyllas i automatiskt.
- Välj knappen "Nästa".
- Sidan "Granska och distribuera" ska fyllas i automatiskt i sin helhet.
- Välj knappen "Distribuera".
- Öppna kommandopaletten Visual Studio Code och kör kommandot
Foundry Toolkit: Deploy Hosted Agent.
- Öppna kommandopaletten Visual Studio Code och kör kommandot
Foundry Toolkit: Deploy Hosted Agent. - För "Distributionsmetod" väljer du Kod eller Container.
- Om du distribuerar med "Code" för "Paketläge" väljer du Fjärr eller Lokal.
- Om du distribuerar med "Container" väljer du antingen Standard-ACR, Anpassad ACR eller Kund-ACR-avbildning.
- Agentnamnet bör fyllas i automatiskt.
- Välj knappen "Nästa".
- Sidan "Granska och distribuera" ska fyllas i automatiskt i sin helhet.
- Välj knappen "Distribuera".