Partager via


Observabilité dans le noyau sémantique

Brève introduction à l’observabilité

Lorsque vous créez des solutions IA, vous souhaitez être en mesure d’observer le comportement de vos services. L’observabilité est la possibilité de surveiller et d’analyser l’état interne des composants au sein d’un système distribué. Il s’agit d’une exigence essentielle pour la création de solutions IA prêtes pour l’entreprise.

L’observabilité est généralement obtenue par le biais de la journalisation, des métriques et du suivi. Elles sont souvent appelées trois piliers de l’observabilité. Vous entendez également le terme « télémétrie » utilisé pour décrire les données collectées par ces trois piliers. Contrairement au débogage, l’observabilité fournit une vue d’ensemble continue de l’intégrité et des performances du système.

Matériaux utiles pour une lecture plus poussée :

Observabilité dans le noyau sémantique

Le noyau sémantique est conçu pour être observable. Il émet des journaux, des métriques et des traces compatibles avec la norme OpenTelemetry. Vous pouvez utiliser vos outils d’observabilité favoris pour surveiller et analyser le comportement de vos services basés sur le noyau sémantique.

Plus précisément, le noyau sémantique fournit les fonctionnalités d’observabilité suivantes :

  • Journalisation : le noyau sémantique journalise les événements et erreurs significatifs du noyau, des plug-ins et des fonctions du noyau, ainsi que les connecteurs IA. Journaux et événements

    Important

    Les traces dans Application Insights représentent les entrées de journal traditionnelles et les événements d’étendue OpenTelemetry. Ils ne sont pas les mêmes que les traces distribuées.

  • Métriques : le noyau sémantique émet des métriques à partir de fonctions de noyau et de connecteurs IA. Vous serez en mesure de surveiller les métriques telles que le temps d’exécution de la fonction noyau, la consommation de jetons des connecteurs IA, etc. Métriques
  • Suivi : le noyau sémantique prend en charge le suivi distribué. Vous pouvez suivre les activités entre différents services et dans le noyau sémantique. Terminer la transaction de bout en bout d’une demande
Télémétrie Description
Journal Les journaux sont enregistrés dans le noyau. Pour plus d’informations sur la journalisation dans .Net, reportez-vous à ce document. Les données sensibles, telles que les arguments de fonction du noyau et les résultats, sont journalisées au niveau de la trace. Pour plus d’informations sur les niveaux de journal, reportez-vous à ce tableau .
Activité Chaque exécution de fonction noyau et chaque appel à un modèle IA sont enregistrés en tant qu’activité. Toutes les activités sont générées par une source d’activité nommée « Microsoft.SemanticKernel ».
Métrique Le noyau sémantique capture les métriques suivantes à partir des fonctions du noyau :
  • semantic_kernel.function.invocation.duration (Histogramme) : temps d’exécution de la fonction (en secondes)
  • semantic_kernel.function.streaming.duration (Histogramme) : temps d’exécution de streaming de fonction (en secondes)
  • semantic_kernel.function.invocation.token_usage.prompt (Histogramme) : nombre d’utilisation des jetons d’invite (uniquement pour KernelFunctionFromPrompt)
  • semantic_kernel.function.invocation.token_usage.completion (Histogramme) : nombre d’utilisation du jeton d’achèvement (uniquement pour KernelFunctionFromPrompt)
Télémétrie Description
Journal Les journaux sont enregistrés dans le noyau. Pour plus d’informations sur la journalisation dans Python, reportez-vous à ce document. Les données sensibles, telles que les arguments de fonction du noyau et les résultats, sont journalisées au niveau du débogage.
Étendue Chaque boucle d’appel de fonction automatique, chaque exécution de fonction noyau et chaque appel à un modèle IA sont enregistrés sous forme d’étendue.
Métrique Le noyau sémantique capture les métriques suivantes à partir des fonctions du noyau :
  • semantic_kernel.function.invocation.duration (Histogramme) : temps d’exécution de la fonction (en secondes)
  • semantic_kernel.function.streaming.duration (Histogramme) : temps d’exécution de streaming de fonction (en secondes)

Remarque

L’observabilité du noyau sémantique n’est pas encore disponible pour Java.

Convention sémantique OpenTelemetry

Le noyau sémantique suit la convention sémantique OpenTelemetry pour l’observabilité. Cela signifie que les journaux, les métriques et les traces émis par le noyau sémantique sont structurés et suivent un schéma commun. Cela garantit que vous pouvez analyser plus efficacement les données de télémétrie émises par le noyau sémantique.

Remarque

Actuellement, les conventions sémantiques pour l’IA générative sont en état expérimental. Le noyau sémantique s’efforce de suivre la convention sémantique OpenTelemetry aussi étroitement que possible et de fournir une expérience d’observabilité cohérente et significative pour les solutions IA.

Étapes suivantes

Maintenant que vous avez une compréhension de base de l’observabilité dans le noyau sémantique, vous pouvez en savoir plus sur la sortie des données de télémétrie dans la console ou utiliser des outils APM pour visualiser et analyser les données de télémétrie.