L'automatisation de la conversion de texte en SQL est encore une tâche importante et il existe très peu de bons modèles open source pour cette tâche.
Décomposons cela -
> Les modèles de conversion de texte en SQL ne sont rien d'autre que des modèles encodeur-décodeur avec une couche d'attention multiple et une couche de liaison de schéma entre les deux.
> L'encodeur traite à la fois la requête de l'utilisateur et le schéma de la base de données et génère des embeddings contextuels (encodage conscient des relations)
> Grâce à la liaison de schéma, les tokens dans la requête sont alignés avec les entités de schéma correspondantes.
> Le mécanisme d'attention conscient du schéma permet ensuite au modèle de se concentrer sur les parties pertinentes du schéma lors du décodage.
> Le décodeur produit séquentiellement des tokens SQL (décodage basé sur des contraintes).
Où ces modèles manquent-ils ? -
> La plupart des modèles disponibles manquent de requêtes complexes dans les données d'entraînement elles-mêmes et donc, ils performent mal sur des requêtes inter-domaines ou en boucle.
> Les exigences linguistiques et de requête ne sont pas toujours correctes de la part d'un utilisateur normal. Même les fautes d'orthographe entraînent une mauvaise entrée et causent des problèmes lors de la récupération, d'où l'importance du prompt dans cette tâche.
J'ai personnellement travaillé sur ce sujet en détail lorsque je réalisais un projet de bout en bout, j'ai même créé des données synthétiques et essayé d'entraîner mon propre SLM mais j'ai échoué misérablement et je suis ensuite passé à un modèle open source.
Si vous souhaitez approfondir ce sujet, je vous recommande de lire d'abord ces articles de recherche -
> Génération de texte à SQL améliorée par LLM
> Interfaces de base de données de nouvelle génération :
> Analyse de texte à SQL : concepts et méthodes
> RASAT : Intégration des structures relationnelles dans un modèle Seq2Seq pré-entraîné.