Observabilidade no Kernel Semântico

Breve introdução à observabilidade

Quando você cria soluções de IA, você quer ser capaz de observar o comportamento de seus serviços. Observabilidade é a capacidade de monitorar e analisar o estado interno dos componentes dentro de um sistema distribuído. É um requisito fundamental para a construção de soluções de IA prontas para empresas.

A observabilidade é normalmente alcançada por meio de registro, métricas e rastreamento. Eles são muitas vezes referidos como os três pilares da observabilidade. Você também ouvirá o termo "telemetria" usado para descrever os dados coletados por esses três pilares. Ao contrário da depuração, a observabilidade fornece uma visão geral contínua da integridade e do desempenho do sistema.

Materiais úteis para leitura:

Observabilidade no Kernel Semântico

O Kernel Semântico foi projetado para ser observável. Ele emite logs, métricas e rastreamentos que são compatíveis com o padrão OpenTelemetry . Você pode usar suas ferramentas favoritas de observabilidade para monitorar e analisar o comportamento de seus serviços construídos no Kernel Semântico.

Especificamente, o Kernel Semântico fornece os seguintes recursos de observabilidade:

  • Logging: O Kernel Semântico registra eventos e erros significativos do kernel, plugins e funções do kernel, bem como os conectores de IA. Registos e eventos

    Importante

    Os rastreios no Application Insights representam entradas de registo tradicionais e eventos de span do OpenTelemetry. Não são o mesmo que vestígios distribuídos.

  • Métricas: O Kernel Semântico emite métricas a partir de funções do kernel e conectores de IA. Você será capaz de monitorar métricas como o tempo de execução da função do kernel, o consumo de token de conectores de IA, etc. Métricas
  • Rastreamento: O kernel semântico suporta rastreamento distribuído. Você pode acompanhar atividades em diferentes serviços e dentro do Kernel Semântico. Concluir a transação de ponta a ponta de uma solicitação
Telemetria Descrição
Registo Os logs são gravados em todo o Kernel. Para obter mais informações sobre como fazer login no .Net, consulte este documento. Dados sensíveis, como argumentos e resultados de funções do kernel, são registados ao nível de rastreio. Consulte esta tabela para obter mais informações sobre os níveis de log.
Atividade Cada execução de função do kernel e cada chamada para um modelo de IA são registradas como uma atividade. Todas as atividades são geradas por uma fonte de atividade chamada "Microsoft.SemanticKernel".
Métrica O Kernel Semântico captura as seguintes métricas das funções do kernel:
  • semantic_kernel.function.invocation.duration (Histograma) - tempo de execução da função (em segundos)
  • semantic_kernel.function.streaming.duration (Histograma) - tempo de execução do fluxo da função (em segundos)
  • semantic_kernel.function.invocation.token_usage.prompt (Histograma) - número de tokens do prompt utilizados (apenas para KernelFunctionFromPrompt)
  • semantic_kernel.function.invocation.token_usage.completion (Histograma) - número de tokens de conclusão utilizados (apenas para KernelFunctionFromPrompt)
Telemetria Descrição
Registo Os logs são gravados em todo o Kernel. Para obter mais informações sobre como fazer login em Python, consulte este documento. Dados confidenciais, como argumentos e resultados da função do kernel, são registrados no nível de depuração.
Extensão Cada ciclo de invocação automática de função, cada execução de função do kernel e cada chamada a um modelo de IA são registados como um span.
Métrica O Kernel Semântico captura as seguintes métricas das funções do kernel:
  • semantic_kernel.function.invocation.duration (Histograma) - tempo de execução da função (em segundos)
  • semantic_kernel.function.streaming.duration (Histograma) - tempo de execução da transmissão da função (em segundos)

Nota

A Observabilidade do Kernel Semântico ainda não está disponível para Java.

Convenção Semântica OpenTelemetry

O Kernel Semântico segue a Convenção Semântica de Telemetria Aberta para Observabilidade. Isso significa que os logs, métricas e rastreamentos emitidos pelo Kernel Semântico são estruturados e seguem um esquema comum. Isso garante que você possa analisar de forma mais eficaz os dados de telemetria emitidos pelo Kernel Semântico.

Nota

Atualmente, as Convenções Semânticas para IA Generativa estão em estado experimental. O Kernel Semântico se esforça para seguir a Convenção Semântica OpenTelemetry o mais de perto possível e fornecer uma experiência de observabilidade consistente e significativa para soluções de IA.

Próximos passos

Agora que você tem uma compreensão básica da observabilidade no Kernel Semântico, pode aprender mais sobre como enviar dados de telemetria para o console ou usar ferramentas APM para visualizar e analisar dados de telemetria.