La technologie de conversion du langage naturel en SQL (NL2SQL) connaît un développement rapide, devenant une innovation majeure dans le domaine du traitement du langage naturel (TLN). Cette technologie permet aux utilisateurs de transformer des requêtes en langage naturel en instructions SQL, ce qui facilite grandement l'interaction entre les utilisateurs non techniques et les bases de données complexes, leur permettant ainsi d'accéder à des informations précieuses. La technologie NL2SQL ouvre de nouvelles perspectives pour l'exploration de bases de données volumineuses dans divers secteurs, améliorant ainsi l'efficacité du travail et la capacité de prise de décision.
Cependant, la mise en œuvre de NL2SQL présente un compromis entre la précision et l'adaptabilité des requêtes. Certaines méthodes ne garantissent ni la précision ni l'adaptabilité à différents types de bases de données lors de la génération de requêtes SQL. Les solutions existantes reposent souvent sur des grands modèles linguistiques (LLM), générant plusieurs sorties par ingénierie des invites et sélectionnant la meilleure requête, mais cette méthode augmente la charge de calcul et ne convient pas aux applications en temps réel. De plus, l'ajustement fin supervisé (SFT) permet bien une génération SQL ciblée, mais rencontre des difficultés dans les applications inter-domaines et les opérations de bases de données complexes, d'où le besoin urgent de nouveaux cadres.
L'équipe de recherche d'Alibaba a présenté XiYan-SQL, un cadre NL2SQL révolutionnaire. Il intègre une stratégie d'intégration multi-générateurs, combinant les avantages de l'ingénierie des invites et du SFT. Une innovation clé de XiYan-SQL est l'introduction de M-Schema, une méthode de représentation d'architecture semi-structurée qui améliore la compréhension du système de la hiérarchie de la base de données, y compris les types de données, les clés primaires et les valeurs d'exemple, améliorant ainsi la capacité à générer des requêtes SQL précises et contextuelles.
XiYan-SQL utilise un processus en trois étapes pour générer et optimiser les requêtes SQL.
Premièrement, le système identifie les éléments de la base de données pertinents grâce à la liaison architecturale, réduisant ainsi les informations redondantes et se concentrant sur les structures clés. Ensuite, il utilise des générateurs basés sur l'apprentissage par exemples (ICL) et le SFT pour générer des candidats SQL. Enfin, le système utilise un modèle de correction et un modèle de sélection pour optimiser et filtrer les requêtes SQL générées, garantissant ainsi la sélection de la meilleure requête. XiYan-SQL intègre ces étapes dans un pipeline efficace, surpassant les méthodes traditionnelles.
Après des tests de référence rigoureux, XiYan-SQL a obtenu d'excellents résultats sur plusieurs ensembles de tests standard, atteignant par exemple une précision d'exécution de 89,65 % sur l'ensemble de tests Spider, surpassant nettement les meilleurs modèles précédents.
De plus, XiYan-SQL a obtenu d'excellents résultats en termes d'adaptabilité aux ensembles de données non relationnelles, atteignant une précision de 41,20 % sur l'ensemble de tests NL2GQL. Ces résultats montrent que XiYan-SQL possède une flexibilité et une précision exceptionnelles dans divers scénarios.
github:https://github.com/XGenerationLab/XiYan-SQL
Points clés :
🌟 Représentation architecturale innovante : M-Schema améliore la compréhension de la hiérarchie de la base de données, augmentant la précision des requêtes.
📊 Génération avancée de candidats : XiYan-SQL utilise plusieurs générateurs pour produire une variété de candidats SQL, améliorant la qualité des requêtes.
✅ Adaptabilité supérieure : Les tests de référence montrent les performances exceptionnelles de XiYan-SQL sur plusieurs bases de données, établissant une nouvelle norme pour les cadres NL2SQL.