Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Erstellen, testen und bereitstellen Sie gehostete Foundry-Agent-Workflows mithilfe der Microsoft Foundry Toolkit-Erweiterung für Visual Studio Code. Das Toolkit unterstützt die Agenterstellung aus Vorlagen, lokale Tests und das Debugging mit dem Agent Inspector, welcher sowohl die Visualisierung als auch die Unterstützung bei der Ablaufverfolgung ermöglicht, sowie die direkte Bereitstellung zum Foundry-Agent-Service aus VS Code. In gehosteten Workflows können mehrere Agents sequenziert zusammenarbeiten, jeweils mit einem eigenen Modell, tools und Anweisungen.
Bevor Sie beginnen, erstellen Sie einen Agent im Foundry Agent Service mithilfe der Erweiterung. Anschließend können Sie diesem Agent gehostete Workflows hinzufügen.
Dieser Artikel behandelt das Erstellen eines Workflow-Projekts, dessen lokale Ausführung, die Visualisierung der Ausführung und die Bereitstellung in Ihrem Foundry-Arbeitsbereich.
Voraussetzungen
Ein Foundry-Projekt mit einem bereitgestellten Modell oder einer Azure OpenAI-Ressource.
Das Microsoft Foundry Toolkit für Visual Studio Code Erweiterung installiert.
Die verwaltete Identität des Projekts mit den Rollen Foundry-Benutzer und AcrPull zugewiesen. Weisen Sie außerdem der verwalteten Identität des Foundry-Projekts die
acrPullRolle zu, in der Sie den gehosteten Agent bereitstellen möchten.Wichtig
Die Foundry-RBAC-Rollen wurden kürzlich umbenannt. Foundry User, Foundry Owner, Foundry Account Owner und Foundry Project Manager wurden zuvor Azure KI-Benutzer, Azure KI-Besitzer, Azure KI-Kontobesitzer und Azure AI Project Manager benannt. Möglicherweise werden die vorherigen Namen an einigen Stellen weiterhin angezeigt, während der Umbenennungsrollout ausgeführt wird. Die Rollen-IDs und Kernberechtigungen bleiben durch die Umbenennung unverändert.
Eine unterstützte Region für gehostete Agents.
- Python 3.13 oder höher.
- .NET 10 SDK oder höher.
Erstellen eines gehosteten Agent-Workflows
Sie können das Microsoft Foundry Toolkit für Visual Studio Code Erweiterung verwenden, um Gehostete Agent-Workflows zu erstellen. Ein Workflow eines gehosteten Agents ist eine Sequenz von Agents, die zusammenarbeiten, um eine Aufgabe auszuführen. Jeder Agent im Workflow kann über ein eigenes Modell, tools und Anweisungen verfügen.
Öffnen Sie die Befehlspalette (STRG+UMSCHALT+P).
Führen Sie diesen Befehl aus:
>Foundry Toolkit: Create a New Hosted Agent.Auswählen einer Programmiersprache
Wählen Sie ein Framework aus, entweder Copilot SDK, Microsoft Agent Framework oder Bring your own.
Wählen Sie ein Protokoll aus, entweder die Antwort-API oder die Aufrufe-API.
Wählen Sie eine Vorlage aus der Liste aus.
Wählen Sie die Schaltfläche "Weiter" aus.
Wählen Sie einen Ordner aus, in dem Sie Ihren neuen gehosteten Agent speichern möchten.
Für die Umgebungseinrichtung wird die Auswahl von "Jetzt überspringen" die Einrichtung von Foundry-Projekten und -Modellen überspringen, was erfordert, dass Sie sie später manuell im Code konfigurieren müssen. Wenn Sie „Mit Microsoft Foundry konfigurieren“ auswählen, werden Ihre Projekt- und Modellinformationen automatisch aus dem vorhandenen Foundry-Projekt übernommen.
Die Dateien für Ihr Gehostetes Agent-Projekt werden in Ihrem ausgewählten Ordner basierend auf dem Framework, der Vorlage und der Sprache generiert, die Sie für die ersten Schritte ausgewählt haben. Sie können diesen Code nach Bedarf entfernen oder ändern.
Abhängigkeiten installieren
Installieren Sie die erforderlichen Abhängigkeiten für Ihr Gehostetes Agent-Projekt. Die Abhängigkeiten variieren je nach der Programmiersprache, die Sie beim Erstellen des Projekts ausgewählt haben.
Erstellen Sie virtuelle Umgebung.
python -m venv .venvAktivieren Sie die virtuelle Umgebung.
# PowerShell ./.venv/Scripts/Activate.ps1 # Windows cmd .venv\Scripts\activate.bat # Unix/MacOS source .venv/bin/activateInstallieren Sie die erforderlichen Pakete:
pip install -r requirements.txt
Wechseln Sie zu Ihrem Projektverzeichnis, und führen Sie diesen Befehl aus, um die erforderlichen NuGet-Pakete abzurufen:
dotnet restore
Lokales Ausführen des gehosteten Workflows
Das Beispielworkflowprojekt erstellt eine env-Datei mit den erforderlichen Umgebungsvariablen. Erstellen oder aktualisieren Sie die env-Datei mit Ihren Foundry-Anmeldeinformationen:
FOUNDRY_PROJECT_ENDPOINT=https://<your-resource-name>.services.ai.azure.com/api/projects/<your-project-name>
AZURE_AI_MODEL_DEPLOYMENT_NAME=<your-model-deployment-name>
Wichtig
Committen Sie die Datei niemals in das .env Versionskontrollsystem. Fügen Sie sie Zu Ihrer .gitignore Datei hinzu.
Authentifizieren Ihres gehosteten Agents
Das Beispiel für den gehosteten Agent authentifiziert sich mit DefaultAzureCredential. Konfigurieren Sie Ihre Entwicklungsumgebung so, dass Anmeldeinformationen über eine der unterstützten Quellen bereitgestellt werden, z. B.:
- Azure CLI (
az login) - Visual Studio Code Kontoanmeldung
- Visual Studio Kontoanmeldung
- Umgebungsvariablen für einen Dienstprinzipal (AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET)
Bestätigen Sie die Authentifizierung lokal, indem Sie entweder die Befehle Azure CLI az account show oder az account get-access-token ausführen, bevor Sie das Beispiel ausführen.
Sie können den gehosteten Agent im interaktiven Modus oder im Containermodus ausführen.
Gehosteten Agent im Agent Inspector ausführen
Drücken Sie F5 , um den lokalen HTTP-Server mit aktivierter Debuggingfunktion zu starten. Der Foundry Toolkit Agent Inspector wird für interaktive Tests geöffnet, und Sie können Haltepunkte in Ihrem Code festlegen.
So führen Sie den Server ohne Debugging aus:
python main.py
Der Agent wartet auf http://localhost:8088/. Senden sie eine Testaufforderung mit curl (oder einem beliebigen HTTP-Client):
curl -sS -H "Content-Type: application/json" -X POST http://localhost:8088/responses \
-d '{"input": "Write a haiku about deploying cloud applications.", "stream": false}'
Das Beispielworkflowprojekt erstellt eine env-Datei mit den erforderlichen Umgebungsvariablen. Erstellen oder aktualisieren Sie die env-Datei mit Ihren Foundry-Anmeldeinformationen:
Richten Sie Ihre Umgebungsvariablen basierend auf Ihrem Betriebssystem ein:
$env:FOUNDRY_PROJECT_ENDPOINT="https://<your-resource-name>.services.ai.azure.com/api/projects/<your-project-name>" $env:AZURE_AI_MODEL_DEPLOYMENT_NAME="your-deployment-name"
Authentifizieren Ihres gehosteten Agents
Das Beispiel für den gehosteten Agent authentifiziert sich mit DefaultAzureCredential. Konfigurieren Sie Ihre Entwicklungsumgebung so, dass Anmeldeinformationen über eine der unterstützten Quellen bereitgestellt werden, z. B.:
- Azure CLI (
az login) - Visual Studio Code Kontoanmeldung
- Visual Studio Kontoanmeldung
- Umgebungsvariablen für einen Dienstprinzipal (AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET)
Bestätigen Sie die Authentifizierung lokal, indem Sie entweder die Befehle Azure CLI az account show oder az account get-access-token ausführen, bevor Sie das Beispiel ausführen.
Sie können den gehosteten Agent im interaktiven Modus oder im Containermodus ausführen.
Ausführen Ihres gehosteten Agents im interaktiven Modus
Führen Sie den gehosteten Agent direkt für Entwicklung und Tests aus:
dotnet restore
dotnet build
dotnet run
Ausführen Ihres gehosteten Agents im Containermodus
Tipp
Öffnen Sie den lokalen Playground, bevor Sie den Container-Agent starten, um sicherzustellen, dass die Visualisierung ordnungsgemäß funktioniert.
So führen Sie den Agent im Containermodus aus:
- Öffnen Sie die Visual Studio Code Befehlspalette, und führen Sie den Befehl
Foundry Toolkit: Open Container Agent Playground Locallyaus. - Verwenden Sie den folgenden Befehl, um den containerisierten gehosteten Agent zu initialisieren.
dotnet restore dotnet build dotnet run - Senden Sie eine Anforderung an den Agent über die Playground-Schnittstelle. Geben Sie beispielsweise eine Eingabeaufforderung ein, z. B.: "Erstellen Sie einen Slogan für einen neuen elektrischen SUV, der erschwinglich ist und Spaß macht, zu fahren."
- Überprüfen Sie die Antwort des Agents auf der Playground-Schnittstelle.
Visualisieren der Workflowausführung des gehosteten Agents
Das Microsoft Foundry Toolkit für Visual Studio Code Erweiterung bietet ein Echtzeitausführungsdiagramm, das zeigt, wie Agents in Ihrem Workflow interagieren und zusammenarbeiten. Aktivieren Sie die Observability in Ihrem Projekt, um diese Visualisierung zu verwenden.
Fügen Sie der csproj-Datei den folgenden Verweis hinzu:
<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>
Aktualisieren Sie Ihr Programm so, dass er den folgenden Codeausschnitt enthält:
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();
Überwachen und Visualisieren Ihres gehosteten Agent-Workflows
So überwachen und visualisieren Sie die Workflowausführung des gehosteten Agents in Echtzeit:
Öffnen Sie die Befehlspalette (STRG+UMSCHALT+P).
Führen Sie diesen Befehl aus:
>Foundry Toolkit: Open Visualizer for Hosted Agents.
Eine neue Registerkarte wird in VS Code geöffnet, um das Ausführungsdiagramm anzuzeigen. Die Visualisierung wird automatisch aktualisiert, wenn Ihr Workflow fortschreitet, um den Fluss zwischen Agents und deren Interaktionen anzuzeigen.
Portkonflikte
Bei Portkonflikten können Sie den Visualisierungsport ändern, indem Sie ihn im Microsoft Foundry Toolkit für Visual Studio Code Erweiterungseinstellungen festlegen. Führen Sie dazu die folgenden Schritte aus:
- Wählen Sie in der linken Randleiste von VS Code das Zahnradsymbol aus, um das Einstellungsmenü zu öffnen.
- Wählen Sie
Extensions>Microsoft Foundry Configurationaus. - Suchen Sie die
Hosted Agent Visualization PortEinstellung, und ändern Sie sie in eine verfügbare Portnummer. - Starten Sie VS Code neu, um die Änderungen anzuwenden.
Ändern des Ports im Code
Ändern Sie bei Portkonflikten den Visualisierungsport, indem Sie die FOUNDRY_OTLP_PORT Umgebungsvariable festlegen. Aktualisieren Sie den OTLP-Endpunkt in Ihrem Programm entsprechend.
Um beispielsweise den Port in 4318 zu ändern, verwenden Sie den folgenden Befehl:
$env:FOUNDRY_OTLP_PORT="4318"
Aktualisieren Sie in Ihrem Programm den OTLP-Endpunkt so, dass die neue Portnummer verwendet wird:
var otlpEndpoint =
Environment.GetEnvironmentVariable("OTLP_ENDPOINT") ?? "http://localhost:4318";
Bereitstellen des gehosteten Agents
Nachdem Sie Ihren gehosteten Agent lokal getestet haben, stellen Sie ihn in Ihrem Foundry-Arbeitsbereich bereit, damit andere Teammitglieder und Anwendungen sie verwenden können.
Wichtig
Stellen Sie sicher, dass Sie die erforderlichen Berechtigungen zum Bereitstellen gehosteter Agents in Ihrem Foundry-Arbeitsbereich erteilen, wie in den Voraussetzungen angegeben. Möglicherweise müssen Sie mit Ihrem Azure Administrator zusammenarbeiten, um die erforderlichen Rollenzuweisungen zu erhalten.
- Öffnen Sie die Befehlspalette, und wählen Sie Foundry Toolkit: Deploy Hosted Agent. Eine Bereitstellungswebansicht wird geöffnet.
- Wählen Sie für "Bereitstellungsmethode" Code oder Container aus.
- Wählen Sie bei der Bereitstellung mit "Code" für "Paketmodus" die Option "Remote " oder "Lokal" aus.
- Wenn Sie mit "Container" bereitstellen, wählen Sie entweder "Standard-ACR", "Custom ACR" oder "Customer ACR Image" aus.
- Der „Agent Name“ sollte automatisch ausgefüllt werden.
- Wählen Sie die Schaltfläche "Weiter" aus.
- Diese Seite „Überprüfen und bereitstellen“ sollte automatisch vollständig ausgefüllt werden.
- Wählen Sie die Schaltfläche "Bereitstellen" aus.
- Öffnen Sie die Visual Studio Code Befehlspalette, und führen Sie den Befehl
Foundry Toolkit: Deploy Hosted Agentaus.
- Öffnen Sie die Visual Studio Code Befehlspalette, und führen Sie den Befehl
Foundry Toolkit: Deploy Hosted Agentaus. - Wählen Sie für "Bereitstellungsmethode" Code oder Container aus.
- Wählen Sie bei der Bereitstellung mit "Code" für "Paketmodus" die Option "Remote " oder "Lokal" aus.
- Wenn Sie mit "Container" bereitstellen, wählen Sie entweder "Standard-ACR", "Custom ACR" oder "Customer ACR Image" aus.
- Der „Agent Name“ sollte automatisch ausgefüllt werden.
- Wählen Sie die Schaltfläche "Weiter" aus.
- Diese Seite „Überprüfen und bereitstellen“ sollte automatisch vollständig ausgefüllt werden.
- Wählen Sie die Schaltfläche "Bereitstellen" aus.