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.
Microsoft Foundry Control Plane bietet zentrale Verwaltung und Observierbarkeit für Agents, die auf verschiedenen Plattformen und Infrastrukturen ausgeführt werden. Sie können benutzerdefinierte Agents registrieren, die in Azure-Computediensten oder in anderen Cloudumgebungen ausgeführt werden, um Einblicke in ihre Vorgänge zu erhalten und ihr Verhalten zu steuern.
In diesem Artikel erfahren Sie, wie Sie einen benutzerdefinierten Agent in foundry Control Plane registrieren. Sie erfahren, wie Sie Ihren Agent für die Registrierung konfigurieren, die Datensammlung einrichten und die Verwaltungsfunktionen von Foundry Control Plane verwenden.
Voraussetzungen
-
Ein Azure-Konto mit einem aktiven Abonnement. Wenn Sie über keins verfügen, erstellen Sie ein kostenloses Azure-Konto, das ein kostenloses Testabonnement enthält.
Ein Foundry-Projekt. Wenn Sie kein Projekt haben, erstellen Sie ein Projekt.
Ein AI-Gateway, das in Ihrer Foundry-Ressource konfiguriert ist. Foundry verwendet Azure API Management, um Agents als APIs zu registrieren.
Ein Agent, den Sie über einen erreichbaren Endpunkt bereitstellen und verfügbar machen. Der Endpunkt kann entweder ein öffentlicher Endpunkt oder ein Endpunkt sein, der über das Netzwerk erreichbar ist, in dem Sie die Foundry-Ressource bereitstellen.
Hinweis
Diese Funktion ist nur im Foundry-Portal (neu) verfügbar. Suchen Sie im Portalbanner nach
, um zu bestätigen, dass Sie Foundry (neu) verwenden.
Hinzufügen eines benutzerdefinierten Agents
Sie können einen benutzerdefinierten Agent in foundry Control Plane registrieren. Entwickeln Sie den Agenten in der Technologie Ihrer Wahl für Plattform- und Infrastrukturlösungen.
Wenn Sie einen benutzerdefinierten Agent registrieren, verwendet Foundry DIE API-Verwaltung, um als Proxy für die Kommunikation mit Ihrem Agent zu fungieren, damit er den Zugriff steuern und Aktivitäten überwachen kann.
Das folgende Diagramm zeigt die resultierende Architektur, wenn Sie einen benutzerdefinierten Agent registrieren.
Überprüfen Sie Ihren Agenten
Stellen Sie sicher, dass Ihr Agent die Anforderungen für die Registrierung erfüllt:
- Ihr Agent macht einen exklusiven Endpunkt verfügbar.
- Das Netzwerk, in dem Sie die Foundry-Ressource bereitstellen, kann den Endpunkt des Agents erreichen.
- Der Agent kommuniziert mithilfe eines der unterstützten Protokolle: HTTP (allgemein) oder A2A (spezifischer).
- Ihr Agent sendet Daten mithilfe der OpenTelemetry-Semantikkonventionen für generative KI-Lösungen (oder Sie benötigen diese Funktion nicht).
- Sie können den Endpunkt konfigurieren, den Benutzer für die Kommunikation mit dem Agent verwenden. Nachdem Sie einen Agent registriert haben, generiert foundry Control Plane eine neue URL. Clients und Benutzer müssen diese URL verwenden, um mit dem Agent zu kommunizieren.
Vorbereiten des Foundry-Projekts
Bevor Sie den benutzerdefinierten Agent registrieren, den Sie einem Foundry-Projekt hinzugefügt haben, stellen Sie sicher, dass Sie das Projekt ordnungsgemäß konfiguriert haben:
-
Melden Sie sich bei Microsoft Foundry an. Stellen Sie sicher, dass die Umschaltfläche "Neue Gießerei " aktiviert ist. Diese Schritte beziehen sich auf Foundry (neu).
Stellen Sie sicher, dass ein KI-Gateway in Ihrem Projekt konfiguriert ist:
Wählen Sie auf der Symbolleiste "Ausführen" aus.
Wählen Sie im linken Bereich "Administrator" aus.
Öffnen Sie die Registerkarte "AI-Gateway ".
Im Bereich werden alle KI-Gateways aufgelistet, die einer Foundry-Ressource konfiguriert und zugeordnet sind. Überprüfen Sie, ob die foundry-Ressource, die Sie verwenden möchten, über ein zugeordnetes KI-Gateway verfügt.
Wenn für die Foundry-Ressource, die Sie verwenden möchten, kein KI-Gateway konfiguriert ist (es ist nicht aufgeführt), fügen Sie eine ressource mithilfe der Option "KI-Gateway hinzufügen" hinzu .
Ein KI-Gateway ist kostenlos einzurichten und entsperrt leistungsstarke Governance-Features wie Sicherheit, Diagnosedaten und Ratenbegrenzungen für Ihre Agents, Tools und Modelle. Weitere Informationen finden Sie unter Erstellen eines KI-Gateways.
Stellen Sie sicher, dass die Beobachtbarkeit im Projekt konfiguriert wurde. Foundry Control Plane verwendet die Application Insights-Ressource, die Ihrem ausgewählten Projekt zugeordnet ist, um Daten auszusenden, um Ihren Agenten zu diagnostizieren.
Wählen Sie auf der Symbolleiste "Ausführen" aus.
Wählen Sie im linken Bereich "Administrator" aus.
Verwenden Sie unter "Alle Projekte" das Suchfeld, um nach Ihrem Projekt zu suchen.
Wählen Sie das Projekt aus.
Wählen Sie die Registerkarte "Verbundene Ressourcen " aus.
Stellen Sie sicher, dass in der Kategorie "AppInsights " eine zugeordnete Ressource vorhanden ist.
Wenn keine zugeordnete Ressource vorhanden ist, fügen Sie eine Ressource hinzu, indem Sie Verbindung hinzufügen>Application Insights auswählen.
Ihr Projekt ist für Überwachbarkeit und Ablaufverfolgung konfiguriert.
Registrieren des Agents
Wählen Sie auf der Symbolleiste "Ausführen" aus.
Wählen Sie im Bereich "Übersicht " die Option "Agent registrieren" aus.
Der Registrierungs-Assistent wird angezeigt. Führen Sie zunächst die Details zu dem Agent aus, den Sie registrieren möchten. Die folgenden Eigenschaften beschreiben den Agent, wie er auf seiner Plattform ausgeführt wird:
Eigentum Description Erforderlich Agent-URL Der Endpunkt (URL), an dem Ihr Agent Anforderungen entgegennimmt und ausgeführt wird. Im Allgemeinen geben Sie jedoch je nach Protokoll die Basis-URL an, die Ihre Clients verwenden. Wenn Ihr Agent beispielsweise die OpenAI Chat Completions-API verwendet, geben Sie https://<host>/v1/an, ohne/chat/completions, da die Clients sie in der Regel hinzufügen.Ja Protokoll Das Kommunikationsprotokoll, das Ihr Agent unterstützt. Verwenden Sie HTTP im Allgemeinen. Oder wenn Ihr Agent A2A spezifischer unterstützt, geben Sie das an. Ja A2A-Agentkarten-URL Der Pfad zur JSON-Spezifikation der Agentkarte. Wenn Sie sie nicht angeben, verwendet das System den Standardwert /.well-known/agent-card.json.Nein OpenTelemetry-Agent-ID Die Agent-ID, die Ihr Agent verwendet, um Traces gemäß OpenTelemetry-Semantikkonventionen für generative KI zu emittieren. Ablaufverfolgungen weisen darauf hin, dass es im gen_ai.agents.idAttribut für Bereiche, die den Vorgangsnamencreate_agenthaben, enthalten ist. Wenn Sie diesen Wert nicht angeben, verwendet das System den Wert für den Agentnamen, um Ablaufverfolgungen und protokollierte Informationen zu finden, die dieser neue Agent meldet.Nein URL des Verwaltungsportals Die Verwaltungsportal-URL, in der Sie weitere Verwaltungsvorgänge für diesen Agent ausführen können. Foundry kann diesen Wert zur Bequemlichkeit speichern. Foundry hat keinen Zugriff, um direkt in diesem Portal Operationen durchzuführen. Nein Konfigurieren Sie, wie der Agent in der Gießereisteuerungsebene dargestellt werden soll:
Eigentum Description Erforderlich Projekt Das Projekt, in dem Sie den Agent registrieren. Foundry verwendet das in der Ressource konfigurierte KI-Gateway, das das Projekt enthält, um den eingehenden Endpunkt für den Agent zu konfigurieren. Sie können nur Projekte auswählen, für die ein KI-Gateway in ihren Ressourcen aktiviert ist. Wenn keine KI-Gateways angezeigt werden, konfigurieren Sie ein KI-Gateway in Ihrer Foundry-Ressource. Außerdem wird empfohlen, Application Insights im ausgewählten Projekt zu konfigurieren. Foundry verwendet die Application Insights-Ressource des Projekts, um Ablaufverfolgungen und Protokolle zu sammeln. Ja Agentname Der Name des Agents, wie er in Foundry angezeigt werden soll. Das System kann diesen Namen auch verwenden, um relevante Ablaufverfolgungen und Protokolle in Application Insights zu finden, wenn Sie keinen anderen Wert für die OpenTelemetry-Agent-ID angeben. Ja Beschreibung Eine klare Beschreibung zu diesem Agent. Nein Speichern Sie die Änderungen.
Foundry fügt den neuen Agent hinzu. Um die Liste der Agents zu überprüfen, wählen Sie " Objekte " im linken Bereich aus.
Um nur benutzerdefinierte Agents anzuzeigen, verwenden Sie den Quellfilter , und wählen Sie "Benutzerdefiniert" aus.
Verbinden von Clients mit dem Agent
Wenn Sie Ihren Agent in Foundry registrieren, erhalten Sie eine neue URL für Ihre Clients zu verwenden. Da Foundry als Proxy für die Kommunikation mit Ihrem Agent fungiert, kann er den Zugriff steuern und Aktivitäten überwachen.
So verteilen Sie die neue URL so, dass Ihre Clients den Agent aufrufen können:
Wählen Sie den benutzerdefinierten Agent aus.
Wählen Sie im Detailbereich unter Agent-URL die Option "Kopieren" aus .
Verwenden Sie die neue URL, um den Agent anstelle des ursprünglichen Endpunkts aufzurufen.
In diesem Beispiel stellen Sie einen LangGraph-Agent bereit. Clients verwenden das LangGraph SDK, um es zu nutzen. Der Client verwendet den neuen Agent-URL-Wert . Mit diesem Code wird ein Thread erstellt, eine Nachricht gesendet, die über das Wetter gefragt wird, und die Antwort wird zurückgestreamt.
from langgraph_sdk import get_client
client = get_client(url="https://apim-my-foundry-resource.azure-api.net/my-custom-agent/")
async def stream_run():
thread = await client.threads.create()
input_data = {"messages": [{"role": "human", "content": "What's the weather in LA?"}]}
async for chunk in client.runs.stream(thread['thread_id'], assistant_id="your_assistant_id", input=input_data):
print(chunk)
Erwartete Ausgabe: Der Agent verarbeitet die Nachricht und sendet Antworten als Blöcke zurück. Jeder Block enthält Teilergebnisse aus der Ausführung des Agenten. Zu diesen Ergebnissen gehören möglicherweise Toolaufrufe an die Wetterfunktion und die endgültige Antwort über das Wetter von Los Angeles.
Hinweis
Obwohl Foundry als Proxy für eingehende Anforderungen für Ihren Agent fungiert, gilt weiterhin das ursprüngliche Autorisierungs- und Authentifizierungsschema im ursprünglichen Endpunkt. Wenn Sie den neuen Endpunkt nutzen, stellen Sie den gleichen Authentifizierungsmechanismus bereit, wie wenn Sie den ursprünglichen Endpunkt verwenden.
Blockieren und Entblockieren des Agents
Für benutzerdefinierte Agents verfügt Foundry nicht über Zugriff auf die zugrunde liegende Infrastruktur, in der der Agent ausgeführt wird, sodass Start- und Stoppvorgänge nicht verfügbar sind. Foundry kann jedoch eingehende Anforderungen an den Agent blockieren, sodass Clients sie nicht nutzen können. Mit dieser Funktion können Administratoren einen Agent deaktivieren, wenn er falsch funktioniert.
So blockieren Sie eingehende Anforderungen an Ihren Agent:
Wählen Sie auf der Symbolleiste "Ausführen" aus.
Wählen Sie im linken Bereich "Objekte" aus.
Wählen Sie den Agent aus, den Sie blockieren möchten. Der Informationsbereich wird angezeigt.
Wählen Sie "Updatestatus" und dann " Blockieren" aus.
Bestätigen Sie den Vorgang.
Nachdem Sie den Agent blockiert haben, wird der Statuswert des Agents in Foundry blockiert. Agents im blockierten Zustand werden in ihrer zugeordneten Infrastruktur ausgeführt, können jedoch keine eingehenden Anforderungen annehmen. Foundry blockiert jeden Versuch, eine Schnittstelle mit dem Agent zu erstellen.
So heben Sie die Blockierung des Agents auf:
Wählen Sie "Updatestatus" und dann " Blockierung aufheben" aus.
Bestätigen Sie den Vorgang.
Aktivieren von Diagnosedaten für den Agent
Foundry verwendet den offenen OpenTelemetry-Standard, um zu verstehen, was Agents tun. Wenn Ihr Projekt Application Insights konfiguriert hat, protokolliert Foundry standardmäßig Anforderungen in Application Insights. Foundry verwendet diese Daten auch zum Berechnen:
- Läufe
- Fehlerrate
- Verwendung (sofern verfügbar)
Um die beste Genauigkeit zu erzielen, erwartet Foundry, dass benutzerdefinierte Agents die semantischen Konventionen für generative KI-Lösungen im OpenTelemetry-Standard einhalten.
Anzeigen von Ablaufverfolgungen und Protokollen, die an Foundry gesendet werden
Wählen Sie auf der Symbolleiste "Ausführen" aus.
Wählen Sie im linken Bereich "Objekte" aus.
Wählen Sie den Agent aus.
Im Abschnitt "Ablaufverfolgungen " wird ein Eintrag für jeden HTTP-Aufruf angezeigt, der an den Endpunkt des Agents gesendet wurde.
Um die Details anzuzeigen, wählen Sie einen Eintrag aus.
Tipp
In diesem Beispiel können Sie sehen, wie Clients den Endpunkt des neuen Agents für die Kommunikation mit dem Agent verwenden. Das Beispiel zeigt einen Agent, der mit dem Agent-Protokoll von LangChain bedient wird. Clients verwenden die Route
/runs/stream.
In diesem Beispiel enthält die Ablaufverfolgung keine Details über den HTTP-Beitrag hinaus. Der Code des Agents enthält keine weitere Instrumentierung. Im nächsten Abschnitt erfahren Sie, wie Sie Ihren Code instrumentieren und Details wie Toolaufrufe und LLM-Aufrufe (Large Language Model) abrufen.
Instrumentenspezifische Code-Agenten
Wenn Sie Ihren Agent mithilfe von benutzerdefiniertem Code erstellen, versehen Sie Ihre Lösung mit Instrumentierung, um Traces gemäß dem OpenTelemetry-Standard auszugeben und sie an Application Insights zu senden. Instrumentation bietet Foundry Zugriff auf detaillierte Informationen darüber, was Ihr Agent tut.
Senden Sie Ablaufverfolgungen mithilfe des Instrumentierungsschlüssels an die Application Insights-Ressource Ihres Projekts. Um den Ihrem Projekt zugeordneten Instrumentierungsschlüssel abzurufen, befolgen Sie die Anweisungen unter Tracing in Ihrem Projekt aktivieren.
In diesem Beispiel konfigurieren Sie einen mit LangGraph entwickelten Agent, um Ablaufverfolgungen im OpenTelemetry-Standard auszugeben. Der Tracer erfasst alle Agentvorgänge, einschließlich Toolaufrufe und Modellinteraktionen. Der Tracer sendet dann die Vorgänge zur Überwachung an Application Insights.
Dieser Code verwendet das Langchain-azure-ai-Paket . Anleitungen zum Instrumentieren bestimmter Lösungen mit OpenTelemetry, je nach der von Ihrer Lösung verwendeten Programmiersprache und dem Framework, finden Sie unter Sprach-APIs & SDKs.
pip install -U langchain-azure-ai[opentelemetry]
Instrumentieren Sie dann Ihren Agenten:
from langchain.agents import create_agent
from langchain_azure_ai.callbacks.tracers import AzureAIOpenTelemetryTracer
application_insights_connection_string = 'InstrumentationKey="12345678...'
tracer = AzureAIOpenTelemetryTracer(
connection_string=application_insights_connection_string,
enable_content_recording=True,
)
def get_weather(city: str) -> str:
"""Get weather for a given city."""
return f"It's always sunny in {city}!"
agent = create_agent(
model="openai:gpt-5.1",
tools=[get_weather],
system_prompt="You are a helpful assistant",
).with_config({ "callbacks": [tracer] })
Erwartete Ausgabe: Der Agent läuft normal, während OpenTelemetry-Ablaufverfolgungen automatisch an Application Insights gesendet werden. Ablaufverfolgungen umfassen Vorgangsnamen, Dauer, Modellaufrufe, Toolaufrufe und Tokenverwendung. Sie können diese Ablaufverfolgungen im Gießereiportal im Abschnitt "Ablaufverfolgungen " anzeigen.
Tipp
Sie können die Verbindungszeichenfolge mithilfe der Umgebungsvariablen APPLICATIONINSIGHTS_CONNECTION_STRINGan Application Insights übergeben.
Instrumentplattformlösungen
Wenn Ihr Agent auf einer Plattformlösung ausgeführt wird, die OpenTelemetry unterstützt, application Insights jedoch nicht unterstützt, stellen Sie einen OpenTelemetry-Sammler bereit und konfigurieren Sie Ihre Software, um OTLP-Daten an den Sammelsammler zu senden (Standardkonfiguration von OpenTelemetry).
Konfigurieren Sie den Sammler mit dem Azure Monitor-Exporter, um Daten mithilfe Ihrer Verbindungszeichenfolge an Application Insights weiterzuleiten. Ausführliche Informationen zur Implementierung finden Sie unter Konfigurieren von Azure Monitor OpenTelemetry.
Problembehandlung bei Ablaufverfolgungen
Wenn Sie keine Ablaufverfolgungen sehen, überprüfen Sie die folgenden Elemente:
- Das Projekt, in dem Sie Ihren Agent registrieren, hat Application Insights konfiguriert. Wenn Sie Application Insights konfiguriert haben, nachdem Sie den benutzerdefinierten Agent registriert haben, müssen Sie die Registrierung des Agents aufheben und erneut registrieren. Die Application Insights-Konfiguration wird nach der Registrierung nicht automatisch aktualisiert, wenn Sie sie geändert haben.
- Sie haben den Agenten, der auf seiner Infrastruktur läuft, so konfiguriert, dass er Traces an Application Insights sendet, und verwenden dieselbe Application Insights-Ressource, die auch Ihr Projekt nutzt.
- Instrumentation entspricht den OpenTelemetry-Semantikkonventionen für generative KI.
- Traces umfassen Spans mit Attributen
operation="create_agent"undgen_ai.agents.id="<agent-id>"(odergen_ai.agents.name="<agent-id>"). Im letzten Attribut ist der Wert der"<agent-id>"angegeben, den Sie während der Registrierung konfiguriert haben.