Une solution clé en main de Text-to-SQL, un RAG pour poser des questions en langage naturelle à sa base de données.
Une autre solution un peu plus mature: Dataherald
Les deux sont Open Source :-)
Un retour d'expérience très complet sur le système d'interrogation du datawarehouse de Pinterest avec du langage naturel.
Ils ont construit un RAG avec lequel les utilisateurs peuvent poser des questions en langage naturel. 40% du temps le résultat est bon du premier coup et le reste du temps les utilisateurs doivent affiner leur question en plusieurs messages. (comme toujours, l'IA reste un copilote)
Une idée intéressante, ils utilisent les questions les plus courantes sur une table pour générer un summary de la table et son utilité. Ce summary est ensuite vectorisé.
Ils utilisent OpenSearch (la fork d'Elasticsearch) comme moteur de recherche vectoriel notamment parce qu'ils peuvent utiliser le scoring boost.
L'article est une mine d'information et ils donnent tous leurs prompts!
Ce papier propose un framework à base d'agents pour générer des requêtes SQL à partir d'une simple demande. La question de l'utilisateur est envoyée a un agent qui sélectionne les tables et leur schéma associés pour les transmettre à un agent chargé de décomposer la demande utilisateur. Ce deuxième agent la découpe en requêtes, puis propose une requête finale. Enfin, un agent permet de rafiner la requête en l'éxécutant dans une base SQLite et en corrigeant d'éventuelles erreurs.