La technologie Natural Language to SQL (NL2SQL) se développe rapidement et est devenue une avancée majeure dans le domaine du traitement du langage naturel. Il permet aux utilisateurs d'interroger la base de données en utilisant un langage naturel, simplifiant ainsi considérablement l'accès aux données et améliorant l'efficacité. Cependant, les méthodes existantes présentent des défis en termes de précision et d’adaptabilité, en particulier lorsqu’il s’agit de bases de données complexes et d’applications inter-domaines. L'éditeur de Downcodes vous présentera le framework XiYan-SQL proposé par l'équipe Alibaba et comment ce framework peut résoudre efficacement ces problèmes.
Cependant, il existe un certain compromis entre précision des requêtes et adaptabilité lors de la mise en œuvre de NL2SQL. Certaines méthodes ne peuvent pas garantir l'exactitude lors de la génération de requêtes SQL et sont difficiles à adapter aux différents types de bases de données. Certaines solutions existantes s'appuient sur des modèles de langage étendus (LLM) pour générer plusieurs sorties et sélectionner la meilleure requête grâce à une ingénierie rapide, mais cette approche augmente la charge de calcul et n'est pas adaptée aux applications en temps réel. Dans le même temps, bien que le réglage fin supervisé (SFT) puisse permettre une génération SQL ciblée, il se heurte à des difficultés dans les applications inter-domaines et les opérations de bases de données complexes. Des cadres innovants sont donc nécessaires de toute urgence.
L'équipe de recherche d'Alibaba a lancé XiYan-SQL, un framework NL2SQL révolutionnaire. Il intègre une stratégie d'ensemble multi-générateurs qui combine les avantages de l'ingénierie rapide et du SFT. Une innovation clé de XiYan-SQL est l'introduction de M-Schema, une méthode de représentation de schéma semi-structurée qui peut améliorer 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 exemples de valeurs, améliorant ainsi la précision et la capacité pour adapter contextuellement les requêtes SQL.
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 pertinents de la base de données via des liens architecturaux, réduisant ainsi les informations redondantes et se concentrant sur les structures clés. Ensuite, les candidats SQL sont générés à l'aide de générateurs basés sur l'apprentissage par exemple (ICL) et SFT. Enfin, le système utilise des modèles de correction d'erreurs et des modèles de sélection pour optimiser et filtrer le SQL généré afin de garantir que la meilleure requête est sélectionnée. XiYan-SQL intègre ces étapes dans un pipeline efficace qui va au-delà des méthodes traditionnelles.
Après des tests de référence rigoureux, XiYan-SQL a obtenu de bons résultats dans plusieurs ensembles de tests standard. Par exemple, il a atteint une précision d'exécution de 89,65 % dans l'ensemble de tests Spider, nettement supérieur aux modèles haut de gamme précédents.
De plus, XiYan-SQL a également obtenu d'excellents résultats en termes d'adaptabilité aux ensembles de données non relationnelles, atteignant une précision de 41,20 % dans l'ensemble de tests NL2GQL. Ces résultats démontrent que XiYan-SQL présente une excellente flexibilité et précision dans une variété de scénarios.
github : https://github.com/XGenerationLab/XiYan-SQL
Dans l'ensemble, le framework XiYan-SQL a réalisé des avancées significatives dans le domaine de NL2SQL grâce à ses stratégies innovantes d'intégration M-Schema et multi-générateurs, fournissant une nouvelle solution pour des requêtes de bases de données en langage naturel efficaces et précises. Ses excellentes performances dans plusieurs ensembles de tests prouvent également sa grande praticabilité et ses larges perspectives d'application. Les lecteurs intéressés peuvent visiter le lien GitHub pour plus d'informations.