Blog

Cortex Analyst : vers l’analytics en libre-service avec l’IA

Logo Snowflake Cortex

Aujourd’hui, nous sommes ravis d’annoncer la public preview de Snowflake Cortex Analyst. Cortex Analyst, conçu à l’aide des modèles Llama et Mistral de Meta, est un service entièrement géré qui fournit une interface conversationnelle pour interagir avec les données structurées dans Snowflake. Il rationalise le développement d’applications analytiques intuitives en libre-service pour les utilisateurs métiers, tout en fournissant une précision de pointe.

Historiquement, les utilisateurs métiers s’appuyaient principalement sur les tableaux de bord et les rapports de BI pour répondre à leurs questions sur les données. Cependant, ces ressources manquent souvent de flexibilité, laissant les utilisateurs dépendants des data analysts surchargés pour obtenir des actualisations ou des réponses, ce qui peut prendre des jours. Cortex Analyst perturbe ce cycle en fournissant une interface de langage naturel avec une grande précision des conversions text-to-SQL. Avec Cortex Analyst, les entreprises peuvent rationaliser le développement d’applications conversationnelles intuitives qui permettent aux utilisateurs métiers de poser des questions en langage naturel et de recevoir des réponses plus précises en temps quasi réel.

Pour offrir une grande précision text-to-SQL, Cortex Analyst utilise une configuration d’IA agentique alimentée par des LLM de pointe. Disponible en tant qu’API REST pratique, Cortex Analyst peut s’intégrer facilement dans n’importe quelle application. Cela permet aux développeurs de personnaliser comment et où les utilisateurs métiers interagissent avec les résultats, tout en profitant des fonctions intégrées de sécurité et de gouvernance de Snowflake, y compris les contrôles d'accès basés sur les rôles (RBAC), pour protéger les données précieuses.

Application d’analytics en libre-service utilisant Cortex Analyst

Cortex Analyst booste la valeur des investissements data chez Bayer

Bayer, leader dans l’innovation pharmaceutique et biomédicale, utilise Cortex Analyst pour alimenter des analyses en libre-service sur ses données d’entreprise. Auparavant, les équipes avaient accès à la plateforme data d’entreprise à l’aide de tableaux de bord, qui n’avaient souvent pas la flexibilité nécessaire pour répondre au nombre croissant de questions des utilisateurs.

Désormais, en utilisant Streamlit in Snowflake comme interface de chat et Cortex Analyst comme service de génération de requêtes, Bayer est en mesure d’augmenter la Business Intelligence existante avec des analyses en libre-service en langage naturel. Au cours de la première phase, son application s’est concentrée sur la réponse à des questions de gestion de VP commerciaux, telles que : « Quelle était la part de marché du produit X au cours du dernier mois ? » Il prend maintenant en charge les analystes des unités commerciales, offrant des données détaillées au niveau des lignes pour une analyse plus approfondie. Vous pouvez en savoir plus sur le parcours de Bayer ici.

Quote Icon

Et si les utilisateurs métiers des entreprises pouvaient poser des questions précises directement aux données et obtenir des réponses avec une visualisation simple ? L’avantage : des réponses de haute qualité à une requête en langage naturel portant sur des données structurées, utilisées de manière durable du point de vue opérationnel. C’est exactement ce que nous permet Snowflake Cortex Analyst. Ce qui me réjouit le plus, c’est que nous n’en sommes encore qu’au début ; nous avons hâte d’extraire encore plus de valeur grâce à Snowflake Cortex AI. »

Mukesh Dubey
Product Owner Data Platform, CH NA, Bayer

Les solutions actuelles d’IA pour la BI visent à démocratiser l’accès à l’analytics mais manquent de précision

Les grands modèles de langage (LLM), grâce à leur capacité à comprendre le langage naturel et à générer du code, ont déclenché une vague d’intérêt autour de la démocratisation de l’analytics en la rendant accessible même aux personnes ne disposant pas de connaissances en SQL. Cependant, malgré les récents progrès, les LLM ont encore du mal à comprendre les bases de données et les schémas réels, ce qui est nécessaire pour générer du SQL précis et des réponses fiables. Les solutions sectorielles qui s’appuient uniquement sur l’exploitation des LLM pour générer du text-to-SQL sur le schéma brut souffrent d’une faible précision et passent rarement de la démo à la production.

