AI Observability dans Snowflake Cortex

Utilisez AI Observability dans Snowflake Cortex pour évaluer et tracer vos applications d’AI générative. Avec AI Observability, vous pouvez rendre vos applications plus fiables et plus transparentes. Utilisez-la pour mesurer la performance de vos applications AI en effectuant des évaluations systématiques. Vous pouvez utiliser les informations issues des évaluations pour itérer sur les configurations de votre application et optimiser les performances. Vous pouvez également les utiliser pour consigner des traçages d’application à des fins de débogage.

Utilisez AI Observability pour comparer les performances, ce qui rend vos applications plus fiables et vous donne une plus grande confiance pour les déploiements en production.

AI Observability présente les fonctions suivantes :

  • Évaluations : Utilisez AI Observability pour évaluer systématiquement les performances de vos applications et agents d’AI générative à l’aide de la technique LLM-as-a-judge. Vous pouvez utiliser des métriques, telles que la précision, la latence, l’utilisation et le coût, pour itérer rapidement sur les configurations de votre application et optimiser les performances.

  • Comparaison : Comparez plusieurs évaluations côte à côte et évaluez la qualité et la précision des réponses. Vous pouvez analyser les réponses pour différentes configurations de LLMs, de prompts et d’inférences afin d’identifier la meilleure configuration pour les déploiements en production.

  • Traçage : Tracez chaque étape de l’exécution de l’application à travers les prompts d’entrée, le contexte récupéré, l’utilisation de l’outil et l’inférence LLM. Utilisez-la pour déboguer des enregistrements individuels et affiner l’application en termes de précision, de latence et de coût.

AI Observability peut être utilisée pour évaluer divers types de tâches, telles que la génération assistée par récupération (RAG) et le résumé. Par exemple, le score de pertinence du contexte peut vous aider à détecter la qualité de la récupération des résultats de recherche correspondant à une requête de l’utilisateur. Vous pouvez utiliser les scores de pertinence et d’ancrage de la réponse pour détecter la véracité et la pertinence de la réponse finale en fonction du contexte récupéré.

Pour le résumé, vous pouvez mesurer l’exactitude factuelle et l’exhaustivité des résumés générés par LLM sur la base de l’entrée originale et éviter les prompts et LLMs qui ont une fréquence d’hallucinations plus élevée dans vos applications d’AI générative.

Pour commencer, découvrez les Concepts clés, puis faites un rapide tour d’horizon avec le Tutoriel d’AI Observability. Vous pouvez ensuite utiliser les informations contenues dans Évaluer les applications AI pour une visite approfondie.

Pour examiner un concept spécifique, consultez Référence pour Snowflake AI Observability.

Contrôle d’accès et conditions préalables

Avant de commencer à utiliser AI Observability :

  1. Assurez-vous que le rôle de l’utilisateur est doté des rôles suivants (pour plus d’informations, voir Privilèges requis) :

    • Rôle de la base de données CORTEX_USER

    • Rôle d’application AI_OBSERVABILITY_EVENTS_LOOKUP

    • Privilège CREATE EXTERNAL AGENT sur le schéma

  2. Installez les paquets Trulens Python suivants dans votre projet Python :

    • trulens-core

    • trulens-connectors-snowflake

    • trulens-providers-cortex

  3. Avant de vous connecter à Snowflake, définissez la variable d’environnement TRULENS_OTEL_TRACING sur 1 dans votre environnement Python.

TruLens est la plateforme utilisée par Snowflake pour suivre vos applications. Pour plus d’informations, consultez la documentation TruLens.

Concepts clés

Applications

Une application est une application d’AI générative de bout en bout, conçue à l’aide de multiples composants tels que des LLMs, des outils (tels que des récupérateurs de recherche ou des APIs) et une logique personnalisée supplémentaire. Par exemple, une application peut contenir un pipeline RAG avec des récupérateurs, des reclasseurs et des LLMs chaînés ensemble. Vous pouvez activer AI Observability pour les applications qui peuvent s’exécuter dans n’importe quel environnement (tel que Snowflake, Cloud ou sur site).

Agent externe

