Dela via


Observerbarhet i semantisk kernel

Kort introduktion till observerbarhet

När du skapar AI-lösningar vill du kunna observera beteendet för dina tjänster. Observerbarhet är möjligheten att övervaka och analysera det interna tillståndet för komponenter i ett distribuerat system. Det är ett viktigt krav för att skapa företagsklara AI-lösningar.

Observerbarhet uppnås vanligtvis genom loggning, mått och spårning. De kallas ofta de tre pelarna för observerbarhet. Du kommer också att höra termen "telemetri" som används för att beskriva de data som samlas in av dessa tre pelare. Till skillnad från felsökning ger observerbarhet en löpande översikt över systemets hälsa och prestanda.

Användbara material för vidare läsning:

Observerbarhet i semantisk kernel

Semantisk kernel är utformad för att vara observerbar. Den genererar loggar, mått och spårningar som är kompatibla med OpenTelemetry-standarden. Du kan använda dina favoritverktyg för observerbarhet för att övervaka och analysera beteendet för dina tjänster som bygger på semantisk kernel.

Mer specifikt tillhandahåller semantisk kernel följande observerbarhetsfunktioner:

  • Loggning: Semantisk kernel loggar meningsfulla händelser och fel från kerneln, kernel-plugin-program och funktioner samt AI-anslutningsappar. Loggar och händelser

    Viktigt!

    Spårningar i Application Insights representerar traditionella loggposter och OpenTelemetry-spanhändelser. De är inte samma som distribuerade spårningar.

  • Mått: Semantisk kernel genererar mått från kernelfunktioner och AI-anslutningsappar. Du kommer att kunna övervaka mått som körningstiden för kernelfunktionen, tokenförbrukningen för AI-anslutningsappar osv. Mått
  • Spårning: Semantisk kernel stöder distribuerad spårning. Du kan spåra aktiviteter mellan olika tjänster och inom semantisk kernel. Slutföra en transaktion från slutpunkt till slutpunkt för en begäran
Telemetri beskrivning
Loggas Loggar registreras i hela kerneln. Mer information om loggning i .Net finns i det här dokumentet. Känsliga data, till exempel kernelfunktionsargument och resultat, loggas på spårningsnivå. Mer information om loggnivåer finns i den här tabellen .
Aktivitet Varje kernelfunktionskörning och varje anrop till en AI-modell registreras som en aktivitet. Alla aktiviteter genereras av en aktivitetskälla med namnet "Microsoft.SemanticKernel".
Mått Semantisk kernel samlar in följande mått från kernelfunktioner:
  • semantic_kernel.function.invocation.duration (Histogram) – funktionskörningstid (i sekunder)
  • semantic_kernel.function.streaming.duration (Histogram) – körningstid för funktionsströmning (i sekunder)
  • semantic_kernel.function.invocation.token_usage.prompt (Histogram) – antal användning av prompttoken (endast för KernelFunctionFromPrompt)
  • semantic_kernel.function.invocation.token_usage.completion (Histogram) – antal användning av slutförandetoken (endast för KernelFunctionFromPrompt)
Telemetri beskrivning
Loggas Loggar registreras i hela kerneln. Mer information om loggning i Python finns i det här dokumentet. Känsliga data, till exempel kernelfunktionsargument och resultat, loggas på felsökningsnivå.
Spann Varje anropsloop för automatisk funktion, varje kernelfunktionskörning och varje anrop till en AI-modell registreras som ett spann.
Mått Semantisk kernel samlar in följande mått från kernelfunktioner:
  • semantic_kernel.function.invocation.duration (Histogram) – funktionskörningstid (i sekunder)
  • semantic_kernel.function.streaming.duration (Histogram) – körningstid för funktionsströmning (i sekunder)

Kommentar

Semantisk kernelobservabilitet är ännu inte tillgängligt för Java.

OpenTelemetry Semantic Convention

Semantisk kernel följer OpenTelemetry Semantic Convention for Observability. Det innebär att loggar, mått och spårningar som genereras av semantisk kernel är strukturerade och följer ett gemensamt schema. Detta säkerställer att du mer effektivt kan analysera telemetridata som genereras av semantisk kernel.

Kommentar

För närvarande är semantiska konventioner för generativ AI i experimentell status. Semantisk kernel strävar efter att följa OpenTelemetry Semantic Convention så nära som möjligt och ge en konsekvent och meningsfull observerbarhetsupplevelse för AI-lösningar.

Nästa steg

Nu när du har en grundläggande förståelse för observerbarhet i semantisk kernel kan du lära dig mer om hur du matar ut telemetridata till konsolen eller använder APM-verktyg för att visualisera och analysera telemetridata.