sql-grimoire
收藏资源简介:
Grimoire of SQL 是一个综合性的数据集,专门用于训练和评估文本到SQL模型。它整合并增强了多个现有数据集,包括 Spider、BirdBench 和 Gretel,通过纠正错误、优化自然语言查询和验证SQL查询的可运行性。该数据集特别设计用于支持像GPT-4及其变体的高质量微调,确保强大的SQL生成能力。数据集的每个示例包括数据集来源、数据库ID、修正后的用户查询、原始查询(如果可用)、修正后的可运行SQL查询、相关上下文、示例行和基于查询复杂度的难度评级。数据集强调了自然语言查询的精细化和SQL查询的验证,并提供了GPT-4o-mini生成的解释以增强可解释性。该数据集适用于微调文本到SQL模型、基准测试SQL生成性能以及开发需要强大查询翻译功能的SQL生成工具。
Grimoire of SQL 数据集概述
概述
Grimoire of SQL 是一个专为训练和评估文本到SQL模型而设计的综合数据集。它整合并增强了多个现有数据集,包括 Spider、BirdBench 和 Gretel,通过修正错误、优化自然语言查询和验证SQL查询的可运行性。该数据集特别设计用于支持GPT-4及其变体的高质量微调,确保强大的SQL生成能力。
数据集组成
-
数据集规模:
- 样本数量: ~85k
-
数据来源:
- 修正后的查询和SQL来自 Spider、BirdBench(大量修正)和 Gretel。
- 使用 GPT-4o-mini 生成的解释以提高可解释性。
特征
Grimoire of SQL 数据集中的每个样本包括:
dataset: 包含该样本的数据集(spider, birdbench, gretel)db_id: 对应SQL查询的数据库ID。request: 修正后的自然语言用户查询(英文)。original_request: 修正前的原始查询(如果可用)。sql: 修正后的可运行SQL查询。context: 生成SQL查询的相关上下文,包括表创建SQL命令。example_rows: 对应数据库表的示例行,以更好地理解查询。difficulty: 基于查询复杂度的难度评级(如简单、中等、困难)。
数据集亮点
- 优化后的自然语言查询: 所有查询都经过仔细审查和修正,以避免语法错误和歧义。
- 验证后的SQL查询: 每个SQL语句都经过测试,确保其在对应数据库中的语法正确性和可执行性。
- 增强的可解释性: 使用GPT-4o-mini生成的解释,提供查询到SQL生成过程的洞察。
应用
- 微调文本到SQL模型,用于自然语言数据库查询。
- 使用真实世界数据集进行SQL生成性能基准测试。
- 开发需要强大查询翻译功能的SQL生成工具。
数据清理
Grimoire of SQL 强调数据质量,解决了流行文本到SQL基准测试中常见的数据问题。主要目标是为模型训练和评估提供可靠的基础,减少源数据集中错误引起的噪声。
BirdBench 和 Spider 中的问题
BirdBench 和 Spider 是两个最广泛使用的文本到SQL基准测试,其训练和测试集中包含大量错误。通过使用大型语言模型(LLMs)和手动验证,进行了以下修正:
- 约 30% 的 BirdBench 训练集包含 错误的SQL。
- 测试集样本也包含错误(基于前20个样本的审查,4个包含错误的SQL)。
- 许多自然语言查询存在 语法错误 或使用 非标准英语,不适合通用训练。
清理方法
为解决这些问题,采取了以下步骤:
-
SQL修正:
- 所有SQL语句都经过审查和修正,确保语法准确性和逻辑正确性。
- 查询在对应数据库中进行测试,确保可执行性。
-
查询优化:
- 使用 GPT-4o 重写存在语法错误或非标准表达的自然语言查询。
- 修正后的查询存储在
request列中,原始查询(如果修改)保留在original_request列中,以保持透明度。
-
数据集特定说明:
- BirdBench: 由于数据噪声,进行了大量修正。查询和SQL示例被修正以符合数据库结构和自然语言规范。
- Spider: 需要大量修正。
- Gretel: 需要少量修正;但存在一些基本逻辑问题。
一致性增强
为确保数据集的一致性:
- 所有查询,无论其来源,都遵循标准英语语法和表达。
- 任何存在模糊表达或意图不清的问题都被澄清和重写。
通过解决这些问题,Grimoire of SQL 提供了一个高质量的数据集,减少了模型性能受噪声或错误数据影响的风险。
许可证
Grimoire of SQL 在 Apache 2 许可证下公开使用。请在使用此数据集时确保适当的归属。