Comme le souligne un récent rapport Forrester, les preuves anecdotiques montrent un taux de réussite de 70 % dans le meilleur des cas pour générer un code exécutable précis pour des requêtes simples à table unique et un taux de réussite d’environ 20 %, dans le pire des cas, avec plusieurs tables et/ou jointures complexes. Si un service est conçu pour répondre aux questions des utilisateurs métiers sur les données, une grande précision est primordiale. Pour garantir l’adoption de solutions basées sur le langage naturel, les équipes métiers doivent être convaincus que les résultats obtenus reflètent de manière cohérente des faits exploitables. Sans résultats précis suscitant la confiance, aucune autre fonctionnalité n’a d’importance.

Cortex Analyst repose sur quatre principes clés pour obtenir fiabilité et précision

L’obtention d’un code SQL de grande précision pour différents cas d’usage nécessite plus que l’utilisation de LLM avancés. Chez Snowflake, nous nous appuyons sur les principes clés suivants pour créer un produit fiable pouvant être intégré dans n'importe quelle application : 

  1. Sémantique de capture : les schémas bruts manquent souvent d’informations sémantiques, compliquant la capacité d’un LLM à répondre de manière précise aux questions sur les données en fonction de l’intention de l’utilisateur. Comme un analyste humain, le système doit comprendre l’intention de la question, y compris le vocabulaire de l’utilisateur et son jargon spécifique. Des modèles de données sémantiques doivent être utilisés pour capturer ces informations afin de fournir une grande précision.

  2. Contenir l’espace problématique : il est important de créer des modèles de données sémantiques spécifiques aux cas d’usage, tels que ceux pour le marketing analytics ou le sales analytics. La précision du SQL généré peut être considérablement augmentée dans un périmètre restreint, au lieu de cibler l'ensemble du schéma de base de données. Trop de tables et de colonnes similaires peuvent brouiller les LLM et ainsi réduire la précision.

  3. Rejeter les questions sans réponse et proposer des alternatives : comme un analyste intelligent, notre système identifie et rejette de manière proactive les questions ambiguës ou sans réponse, compte tenu des données disponibles. Au lieu de produire des résultats incorrects, il suggère des requêtes alternatives auxquelles il est possible de répondre en toute confiance, et préserve ainsi la confiance des utilisateurs.

  4. Évoluer avec la technologie : même les LLM de pointe ont actuellement du mal à générer du SQL correct sur des schémas complexes. Bien que l'activation des jointures ne soit pas difficile, fournir des résultats précis sans sur/sous-estimer les post-jointures et en gérant des formes de schéma délicates, comme les chasm traps et fan traps, est difficile pour les modèles d'IA actuels. En simplifiant les schémas, nous pouvons améliorer considérablement la fiabilité et la précision du code SQL généré.

Étant donné que Snowflake se concentre principalement sur la précision, nous avons intentionnellement ciblé la portée actuelle du produit avec les stratégies ci-dessus, en observant environ 90 % ou plus de précision de manière fiable dans les évaluations clients ainsi que dans nos tests de benchmark. Au fil du temps, nous prévoyons d'introduire progressivement davantage de fonctionnalités pour prendre en charge les cas d'usage avancés, tout en maintenant les mêmes niveaux de précision, indispensables pour susciter la confiance.

Précision de text-to-SQL

Le benchmark ci-dessus est basé sur l’un de nos ensembles d’évaluation internes, représentatif des cas d’usage réels. Les résultats montrent que Cortex Analyst est constamment près de 2 fois plus précis que la génération de SQL en une fois à partir de LLM de pointe (SoTA) et offre une précision environ 14 % supérieure à celle d’une autre solution text-to-SQL sur le marché. Ne ratez pas notre prochain article de blog d'ingénierie, où nous approfondirons les détails et les résultats des benchmarks.

Cortex Analyst accélère le déploiement de l’analytics conversationnelle en libre-service tout en réduisant le TCO

