【LLM之NL2SQL】DAIL-SQL论文阅读笔记

news2025/5/23 19:45:20

研究背景

该研究旨在提供一个全面、系统的评估框架,用于评估基于大型语言模型(LLM)的Text-to-SQL技术。特别强调了不同的提示工程策略的有效性和效率,以及开源LLM的可行性。研究的重点是评估在零样本和少样本场景下的不同问题表示方式,样本选择和组织策略的效果。

研究目标

研究目标是提供Text-to-SQL提示工程的系统性和深入理解,通过实证评估先前研究中的几种策略,并探索开源LLM在不同提示工程策略下的性能表现。

相关工作

相关工作部分详细讨论了基于LLM的Text-to-SQL的各种方法,包括五种问题表示方法、两种提示组件、四种样本选择和三种样本组织策略。

五种问题表示方法

  • 基础提示 (Basic Prompt, BS P):只包括表结构和自然语言问题,问题部分以“Q:”开头,回应以“A: SELECT”开头,促使LLM生成SQL。
    在这里插入图片描述
  • 文本表示提示 (Text Representation Prompt, TR P):包括指令、表结构和问题,用自然语言表示,相较于基础提示,它在提示开始时添加了指导性的语句。
    在这里插入图片描述
  • OpenAI演示提示 (OpenAI Demonstration Prompt, OD P):在官方演示中使用,包括指令、表结构和问题,所有信息都用井号“#”注释。
    在这里插入图片描述
  • 代码表示提示 (Code Representation Prompt, CR P):以SQL语法呈现Text-to-SQL任务,直接展示“CREATE TABLE” SQL,提示中包含自然语言问题。
    在这里插入图片描述
  • Alpaca SFT提示 (Alpaca SFT Prompt, AS P):专为监督微调设计的提示,遵循指令并根据输入上下文完成任务。
    在这里插入图片描述

两种提示组件
指令 (Instruction, INS):如“编写一个SQL来回答问题”,用于描述任务。
规则含义 (Rule Implication, RI):如“仅完成sqlite SQL查询并且不需要解释”,用于引导LLM的生成过程。

四种样本选择策略
随机选择 (Random):从可用候选项中随机抽取样本。
问题相似性选择 (Question Similarity Selection, QTS S):选择与目标问题最相似的样本。
掩码问题相似性选择 (Masked Question Similarity Selection, MQS S):在计算相似性前,用掩码替换所有问题中的表名、列名和值。
目标SQL相似性选择 (Query Similarity Selection, QRS S):选择与目标SQL查询最相似的样本。

两种样本组织策略
完整信息组织 (Full-Information Organization, FIO):示例完整地提供问题和对应的SQL,帮助模型理解和学习两者之间的映射关系。(输入包括数据库结构信息、相似sql QA对)
在这里插入图片描述
仅SQL组织 (SQL-Only Organization, SOO):此策略仅使用SQL语句作为样本,不包括任何自然语言问题描述。它强调直接学习SQL语句的构造,适合在模型已经具备一定理解基础的情况下,专注于提升SQL生成的准确性。
在这里插入图片描述

方法论

问题表示 (Question Representation)

DAIL-SQL 使用Code Representation (CR P) 作为问题表示方法。这种表示方式包括数据库的完整信息,如主键和外键,这些信息对于预测如“JOIN”子句等SQL结构特别有用。CR P在预训练的编码语料库上进行训练,因此LLMs能够更好地理解并处理这种格式的提示。在这里插入图片描述

样本选择 (Example Selection)

DAIL-SQL采用了一种名为DAIL Selection的样本选择策略,这种策略不仅考虑问题的相似性,也考虑查询的相似性。这种选择方法首先在目标问题和候选样本问题中屏蔽掉特定领域的词汇,然后根据问题和查询的欧几里得距离来对候选样本进行排序,并选择那些与目标查询有高相似度的样本。

样本组织 (Example Organization)

为了保留问题与SQL查询之间的映射信息并提高令牌效率,DAIL-SQL 提出了一种新的样本组织策略,名为DAIL Organization。这种策略在保留问题-SQL映射的同时,通过移除令牌成本较高的数据库模式信息来减少样本的令牌长度。
在这里插入图片描述

