Ablaufverfolgung mithilfe von Application Insights
Es ist wichtig, die Gründe für die Ausführungen Ihres Agenten zu ermitteln, um Fehler zu beheben und zu debuggen. Bei komplexen Agenten kann dies jedoch aus verschiedenen Gründen schwierig sein:
- Es kann eine hohe Anzahl von Schritten erforderlich sein, um eine Antwort zu generieren, was es schwierig macht, den Überblick zu behalten.
- Die Reihenfolge der Schritte kann je nach Eingabe der benutzenden Person variieren.
- Die Eingaben/Ausgaben in jeder Phase könnten lang sein und eine detailliertere Untersuchung verdienen.
- Jeder Schritt der Laufzeit eines Agenten kann auch eine Verschachtelung umfassen. Zum Beispiel könnte ein Agent ein Tool aufrufen, das einen anderen Prozess verwendet, der dann ein anderes Tool aufruft. Wenn Sie bei einer Agentenausführung der obersten Ebene eine seltsame oder falsche Ausgabe bemerken, kann es schwierig sein, genau zu bestimmen, an welcher Stelle der Ausführung das Problem aufgetreten ist.
Die Ablaufverfolgung löst dieses Problem, indem sie es ermöglicht, die Ein- und Ausgaben jedes Primitivs, das an einem bestimmten Agentenlauf beteiligt ist, in der Reihenfolge, in der sie aufgerufen wurden, klar zu sehen.
Erstellung einer Application Insights-Ressource
Mit der Ablaufverfolgung können Sie die Leistung und das Verhalten Ihres Agenten analysieren, indem Sie OpenTelemetry verwenden und Ihrem Azure KI Foundry-Projekt eine Application Insights-Ressource hinzufügen.
Um eine Application Insights-Ressource hinzuzufügen, navigieren Sie zur Registerkarte Ablaufverfolgung im Azure KI Foundry-Portal, und erstellen Sie eine neue Ressource, wenn Sie noch keine haben.
Nach der Erstellung können Sie eine Zeichenfolge für die Verbindung mit Application Insights abrufen, Ihre Agenten konfigurieren und den vollständigen Ausführungspfad Ihres Agenten über Azure Monitor beobachten. Normalerweise möchten Sie die Ablaufverfolgung aktivieren, bevor Sie einen Agenten erstellen.
Ablaufverfolgung eines Agenten
Installieren Sie zunächst OpenTelemetry und das Azure SDK-Plugin für die Ablaufverfolgung mit pip install
.
pip install opentelemetry
pip install azure-core-tracing-opentelemetry
Sie benötigen außerdem einen Exporter, um die Ergebnisse an Ihr Backend für Einblicke zu senden. Sie können Ablaufverfolgungen in der Konsole drucken oder einen lokalen Viewer wie das Aspire Dashboard verwenden. Um eine Verbindung zum Aspire Dashboard oder einem anderen OpenTelemetry-kompatiblen Backend herzustellen, installieren Sie den OpenTelemetry Protocol (OTLP)-Exporter.
pip install opentelemetry-exporter-otlp
Sobald Sie die Pakete installiert haben, können Sie eines der folgenden Python-Beispiele verwenden, um die Ablaufverfolgung mit Ihren Agenten zu implementieren. Bei Beispielen, die die Ablaufverfolgung der Konsole verwenden, werden die Ergebnisse lokal in der Konsole angezeigt. Proben, die Azure Monitor verwenden, senden die Ablaufverfolgungen an Azure Monitor im Azure KI Foundry-Portal auf der Registerkarte Ablaufverfolgung im linken Navigationsmenü des Portals.
Hinweis
Es gibt einen bekannten Fehler in der Ablaufverfolgung der Agenten. Der Fehler führt dazu, dass das Funktionswerkzeug des Agenten verwandte Informationen (Funktionsnamen und Parameterwerte, die sensible Informationen enthalten könnten) in die Ablaufverfolgung aufnimmt, auch wenn die Inhaltsaufzeichnung nicht aktiviert ist.
Verwenden von Azure Monitor
- Beispiel für einen einfachen Agenten
- Beispiel für einen Agenten mit Funktionsaufruf
- Beispiel mit einem Streamereignisbehandler
Verwenden der Konsolenablaufverfolgung