Observability in Semantic Kernel
Kurze Einführung in die Beobachtbarkeit
Wenn Sie KI-Lösungen erstellen, möchten Sie das Verhalten Ihrer Dienste beobachten können. Observability ist die Möglichkeit, den internen Zustand von Komponenten innerhalb eines verteilten Systems zu überwachen und zu analysieren. Es ist eine wichtige Voraussetzung für die Erstellung unternehmensfähiger KI-Lösungen.
Observability wird in der Regel durch Protokollierung, Metriken und Ablaufverfolgung erreicht. Sie werden häufig als die drei Säulen der Observability bezeichnet. Sie hören auch den Begriff "Telemetrie", der verwendet wird, um die von diesen drei Säulen gesammelten Daten zu beschreiben. Im Gegensatz zum Debuggen bietet die Observability eine fortlaufende Übersicht über die Integrität und Leistung des Systems.
Nützliche Materialien für weitere Lektüre:
- Observability defined by Cloud Native Computing Foundation
- Verteilte Ablaufverfolgung
- Observability in .Net
- OpenTelemetry
Observability in Semantic Kernel
Der semantische Kernel ist so konzipiert, dass er feststellbar ist. Es gibt Protokolle, Metriken und Ablaufverfolgungen aus, die mit dem OpenTelemetry-Standard kompatibel sind. Sie können Ihre bevorzugten Observability-Tools verwenden, um das Verhalten Ihrer Dienste zu überwachen und zu analysieren, die auf dem semantischen Kernel basieren.
Insbesondere stellt der semantische Kernel die folgenden Observability-Features bereit:
- Protokollierung: Der semantische Kernel protokolliert aussagekräftige Ereignisse und Fehler aus dem Kernel, Kernel-Plug-Ins und Funktionen sowie den KI-Connectors.
Wichtig
Ablaufverfolgungen in Application Insights stellen herkömmliche Protokolleinträge und OpenTelemetry-Span-Ereignisse dar. Sie sind nicht identisch mit verteilten Ablaufverfolgungen.
- Metriken: Der semantische Kernel gibt Metriken von Kernelfunktionen und AI-Connectors aus. Sie können Metriken wie die Ausführungszeit der Kernelfunktion, den Tokenverbrauch von KI-Connectors usw. überwachen.
- Ablaufverfolgung: Der semantische Kernel unterstützt die verteilte Ablaufverfolgung. Sie können Aktivitäten in verschiedenen Diensten und innerhalb des semantischen Kernels nachverfolgen.
Telemetrie | Beschreibung |
---|---|
Protokoll | Protokolle werden im gesamten Kernel aufgezeichnet. Weitere Informationen zur Protokollierung in .Net finden Sie in diesem Dokument. Vertrauliche Daten, z. B. Kernelfunktionsargumente und Ergebnisse, werden auf Ablaufverfolgungsebene protokolliert. Weitere Informationen zu Protokollebenen finden Sie in dieser Tabelle . |
Aktivität | Jede Kernelfunktionsausführung und jeder Aufruf eines KI-Modells werden als Aktivität aufgezeichnet. Alle Aktivitäten werden von einer Aktivitätsquelle namens "Microsoft.SemanticKernel" generiert. |
Metrik | Der semantische Kernel erfasst die folgenden Metriken aus Kernelfunktionen:
|
Telemetrie | Beschreibung |
---|---|
Protokoll | Protokolle werden im gesamten Kernel aufgezeichnet. Weitere Informationen zur Protokollierung in Python finden Sie in diesem Dokument. Vertrauliche Daten, z. B. Kernelfunktionsargumente und Ergebnisse, werden auf Debugebene protokolliert. |
Span | Jede Automatische Funktionsaufrufschleife, jede Kernelfunktionsausführung und jeder Aufruf eines KI-Modells werden als Spanne aufgezeichnet. |
Metrik | Der semantische Kernel erfasst die folgenden Metriken aus Kernelfunktionen:
|
Hinweis
Die semantische Kernel-Observability ist für Java noch nicht verfügbar.
OpenTelemetry Semantic Convention
Der semantische Kernel folgt der OpenTelemetry Semantic Convention for Observability. Dies bedeutet, dass die Protokolle, Metriken und Ablaufverfolgungen, die vom semantischen Kernel ausgegeben werden, strukturiert sind und einem gemeinsamen Schema folgen. Dadurch wird sichergestellt, dass Sie die telemetriedaten, die vom semantischen Kernel ausgegeben werden, effektiver analysieren können.
Hinweis
Derzeit befinden sich die semantischen Konventionen für generative KI im experimentellen Status. Der semantische Kernel ist bestrebt, der OpenTelemetry-Semantikkonvention so genau wie möglich zu folgen und eine konsistente und sinnvolle Beobachtbarkeitserfahrung für KI-Lösungen bereitzustellen.
Nächste Schritte
Nachdem Sie nun ein grundlegendes Verständnis der Observierbarkeit im semantischen Kernel haben, erfahren Sie mehr darüber, wie Sie Telemetriedaten in die Konsole ausgeben oder APM-Tools zum Visualisieren und Analysieren von Telemetriedaten verwenden.