Leggere in inglese

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
Registro 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".
Metrica 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
Registro 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.
Ampiezza 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.
Metrica 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.