Compartilhar via


Observabilidade no kernel semântico

Breve introdução à observabilidade

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

A observabilidade geralmente é obtida por meio de registro, métricas e rastreamento. Eles são frequentemente chamados de 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 adicional:

Observabilidade no kernel semântico

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

Especificamente, o Semantic Kernel fornece os seguintes recursos de observabilidade:

  • Registro: o Semantic Kernel registra eventos e erros significativos do kernel, plug-ins e funções do kernel, bem como dos conectores de IA. Logs e eventos

    Importante

    Os rastreamentos no Application Insights representam entradas de log tradicionais e eventos de intervalo do OpenTelemetry. Eles não são o mesmo que rastreamentos distribuídos.

  • Métricas: o Kernel Semântico emite métricas de funções de kernel e conectores de IA. Você poderá monitorar métricas como o tempo de execução da função do kernel, o consumo de token dos conectores de IA, etc. Métricas
  • Rastreamento: o Semantic Kernel dá suporte ao rastreamento distribuído. Você pode acompanhar atividades em diferentes serviços e no Kernel Semântico. Concluir a transação de ponta a ponta de uma solicitação
Telemetria Descrição
Log Os logs são registrados em todo o Kernel. Para obter mais informações sobre como fazer login no .Net, consulte este documento. Dados confidenciais, como argumentos e resultados de função kernel, são registrados no nível de rastreamento. Consulte esta tabela para obter mais informações sobre os níveis de log.
Atividade Cada execução de função de 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".
Metric 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 de streaming de função (em segundos)
  • semantic_kernel.function.invocation.token_usage.prompt (Histograma) - número de uso de token de prompt (somente para KernelFunctionFromPrompt)
  • semantic_kernel.function.invocation.token_usage.completion (Histograma) - número de uso do token de conclusão (somente para KernelFunctionFromPrompt)
Telemetria Descrição
Log Os logs são registrados em todo o Kernel. Para obter mais informações sobre o registro em Python, consulte este documento. Dados confidenciais, como argumentos e resultados de função kernel, são registrados no nível de depuração.
Extensão. Cada loop de invocação de função automática, cada execução de função de kernel e cada chamada para um modelo de IA são registrados como um intervalo.
Metric 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 de streaming de função (em segundos)

Observação

A observabilidade semântica do kernel ainda não está disponível para Java.

Convenção semântica OpenTelemetry

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

Observação

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

Próximas etapas

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