Les applications sont représentées dans Snowflake sous forme de EXTERNAL AGENT. Dans Snowflake, un objet EXTERNAL AGENT sert à stocker les métadonnées de l’application et de l’analyse (telles que le nom de l’application, le nom de la version ou le nom du cycle). Il ne stocke pas le code de l’application, la définition de l’application, les traçages d’exécution ou les résultats de l’évaluation. Bien que l’application puisse être hébergée dans n’importe quel environnement (tel que Snowflake, Cloud ou sur site), les traçages d’exécution et les résultats de l’évaluation sont stockés dans une table d’événements de votre compte Snowflake. Pour plus d’informations, voir Données d’observabilité.

Outre le stockage des métadonnées de l’application et de l’évaluation, l’objet EXTERNAL AGENT est également utilisé pour régir l’accès aux traçages et aux résultats de l’évaluation de l’application. Pour plus d’informations, voir Privilèges requis.

Versions

Les applications peuvent avoir plusieurs versions. Chaque version représente une mise en œuvre différente. Par exemple, ces versions peuvent représenter différents récupérateurs, prompts, LLMs ou configurations d’inférence.

Jeu de données

Un jeu de données représente un ensemble d’entrées. Vous pouvez le configurer pour qu’il représente également un ensemble de sorties attendues (la réalité de terrain) afin de tester l’application. À l’aide du jeu de données, vous pouvez appeler l’application pour effectuer les tâches suivantes :

  • Générer la sortie.

  • Capturer les traçages.

  • Calculer les métriques d’évaluation.

Vous pouvez utiliser un jeu de données contenant à la fois les entrées et les sorties générées pour calculer les métriques d’évaluation sans invoquer l’application. Pour obtenir la liste des champs pris en charge dans le jeu de données, voir Jeux de données et attributs.

Cycles

Un cycle est un travail d’évaluation. Il utilise le jeu de données et la version de l’application que vous avez spécifiés pour calculer les métriques d’évaluation.

Un cycle comporte une zone de préparation d’invocation et une zone de préparation de calcul. La zone de préparation d’invocation déclenche l’application pour qu’elle génère la sortie et les traçages correspondants. La zone de préparation de calcul calcule les métriques d’évaluation spécifiées pour le cycle. Il est possible d’effectuer plusieurs calculs pour ajouter de nouvelles métriques à un cycle existant. Pour obtenir la liste des statuts associés à l’exécution d’un cycle, voir Cycles.

Métriques

Les métriques d’évaluation sont des scores que vous utilisez pour évaluer les performances de l’application d’AI générative sur la base de vos propres critères. Ces métriques utilisent les LLMs pour classer les sorties et fournir des informations détaillées sur la notation. Pour une liste complète des métriques et de leurs définitions, voir Mesures d’évaluation.

Traçages

Les traçages sont des enregistrements complets qui capturent les entrées, les sorties et les étapes intermédiaires des interactions avec une application LLM. Les traçages fournissent une vue détaillée de l’exécution de l’application. Utilisez les traçages pour analyser et comprendre le comportement du modèle à chaque zone de préparation. Vous pouvez comparer les traçages de différentes versions de l’application afin d’identifier les améliorations, de résoudre les problèmes et de vérifier les performances prévues. Pour obtenir des informations sur l’accès aux traçages associés à chaque enregistrement, voir Évaluer les applications AI.

Tarifs

AI Observability utilise les LLM pour calculer les métriques d’évaluation. Pour les évaluations côté serveur, les LLMs sur Cortex AI sont utilisés comme juges LLM. Les juges LLM sont invoqués via la fonction COMPLETE (SNOWFLAKE.CORTEX) pour effectuer des évaluations. Les appels de fonctions de Cortex Complete vous sont facturés. Le LLM utilisé pour effectuer les évaluations détermine le montant de votre facture. En outre, les frais suivants vous sont facturés :

  • Frais d’entrepôt pour les requêtes utilisées pour calculer les métriques d’évaluation

  • Frais de stockage des résultats de l’évaluation

  • Frais d’entrepôt pour récupérer les résultats de l’évaluation à consulter dans Snowsight