实验

实验设计

实验设计包括在Spider和BIRD数据集上评估DAIL-SQL的效果,测试了不同的提示策略和LLM模型。使用执行准确性(Execution Accuracy,EX)和精确集合匹配(Exact Set Match,ESM)作为主要评估指标。

实验结论

  • DAIL-SQL在Spider和BIRD数据集上均达到了新的最佳性能,特别是在执行准确性方面,超过了现有的所有基线模型和方法。
  • 在问题表示方面,Code Representation (CR P) 表现出最好的效果,显示了结构化提示对提升模型理解和处理能力的重要性。
  • DAIL样本选择策略在精确度和效率上均优于随机选择,表明针对性的样本筛选和优化是提升性能的关键。
  • DAIL组织策略通过精确地控制信息展示,有效减少了不必要的令牌消耗,同时保持了高查询准确性。

参考资料

  • 论文
  • 代码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1845058.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

1.3自然语言的分布式表示-word2vec

文章目录 0基于计数的方法的问题1什么是基于推理的方法2神经网络中单词的表示2.1 MatMul 层的实现 3简单word2vec的实现3.1 CBOW模型的结构3.1.1神经元视角3.1.2层的视角3.1.3多层共享权重时存在的问题 3.2 CBOW模型的学习3.3单词的分布式表示 代码都位于:nlp&#…

《梦醒蝶飞:释放Excel函数与公式的力量》4.1if函数

第4章:逻辑与条件函数 第一节4.1 if函数 在Excel中,逻辑函数用于处理基于特定条件的真假判断,它们是构建复杂公式和进行高级数据分析的基础。本章将深入探讨逻辑函数的使用方法,特别是IF函数,这是Excel中最为常用的条…

Node.js 是一个开源的 跨平台的JavaScript运行环境

https://www.npmjs.com/ 中央仓库 Visual Studio Code - Code Editing. Redefined https://openjsf.org/ OpenJS 促进了关键 JavaScript 技术在全球范围内的广泛采用和持续发展。 Apache服务器 Nginx服务器 Tomcat服务器 Node.js服务器 Gunicorn服务器 uW…

6个步骤实现 Postman 接口压力测试

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 这里讲是Postman做接口并发测试,基础用法不做赘述 1、第一步接口可以通的情况下点击…

番外篇 | FFCA-YOLO复现:面向遥感图像的小目标检测最新方法 | 解决小目标检测特征表示不足和背景混淆等问题

前言:Hello大家好,我是小哥谈。在论文中,作者的动机是设计一个高精度同时具备潜在的实时处理能力的小目标检测器。由此,作者首先分别提出了特征增强模块(FEM)与空间上下文感知模块(SCAM)来丰富局部和全局的上下文特征信息。其中,FEM通过多分支卷积拓宽了骨干网络的感受…

oracle发送https请求

参照 https://docs.oracle.com/cd/E11882_01/appdev.112/e40758/u_http.htm#i1025869 https://docs.oracle.com/cd/E11882_01/network.112/e40393/asowalet.htm#ASOAG160 https://docs.oracle.com/cd/E11882_01/appdev.112/e40758/d_networkacl_adm.htm#ARPLS148 https://d…

环境配置01:Torch、CUDA适配与显卡驱动更新

说明: torch版本依赖于CUDA版本与Python版本 Start Locally | PyTorch CUDA版本依赖于显卡驱动版本 1. CUDA 12.5 Release Notes — Release Notes 12.5 documentation 显卡驱动版本依赖于显卡型号与电脑系统 当前电脑3060显卡,安装了CUDA V11.6与tor…

查询mysql库表的几个语句

1、查询某个数据库的所有表 SELECTtable_name FROMinformation_schema.TABLES WHEREtable_schema database_namedatabase_name替换成你需要查询的数据库名称 2、查询某张表的所有字段名称 SELECTCOLUMN_NAME,column_comment FROMinformation_schema.COLUMNS WHEREtable…

maxwell源码编译安装部署

