OmniSQL – 开源文本到 SQL 转换的利器
OmniSQL 是什么
OmniSQL 是首个基于百万级合成数据训练的开源文本到 SQL 转换模型,由中国人民大学、字节跳动公司以及相关科研机构联合开发。它能够将自然语言问题高效转换为标准 SQL 查询语句,帮助非技术用户轻松与数据库进行交互,降低了数据查询和分析的门槛。
核心功能
- 文本到 SQL 转换 :理解自然语言问题并转换为对应的 SQL 查询语句,支持多种数据库类型。
- 多复杂度支持 :可处理从简单单表查询到复杂的多表连接、子查询、函数调用以及公共表表达式(CTE)等各种复杂度层级的 SQL 查询。
- 思维链展示 :为每个查询提供推理过程,增强可解释性,便于用户理解模型的决策路径,同时也利于开发者对模型进行调试和优化。
- 多模型版本 :提供 7B、14B 和 32B 三种模型版本,用户可根据实际需求和计算资源情况选择合适的模型版本。
技术原理
- 数据库自动生成 :分析网络表格,推断业务场景,借助大语言模型自动构建含多表关系、主外键约束的数据库结构,并采用增强策略优化结构,使其更贴合实际应用。
- 复杂度感知生成 :定义四个复杂度等级,结合 SQLite 函数库生成各类 SQL 查询,能依用户问题智能选择复杂度等级,给出合适查询语句。
- 风格化反向翻译 :将 SQL 查询反向译为 9 种语言风格的自然语言问题,经语义分析确保翻译前后语义一致,提升转换效率和准确性,适应不同用户语言习惯。
- CoT 解决方案合成 :通过逐步推理生成器添加中间推导步骤,训练时模型学习问题到 SQL 的转换及每步推理逻辑,提高了推理准确性与可靠性,向用户展示透明推理过程,增强信任。
- 大规模数据训练 :基于数据合成框架生成了大规模的高质量训练数据集 SynSQL-2.5M,包含超过 250 万条样本,覆盖了 16,000 余个跨领域的数据库,使 OmniSQL 能学习到不同领域、不同风格的自然语言表达与 SQL 查询之间的映射关系,具备更强的泛化能力和适应性。
支持平台
OmniSQL 目前仅支持 SQLite,未来可通过合成数据扩展。
团队介绍
OmniSQL 的开发团队由来自中国人民大学、字节跳动、南方科技大学和滑铁卢大学的研究人员共同组成。他们在文本到 SQL 转换及相关领域拥有深厚的技术积累和丰富的研究经验,致力于创建一个性能领先、易于使用且完全开源的 Text-to-SQL 解决方案,推动该领域的技术发展和应用落地。