Créer une solution pour la production nécessite un service qui génère des réponses text-to-SQL précises. Pour la plupart des équipes, développer un tel service est une tâche colossale, entraînant souvent des mois de travail qui ne dépassent jamais la phase de démo. Équilibrer la précision, la latence et les coûts est difficile, aboutissant souvent à des solutions non optimales. Cortex Analyst simplifie ce processus en fournissant un système d’IA agentique sophistiqué et entièrement géré qui gère toutes ces complexités et génère des réponses text-to-SQL très précises.

Cortex Analyst offre une API REST pratique qui peut être intégrée dans n’importe quelle application, offrant ainsi aux développeurs la possibilité de personnaliser la façon dont les utilisateurs professionnels consultent et interagissent avec les résultats. En utilisant l’API, les développeurs sont allégés des tâches chronophages suivantes :

  • Évaluation et fine-tuning du modèle : les différents modèles ont des atouts différents et le paysage des LLM continue d’évoluer rapidement. Choisir le(s) bon(s) modèle(s) est un travail long, chronophage et continu.

  • Construire et maintenir des architectures de solutions complexes : pour offrir une précision constante et fiable, le service peut nécessiter des interactions multi-agents, des intégrations avec plusieurs composants et même la maintenance d'une architecture complexe de génération augmentée de récupération (RAG). 

  • Planification de la capacité GPU : donner vie aux informations dans un environnement de production nécessite d’avoir des applications prêtes à la demande imprévue des utilisateurs. La gestion et la mise à l’échelle des ressources GPU deviennent l’un des éléments de plus en plus importants que les développeurs doivent prendre en charge. 

L’utilisation de Cortex Analyst peut réduire considérablement le coût total de possession (TCO) et le temps nécessaire pour fournir des analyses fiables en libre-service. Comme les requêtes SQL générées s'exécutent sur le moteur hautement évolutif de Snowflake, les équipes bénéficient de performances de pointe pendant l'exécution des requêtes, en plus des contrôles de gouvernance des coûts intégrés sur l'ensemble de la pile.

Cortex Analyst priorise la gouvernance et la sécurité des données

La confidentialité et la gouvernance des données sont de la plus haute importance pour les entreprises. Alors que les entreprises explorent l’utilisation des LLM pour l’analyse des données, des inquiétudes apparaissent concernant la confidentialité des données, les contrôles d’accès et l’accès aux données internes par les LLM. Les fonctionnalités de sécurité de Snowflake et son approche quant au respect de la confidentialité vous permettent d’explorer et d’exécuter des cas d’usage importants grâce aux dernières avancées de l’IA, tout en tirant parti de normes élevées en matière de confidentialité et de gouvernance des données.

  • Cortex Analyst n’est pas entraîné sur les données clients. Nous n’utilisons pas les données clients pour entraîner ou régler des modèles qui seront mis à la disposition de nos clients. De plus, Cortex Analyst utilise les métadonnées fournies dans le fichier YAML du modèle sémantique (e.g., noms de tables, noms de colonnes, type de valeur, descriptions, etc.) pour la génération de requêtes SQL. Cette requête SQL est ensuite exécutée dans votre entrepôt virtuel Snowflake pour générer la sortie finale. 
  • Les données clients ne quittent jamais les limites de gouvernance de Snowflake. Par défaut, la fonctionnalité Cortex Analyst est alimentée par les LLM de pointe de Mistral et Meta hébergés par Snowflake. Ainsi, aucune donnée, y compris les métadonnées ou les prompts, ne sort des limites de gouvernance de Snowflake. Si vous choisissez d’autoriser l’utilisation de modèles d’IA ouverts Azure, seules les métadonnées et les questions de l’utilisateur circulent en dehors des limites de gouvernance de Snowflake. 
  • Entièrement intégré aux fonctionnalités natives de Snowflake en matière de confidentialité et de gouvernance. Cortex Analyst respecte toutes les politiques RBAC définies par les administrateurs, garantissant ainsi que les requêtes SQL générées, lorsqu'elles sont exécutées, sont conformes aux contrôles d'accès appropriés. Cette intégration garantit la sécurité et la gouvernance de vos données.

Comment fonctionne Cortex Analyst

Répondre aux questions sur les données des utilisateurs implique un flux de travail complet qui inclut une interaction entre plusieurs agents LLM, avec des garde-fous à chaque étape pour éviter les hallucinations et fournir des réponses précises et fiables.

