Condividi tramite


Osservabilità nel kernel semantico

Breve introduzione all'osservabilità

Quando si creano soluzioni di intelligenza artificiale, si vuole essere in grado di osservare il comportamento dei servizi. L'osservabilità è la possibilità di monitorare e analizzare lo stato interno dei componenti all'interno di un sistema distribuito. È un requisito fondamentale per la creazione di soluzioni di intelligenza artificiale pronte per l'azienda.

L'osservabilità viene in genere ottenuta tramite registrazione, metriche e traccia. Sono spesso definiti tre pilastri dell'osservabilità. Si sente anche il termine "telemetria" usato per descrivere i dati raccolti da questi tre pilastri. A differenza del debug, l'osservabilità offre una panoramica continuativa dell'integrità e delle prestazioni del sistema.

Materiali utili per ulteriori letture:

Osservabilità nel kernel semantico

Il kernel semantico è progettato per essere osservabile. Genera log, metriche e tracce compatibili con lo standard OpenTelemetry. È possibile usare gli strumenti di osservabilità preferiti per monitorare e analizzare il comportamento dei servizi basati sul kernel semantico.

In particolare, il kernel semantico fornisce le funzionalità di osservabilità seguenti:

  • Registrazione: il kernel semantico registra eventi ed errori significativi dal kernel, dai plug-in e dalle funzioni del kernel, nonché dai connettori di intelligenza artificiale. Log ed eventi

    Importante

    Le tracce in Application Insights rappresentano le voci di log tradizionali e gli eventi di intervallo OpenTelemetry. Non sono uguali a tracce distribuite.

  • Metriche: il kernel semantico genera metriche dalle funzioni del kernel e dai connettori di intelligenza artificiale. Sarà possibile monitorare le metriche, ad esempio il tempo di esecuzione della funzione kernel, il consumo di token dei connettori di intelligenza artificiale e così via. Metrica
  • Traccia: il kernel semantico supporta la traccia distribuita. È possibile tenere traccia delle attività tra diversi servizi e all'interno del kernel semantico. Completare la transazione end-to-end di una richiesta
Telemetria Descrizione
Log I log vengono registrati in tutto il kernel. Per altre informazioni sulla registrazione in .NET, vedere questo documento. I dati sensibili, ad esempio gli argomenti della funzione kernel e i risultati, vengono registrati a livello di traccia. Per altre informazioni sui livelli di log, vedere questa tabella .
Impegno Ogni esecuzione della funzione kernel e ogni chiamata a un modello di intelligenza artificiale viene registrata come attività. Tutte le attività vengono generate da un'origine attività denominata "Microsoft.SemanticKernel".
Metric Il kernel semantico acquisisce le metriche seguenti dalle funzioni del kernel:
  • semantic_kernel.function.invocation.duration (Istogramma) - Tempo di esecuzione della funzione (in secondi)
  • semantic_kernel.function.streaming.duration (Istogramma) - Tempo di esecuzione del flusso di funzioni (in secondi)
  • semantic_kernel.function.invocation.token_usage.prompt (Istogramma): numero di utilizzo del token di richiesta (solo per KernelFunctionFromPrompt)
  • semantic_kernel.function.invocation.token_usage.completion (Istogramma): numero di utilizzo del token di completamento (solo per KernelFunctionFromPrompt)
Telemetria Descrizione
Log I log vengono registrati in tutto il kernel. Per altre informazioni sulla registrazione in Python, vedere questo documento. I dati sensibili, ad esempio argomenti e risultati della funzione kernel, vengono registrati a livello di debug.
Span Ogni ciclo di chiamata alla funzione automatica, ogni esecuzione della funzione kernel e ogni chiamata a un modello di intelligenza artificiale viene registrata come intervallo.
Metric Il kernel semantico acquisisce le metriche seguenti dalle funzioni del kernel:
  • semantic_kernel.function.invocation.duration (Istogramma) - Tempo di esecuzione della funzione (in secondi)
  • semantic_kernel.function.streaming.duration (Istogramma) - Tempo di esecuzione del flusso di funzioni (in secondi)

Nota

L'osservabilità del kernel semantico non è ancora disponibile per Java.

Convenzione semantica OpenTelemetry

Il kernel semantico segue la convenzione semantica OpenTelemetry per l'osservabilità. Ciò significa che i log, le metriche e le tracce generati dal kernel semantico sono strutturati e seguono uno schema comune. In questo modo è possibile analizzare in modo più efficace i dati di telemetria generati dal kernel semantico.

Nota

Attualmente, le convenzioni semantiche per l'intelligenza artificiale generativa sono in stato sperimentale. Il kernel semantico si impegna a seguire la convenzione semantica OpenTelemetry il più possibile e offrire un'esperienza di osservabilità coerente e significativa per le soluzioni di intelligenza artificiale.

Passaggi successivi

Ora che si ha una conoscenza di base dell'osservabilità nel kernel semantico, è possibile ottenere altre informazioni su come restituire i dati di telemetria nella console o usare gli strumenti APM per visualizzare e analizzare i dati di telemetria.