Observabilidad en Kernel semántico

Breve introducción a la observabilidad

Al crear soluciones de inteligencia artificial, quiere poder observar el comportamiento de los servicios. La observabilidad es la capacidad de supervisar y analizar el estado interno de los componentes dentro de un sistema distribuido. Es un requisito clave para crear soluciones de inteligencia artificial listas para la empresa.

La observabilidad se logra normalmente mediante el registro, las métricas y el seguimiento. A menudo se conocen como los tres pilares de observabilidad. También escuchará el término "telemetría" que se usa para describir los datos recopilados por estos tres pilares. A diferencia de la depuración, la observabilidad proporciona una visión general continua del estado y el rendimiento del sistema.

Materiales útiles para leer más:

Observabilidad en Kernel semántico

El kernel semántico está diseñado para ser observable. Emite registros, métricas y seguimientos compatibles con el estándar OpenTelemetry. Puede usar sus herramientas de observabilidad favoritas para supervisar y analizar el comportamiento de los servicios basados en kernel semántico.

En concreto, el kernel semántico proporciona las siguientes características de observabilidad:

  • Registro de eventos: Kernel semántico registra eventos y errores significativos del kernel, sus complementos y funciones, así como de los conectores de IA. Registros y eventos

    Importante

    Las trazas de Application Insights representan entradas de registro tradicionales y eventos de tramo de OpenTelemetry. No son lo mismo que las trazas distribuidas.

  • Métricas: el kernel semántico emite métricas de funciones de kernel y conectores de IA. Podrá supervisar métricas como el tiempo de ejecución de la función de kernel, el consumo de tokens de los conectores de IA, etc. Métricas
  • Seguimiento: kernel semántico admite el seguimiento distribuido. Puede realizar un seguimiento de las actividades entre distintos servicios y dentro de Kernel semántico. Proceso completo de una solicitud de principio a fin
Telemetría Descripción
Registro Los registros se registran en todo el kernel. Para obtener más información sobre el registro en .Net, consulte este documento. Los datos confidenciales, como los argumentos y los resultados de la función de kernel, se registran en el nivel de seguimiento. Consulte esta tabla para obtener más información sobre los niveles de registro.
Actividad Cada ejecución de función de kernel y cada llamada a un modelo de IA se registran como una actividad. Todas las actividades se generan mediante un origen de actividad denominado "Microsoft.SemanticKernel".
Métrica El kernel semántico captura las siguientes métricas de las funciones de kernel:
  • semantic_kernel.function.invocation.duration (Histograma): tiempo de ejecución de la función (en segundos)
  • semantic_kernel.function.streaming.duration (Histograma) - tiempo de ejecución de transmisión de la función (en segundos)
  • semantic_kernel.function.invocation.token_usage.prompt (Histograma) - número de tokens del prompt utilizados (solo para KernelFunctionFromPrompt)
  • semantic_kernel.function.invocation.token_usage.completion (Histograma): número de uso del token de finalización (solo para KernelFunctionFromPrompt)
Telemetría Descripción
Registro Los registros se registran en todo el kernel. Para más información sobre el registro en Python, consulte este documento. Los datos confidenciales, como los argumentos y los resultados de la función kernel, se registran en el nivel de depuración.
Intervalo Cada bucle de invocación de función automática, cada ejecución de función de kernel y cada llamada a un modelo de IA se registra como un intervalo.
Métrica El kernel semántico captura las siguientes métricas de las funciones de kernel:
  • semantic_kernel.function.invocation.duration (Histograma): tiempo de ejecución de la función (en segundos)
  • semantic_kernel.function.streaming.duration (Histograma): tiempo de ejecución de streaming de funciones (en segundos)

Nota:

La observabilidad semántica del kernel aún no está disponible para Java.

Convención semántica de OpenTelemetry

El kernel semántico sigue la convención semántica de OpenTelemetry para la observabilidad. Esto significa que los registros, las métricas y los seguimientos emitidos por el kernel semántico están estructurados y siguen un esquema común. Esto garantiza que puede analizar de forma más eficaz los datos de telemetría emitidos por kernel semántico.

Nota:

Actualmente, las convenciones semánticas para IA generativa se encuentran en fase experimental. El kernel semántico se esfuerza por seguir la convención semántica de OpenTelemetry lo más cerca posible y proporcionar una experiencia de observabilidad coherente y significativa para las soluciones de inteligencia artificial.

Pasos siguientes

Ahora que tiene un conocimiento básico de la observabilidad en kernel semántico, puede obtener más información sobre cómo generar datos de telemetría en la consola o usar herramientas de APM para visualizar y analizar datos de telemetría.