Comme nombre de fournisseurs, Google insère de l'IA dans toutes ses solutions historiques, et son outil d'entrepôt de données BigQuery n'y échappe pas. La société a ainsi présenté, pour l'instant en bêta, une fonction pour générer des parties de requêtes SQL à partir de commentaires (en anglais) en langage naturel. Appelée « Comments to SQL », elle doit accélérer l'analyse des données et réduire les obstacles liés à l'utilisation de requêtes complexes, alors que les entreprises cherchent à simplifier l'accès aux données pour mettre en production leurs projets pilotes IA selon le fournisseur. Avec Comments to SQL, les développeurs et les analystes de données pourront écrire des instructions en langage naturel dans des commentaires SQL et les faire traduire en requêtes exécutables dans BigQuery Studio.
« Pour commencer, les utilisateurs doivent activer le widget SQL Generation dans Studio, puis rédiger des instructions en langage naturel directement dans les commentaires SQL délimités par /* et */ — par exemple, en décrivant les colonnes, l'ensemble de données et les filtres qu'ils souhaitent appliquer », a indiqué Gautam Gupta, responsable de l'ingénierie du machine learning chez Google, dans un blog. « Ces instructions peuvent être converties ensuite en SQL en cliquant sur le bouton Gemini et en sélectionnant l'option « Convertir les commentaires en SQL/Convert comments to SQL », qui génère la requête correspondante et affiche une vue comparative montrant comment les commentaires ont été traduits en SQL exécutable », a poursuivi M. Gupta, ajoutant que « les développeurs peuvent également affiner les instructions pour obtenir le résultat souhaité, qui s'affiche dans la vue agrandie ».
Le responsable a fourni plusieurs exemples du convertisseur « Comments to SQL » en action, notamment ce schéma de requête dans lequel l'utilisateur demande une fonction Window et des données classées :
SELECT /* product name, monthly sales, and rank of products by sales within each category */FROM /* sales_data */WHERE /* year is 2023 */WINDOW /* partition by category order by monthly sales descending */
Selon lui, cela générerait la requête SQL suivante :
SELECT product_name, SUM(monthly_sales) AS total_monthly_sales, RANK() OVER (PARTITION BY category ORDER BY SUM(monthly_sales) DESC) AS sales_rank FROM `sales_data` WHERE
EXTRACT(YEAR FROM sale_date) = 2023 GROUP BY product_name, category, EXTRACT(MONTH FROM sale_date)
Cela étant, on est encore loin de pouvoir transformer quelque chose comme « /* donnez-moi une liste de produits par catégorie, classés par ventes mensuelles en 2023 */ » (« /* give me a list of products by category, ranked by monthly sales in 2023 */ ») en une requête fonctionnelle qui fait ce que l'utilisateur souhaite.
Réduire les frictions dans les tâches quotidiennes
Selon Robert Kramer, analyste principal chez Moor Insights and Strategy, les personnes travaillant avec des données ont tendance à raisonner en termes de questions et de résultats, et non de syntaxe. Traduire l'intention dans du SQL précis et efficace prend encore du temps, en particulier avec les jointures, la logique temporelle et les modèles répétitifs. « En autorisant les expressions en langage naturel dans les commentaires SQL, Google tente d'accélérer cette traduction tout en conservant SQL comme couche d'exécution », a-t-il expliqué. Grâce à la fonctionnalité « Comments to SQL », les équipes pourraient consacrer plus de temps à l'interprétation des résultats et moins de temps à la rédaction et à la réécriture des requêtes, ce qui permettrait de créer des processus d'analyse plus automatisés à l'avenir, tout en accélérant l'obtention d'informations, en minimisant les transferts entre équipes et en gagnant du temps sur la configuration des requêtes », a-t-il fait valoir.
Le fournisseur a continué à ajouter des fonctionnalités basées sur l'IA à BigQuery pour aider les programmeurs et les data analysts dans leurs requêtes SQL. En novembre dernier, Google a introduit trois nouvelles fonctions SQL gérées basées sur l'IA — ai.if, ai.classify et ai.score — pour aider les professionnels à rendre l'exécution d'analyses à grande échelle moins complexe, en particulier sur des données non structurées. Ces fonctions peuvent être utilisées pour filtrer et joindre des données selon leur signification sémantique à l'aide de ai.if dans les clauses where ou on, classer des textes ou des images non structurés avec ai.classify dans les clauses group by et classer les lignes selon des critères de langage naturel grâce à ai.score dans les clauses order by. Précédemment, en août, Google avait procédé à des mises à jour incrémentielles des agents d'ingénierie et de science des données dans BigQuery (elles avaient été annoncées en avril lors de son événement annuel Google Cloud Next) afin d'automatiser les tâches analytiques. Alors que l'agent d'ingénierie des données peut aider à la création de pipelines, à la transformation des données et au dépannage des pipelines, l'agent de science des données peut automatiser les workflows de data science de bout en bout, depuis la création de plans en plusieurs étapes jusqu'à la génération et l'exécution de code, en passant par le raisonnement sur les résultats et la présentation des conclusions.
Une évolution à l'échelle du secteur
Google n'est pas le seul fournisseur de services d'entreposage et d'analyse de données à essayer d'intégrer l'IA dans SQL. Databricks propose déjà des fonctions IA que l’on peut utiliser pour appliquer la GenAI ou l'inférence LLM directement à partir de SQL ou de Python. Snowflake fournit quant à lui les fonctions ai_parse_document, AISQL et Cortex pour l'analyse de documents, la recherche sémantique et l'analyse basée sur l'IA. D'autres entrepôts de données, comme Autonomous Data Warehouse d'Oracle, prennent également en charge les workflows IA parallèlement au SQL.