目录 1、组件环境 2、maxwell安装前提 3、maxwell安装 3.1、maxwell下载 3.1.1、最新版本下载 ​编辑 3.1.2、历史版本下载 3.2、maxwell安装 3.3、maxwell配置 3.2.1、mysql开启binlog 3.3.2、maxwell元数据配置 3.3.3、maxwell配置任务 4、maxwell部署问题 4.1、utf…

异地如何共享视频文件?

人们对于信息流动的需求越来越高。尤其在分布式团队合作、远程办公的背景下,异地共享视频文件成为了一项重要的技术需求。本文将介绍一款名为【天联】的组网产品,它能够实现不同地区间快速组建局域网,解决不同设备间的信息远程通信问题。 2.…

c++设计模式之一创建型模式

1、创建型模式(常见的设计模式) Factory 模式(工厂模式,被实例化的子类) 在面向对象系统设计中经常可以遇到以下的两类问题: 下面是第一类问题和代码示例:我们经常会抽象出一些类的公共接口以…

vue3项目使用Electron打包成exe的方法与打包报错解决

将vue3项目打包成exe文件方法 一、安装 1.安装electron npm install electron --save-devnpm install electron-builder --save-dev 2.在vue项目根目录新建文件index.js // index.js// Modules to control application life and create native browser window const { app…

SBTI认证的申请流程是什么?

SBTI(科学基准目标倡议)认证的申请流程通常包括以下几个关键步骤,以下是根据参考文章整理出的清晰流程: 咨询和准备阶段: 企业首先需要咨询SBTI认证机构,了解认证的标准和要求,并确定是否有资格…

森林火灾扑救特类车辆有哪些_鼎跃安全

森林消防是在森林火灾发生时,为了保护森林资源,防止火势蔓延,采取了一系列的应用措施,针对自然环境中的火灾消防工作。森林灭火主要包括预警、预防措施、火情监测、火势控制和灭火等,森林火灾发生的地形往往复杂崎岖&a…

转炉五万立煤气柜柜位计消除虚假回波的方法

转炉五万立煤气柜柜位计消除虚假回波的方法 一、五万立转炉煤气柜柜位计问题 五万立转炉煤气柜工艺简介:五万立转炉煤气柜是将净化除尘后的一炼钢工序副产转炉煤气回收至气柜中储存,储存的转炉煤气在经过电除尘器净化除尘,经转炉煤气加压站加压后分别输送至一炼钢工序,吉瑞…

Hi3861 OpenHarmony嵌入式应用入门--PWM 三色灯

这篇文章是讲解的pwm控制三色灯的部分,这部分也是后续全彩智能灯的基础。 硬件原理如下 IO管脚定义在hi-12f_v1.1.2-规格书-20211202.pdf文档中 GPIO API API名称 说明 unsigned int IoTGpioInit(unsigned int id); GPIO模块初始化 hi_u32 hi_io_set_func(hi_i…

【Web APIs】DOM 文档对象模型 ④ ( querySelector 函数 | querySelectorAll 函数 | NodeList 对象 )

文章目录 一、querySelector 函数1、querySelector 函数简介2、完整代码示例 二、querySelectorAll 函数1、querySelectorAll 函数简介2、完整代码示例 三、NodeList 对象1、NodeList 对象简介2、完整代码示例 本博客相关参考文档 : WebAPIs 参考文档 : https://developer.moz…

Vue 自定义ElementUI的Loading效果

import { loadingText, messageDuration } from "/settings";import { Loading } from "element-ui"; // loadingText、messageDuration 这两个参数我是调的公共配置文件,按自己需求来 const install (Vue, opts {}) > {/* 全局多彩Loading加载层 *…

办公技能——如何写好会议纪要,提升职业素养

一、什么是会议纪要 会议纪要是一种记载、反映会议情况和议定事项的纪实性公文,是贯彻落实会议精神、指导工作、解决问题、交流经验的重要工具。 会议纪要可以多向行文:向上级机关汇报会议情况,以便得到上级机关对工作的指导;向同…

算法导论 总结索引 | 第四部分 第十五章:数据结构的扩张

1、动态规划(dynamic programming)与分治方法相似,都是通过组合子问题的解 来求解原问题 分治方法 将问题划分为互不相交的子问题,递归地求解子问题,再将它们的解组合起来。求出原问题的解 与之相反,动态规…