Globalement, Cortex Analyst suit les étapes suivantes pour passer d’une question en langage naturel à une réponse :

  1. Requête. L’application cliente côté utilisateur final envoie une requête qui inclut la question utilisateur et le modèle sémantique YAML associé à l’API REST Cortex Analyst.

  2. Compréhension et enrichissement de la question. L’intention de la question de l’utilisateur est analysée pour déterminer s’il est possible d’y répondre. 

    1. Si la question est ambiguë et qu’il n’est pas possible d’y répondre avec confiance, une liste de questions similaires est retournée. Cela évite à l’utilisateur d’être dans une impasse et lui permet de continuer à recevoir des réponses fiables à ses questions de données. 

    2. S’il est possible d’y répondre, elle est améliorée par la sémantique capturée dans le fichier YAML fourni. Le fichier contient des informations telles que les noms des colonnes de mesures et de dimensions, les agrégations par défaut, les synonymes, les descriptions, les exemples de valeurs et plus encore.

  3. Génération de SQL et correction des erreurs. Pour fournir la meilleure réponse, le contexte enrichi est transmis à plusieurs agents de génération SQL, chacun utilisant un LLM différent. Différents LLM excellent dans diverses tâches : certains sont plus performants avec les concepts liés au temps, tandis que d’autres gèrent plus efficacement les agrégations multi-niveaux. L’utilisation de plusieurs LLM améliore la précision et la robustesse de la génération de requêtes. Ensuite, un agent de correction des erreurs vérifie le code SQL généré pour détecter les erreurs syntaxiques et sémantiques, à l’aide des principaux services Snowflake, tels que SQL Compiler. Si des erreurs sont détectées, l'agent exécute une boucle de correction pour les corriger. Ce module aborde également les hallucinations, en corrigeant les cas où le modèle pourrait inventer des entités en dehors du modèle de données sémantique ou utiliser des fonctions SQL inexistantes.

  4. Réponse. Dernière étape, toutes les requêtes SQL générées sont transférées à un agent de synthèse. En s’appuyant sur le travail effectué par les agents précédents, l’agent de synthèse génère la requête SQL finale qui répond le plus précisément à la question. La requête SQL, ainsi que l’interprétation de la question utilisateur, sont incluses dans la réponse de l’API. La requête SQL retournée peut être exécutée en arrière-plan de l’application client et les résultats finaux sont présentés à l’utilisateur final.
Figure 3.

Pour en savoir plus sur les différents agents, LLM et outils utilisés dans ce système d’IA agentique, consultez notre blog Behind the Scenes détaillé.

L'avenir de Cortex Analyst

Les prochaines itérations élargiront la portée du produit pour gérer des cas d'usage plus avancés sans compromettre la précision ou la confiance. En commençant avec une orientation claire et en développant méthodiquement, nous visons à fournir un produit qui permet réellement aux utilisateurs professionnels de « parler à leurs données » en toute confiance. Au cours du prochain trimestre, restez à l’affût de mises à jour intéressantes, notamment : 

  • Intégration avec Cortex Search pour la récupération automatique des valeurs littérales/d’échantillon
  • Prise en charge des jointures, avec une grande précision
  • Prise en charge des conversations à plusieurs tours pour offrir une expérience plus interactive
  • UI Snowsight pour faciliter la création, l’itération, la gestion et la boucle de rétroaction des modèles sémantiques

Premiers pas avec Cortex Analyst

Créez votre première application de chat basée sur Cortex Analyst en suivant ce guide quickstart.

Pour plus de détails sur la fonctionnalité, ainsi que sur les meilleures pratiques pour obtenir des résultats plus précis, assurez-vous de consulter la documentation Cortex Analyst.

AI Data Cloud Academy

Generative AI & ML School

Bienvenue dans l’AI Data Cloud Academy pour une introduction à la recherche de pointe en IA ainsi qu’aux fonctionnalités de ML et d’IA générative de Snowflake.
Partager cet article

Subscribe to our blog newsletter

Get the best, coolest and latest delivered to your inbox each week

Démarrez votre essai gratuitde 30 jours

Essayez Snowflake gratuitement pendant 30 jours et découvrez l’AI Data Cloud qui élimine la complexité, les coûts et les contraintes d’autres solutions.