Dans l’ère du Big Data où les prises de décisions des entreprises sont régulièrement orientées données ; exploiter intelligemment et rapidement les bases de données est devenu primordial.
Pour répondre à ce besoin, de nouvelles solutions émergent, facilitant l’interaction avec les données. Text2SQL est un outil puissant permettant de convertir une requête formulée en langage naturel (du texte rédigé par un humain) en SQL (langage permettant de communiquer avec une base de données relationnelles). La requête SQL peut être utilisée pour extraire les données par la suite.
Cet outil présente plusieurs avantages pour les entreprises, à savoir :
- L’interaction facile avec la base de données, sans une connaissance approfondie du langage de programmation SQL
- La démocratisation de l’accès aux données structurées
- L’allègement du travail des data analyst et gain de temps
- Une capacité à interpréter les requêtes formulées avec le langage naturel
Les domaines d’utilisation de cette technologie sont transverses :
- Business intelligence et analytics : les business users pourraient l’utiliser afin d’obtenir des insights rapidement, de rédiger des rapports sur les ventes et monitorer les KPIs
- Service et assistance de la clientèle: extraction rapide des données utilisateurs, transactions ou de tickets des clients pour répondre aux besoins avec efficience
- Santé : accès aux données des patients par les professionnels de santé concernés sans être expert du SQL
- Finance: analyse des données financières, accès aux transactions pour détecter les irrégularités par exemple
- Education : initiation au langage SQL de manière interactive
Par la suite, découvrons le fonctionnement derrière le Text2SQL ainsi que les différentes étapes pour passer d’un langage naturel au SQL :
- Traitement du langage naturel :
- Analyse de la requête d’entrée fournie par l’utilisateur
- Extraction des éléments clés et l’intention
- Conversion dans un format structuré
- Génération du SQL :
- Mise en correspondance des éléments extraits avec les éléments de la base de données
- Génération d’une requête SQL valide
Les modèles utilisés dans un système Text2SQL sont des Large Language Models (LLM).
En pratique, plusieurs entreprises telles que Amazon, AI2sql ou encore Scale proposent de générer des requêtes SQL en utilisant du prompt engineering moyennant une souscription au service. Des modèles open source, par exemple RAT-SQL, sont à disposition pour fine-tuner sur sa propre base de données si toutefois l’entreprise a les moyens computationnels pour le faire. Un modèle Text2SQL, combiné avec la technologie Retrieval Augmented Generation (RAG) et un bon prompt, permet d’obtenir des requêtes SQL complexes.