XiYan-SQL:一种多生成器集成的Text-to-SQL框架

简介: XiYan-SQL 是一种创新的多生成器集成Text-to-SQL框架,通过M-Schema增强模型对数据库结构的理解,结合ICL与SFT方法提升SQL生成质量和多样性,经实验证明在多个数据集上表现优异,特别是在Spider和SQL-Eval上取得了领先成绩。

😎一种多生成器集成的Text-to-SQL框架


为了应对大型语言模型在Text-to-SQL任务中的挑战,我们引入了XiYan-SQL,这是一个全新的框架,采用多生成器集成的策略来提高候选SQL的质量。为此,我们提出了M-Schema,一种半结构化的数据库schema表示方法,旨在增强模型对于数据库结构的理解能力


然后,为了提高生成的候选SQL查询的质量和多样性,XiYan-SQL结合了ICL方法的巨大潜力和SFT方法的高可控性。一方面,我们提出了一系列训练策略,以微调模型生成高质量且具有不同偏好的候选。

另一方面,我们采用ICL的方法来提示LLM,并提出了一种基于命名实体识别的方法来选择ICL的样例,从而防止过度强调实体。


Refiner通过纠正逻辑或语法错误来进一步优化每个候选。为了应对识别最佳候选的挑战,我们微调了一个选择模型,用来区分候选SQL查询之间的细微差别。在多个方言的数据集上的实验结果表明,XiYan-SQL在不同场景中均具有鲁棒性。


总体而言,我们提出的 XiYan-SQL 在 Bird 测试中实现了 75.63% 的最佳执行准确率,在 Spider 测试集上实现了 89.65% 的最佳执行准确率,在 SQL-Eval 上实现了 69.86% 的最佳执行准确率,在 NL2GQL 上实现了 41.20% 的最佳执行准确率。该框架不仅提高了生成SQL查询的质量和多样性,而且优于以前的方法。




关键词:LLM,Text-to-SQL,NL2SQL


阿里云百炼官网网址

阿里云百炼控制台

阿里云百炼/析言官网网址

阿里云百炼/析言控制台

相关实践学习
如何快速体验知识检索增强应用
在应用广场中您可以挑选智能体API应用、官方预置完整工程链路的知识检索增强(RAG)应用、流程编排应用,以及官方最佳实践的写作应用妙笔等,通过应用快速将通义千问系列等大语言模型能力接入到业务解决方案中。
相关文章
|
8月前
|
SQL XML Java
程序员都要懂的SQL防注入Mybatis框架SQL防注入
程序员都要懂的SQL防注入Mybatis框架SQL防注入
121 0
|
SQL Java 数据库连接
JSP商品进出库管理系统myeclipse开发sql数据库bs框架java编程jdbc
JSP 商品进出库管理系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为SQLSERVER2008,使用java语言开发,系统主要采用B/S模式开发。
95 0
|
SQL Java 数据库连接
JSP婚纱影楼管理系统myeclipse开发sql数据库bs框架java编程jdbc
JSP 婚纱影楼管理系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为SQLSERVER2008,使用java语言开发,系统主要采用B/S模式开发。
92 0
|
3月前
|
SQL 数据采集 自然语言处理
NL2SQL之DB-GPT-Hub<详解篇>:text2sql任务的微调框架和基准对比
NL2SQL之DB-GPT-Hub<详解篇>:text2sql任务的微调框架和基准对比
|
2月前
|
SQL 监控 安全
Flask 框架防止 SQL 注入攻击的方法
通过综合运用以上多种措施,Flask 框架可以有效地降低 SQL 注入攻击的风险,保障应用的安全稳定运行。同时,持续的安全评估和改进也是确保应用长期安全的重要环节。
173 71
|
1月前
|
SQL 存储 人工智能
Vanna:开源 AI 检索生成框架,自动生成精确的 SQL 查询
Vanna 是一个开源的 Python RAG(Retrieval-Augmented Generation)框架,能够基于大型语言模型(LLMs)为数据库生成精确的 SQL 查询。Vanna 支持多种 LLMs、向量数据库和 SQL 数据库,提供高准确性查询,同时确保数据库内容安全私密,不外泄。
194 7
Vanna:开源 AI 检索生成框架,自动生成精确的 SQL 查询
|
5月前
|
SQL Java 数据库
建模底层逻辑问题之ORM框架建模中,执行SQL的过程中被抽象和组织是如何实现的
建模底层逻辑问题之ORM框架建模中,执行SQL的过程中被抽象和组织是如何实现的
|
5天前
|
SQL 分布式计算 Java
Spark SQL向量化执行引擎框架Gluten-Velox在AArch64使能和优化
本文摘自 Arm China的工程师顾煜祺关于“在 Arm 平台上使用 Native 算子库加速 Spark”的分享,主要内容包括以下四个部分: 1.技术背景 2.算子库构成 3.算子操作优化 4.未来工作
|
1月前
|
SQL 安全 Java
除了Flask框架,还有哪些框架能防止SQL注入攻击?
这些框架都在安全方面有着较好的表现,通过它们的内置机制和安全特性,可以有效地降低 SQL 注入攻击的风险。然而,无论使用哪个框架,开发者都需要具备良好的安全意识,正确配置和使用框架提供的安全功能,以确保应用的安全可靠。同时,持续关注安全更新和漏洞修复也是非常重要的。
57 7
|
2月前
|
SQL 安全 PHP
PHP开发中防止SQL注入的方法,包括使用参数化查询、对用户输入进行过滤和验证、使用安全的框架和库等,旨在帮助开发者有效应对SQL注入这一常见安全威胁,保障应用安全
本文深入探讨了PHP开发中防止SQL注入的方法,包括使用参数化查询、对用户输入进行过滤和验证、使用安全的框架和库等,旨在帮助开发者有效应对SQL注入这一常见安全威胁,保障应用安全。
82 4

热门文章

最新文章