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: kernel semántico registra eventos y errores significativos del kernel, los complementos de kernel y las funciones, así como los conectores de IA. Registros y eventos

    Importante

    Los seguimientos de Application Insights representan entradas de registro tradicionales y eventos de intervalo de OpenTelemetry. No son iguales que los seguimientos distribuidos.

  • 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 en diferentes servicios y en kernel semántico. Completar la transacción de un extremo a otro de una solicitud
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 streaming de funciones (en segundos)
  • semantic_kernel.function.invocation.token_usage.prompt (Histograma): número de uso del token de solicitud (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 están en estado 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.