当前位置: 首页 > news >正文

【Text2SQL 论文】MAGIC:为 Text2SQL 任务自动生成 self-correction guideline

论文:MAGIC: Generating Self-Correction Guideline for In-Context Text-to-SQL

⭐⭐⭐

莱顿大学 & Microsoft, arXiv:2406.12692

一、论文速读

DIN-SQL 模型中使用了一个 self-correction 模块,他把 LLM 直接生成的 SQL 带上一些 guidelines 的 prompt,让 LLM 进行自我检查并改正这个错误的 SQL。但是这里的 guidelines 是人工手写的,比如下图是 DIN-SQL 中的 self-correction guidelines 的 prompt:

在这里插入图片描述

这篇论文提出了一个可以自动生成 self-correction guidelines 的方法:MAGIC

任务定义:给定 user question、DB schema 和一个错误的 SQL,生成一个 self-correction guidelines,可以 prompt LLM 来纠正错误的 SQL 从而得到纠正正确的 SQL。这个任务就是本论文需要解决的任务——self-correction guideline generation 任务。

输入中的错误的 SQL 就是原先由 LLM 生成的 SQL 但不能正确执行的 SQL。

下图就是 LLM 使用 self-correction guidelines 来纠正错误 SQL 的示例:

在这里插入图片描述

可以看到,LLM 可以根据 guidelines 来检查这个错误 SQL,找出其中的问题从而得到修正后的正确 SQL。

二、MAGIC

假设使用 s ′ s' s 表示 incorrect SQL,使用 s^{gt} 表示 ground-truth SQL。

MAGIC 由 3 个 agent 组成:manager agent、feedback agent 和 correction agent。

2.1 Feedback-correction cycle

给定一个 user question、 s g t s^{gt} sgt s ′ s' s,那 manager agent 就开始一个 feedback-correction cycle,它是一个迭代的过程。

在每一个 iteration 中:

  • manager agent 要求 feedback agent 通过对比 s ′ s' s s g t s^{gt} sgt 来生成一个 feedback 来解释 s ′ s' s 中的错误
  • 之后,manager agent 将接收到的 feedback 给 correction agent,要求它根据 feedback 修正 s ′ s' s 从而生成一个新的 revised SQL

重复进行迭代,直到 revised SQL 正确或者迭代次数达到最大限制。

2.2 Revising agents’ instruction

刚刚 feedback-correction cycle 是说了 manager agent 交互的流程来不断修正 SQL。

这里是在说 manager agent 在于另外两个 agent 交互时,所使用的 prompt 也是在不断被修正的。

在 feedback-correction cycle 的第一个 iteration 中,manager agent 使用了两个 predefined prompts 来与 feedback-agent 和 correction-agent 做的交互。但是如果一次 iteration 后 s ′ s' s 仍然没有被修正正确,那么 manager agent 也要修正这些 predefined prompts。

那 manager agent 怎么修正 prompts 呢?—— 使用一个专门设计的 prompt 来提示 LLM 来修正 predefined prompts。

2.3 Guideline generation

当 correction agent 每次修正成功一个 SQL 后,manager agent 会记下来这一轮 iteration 中由 feedback agent 生成的 feedback。

因为是这一个 feedback 来让 correction agent 修正正确的,所以这一个 feedback 是指出了 SQL 错误的关键,因此让 manager agent 记下来。

每个 data point 会在经过一个 feedback-correction cycle 后记录一个 feedback 到 memory 中,当 manager agent 记录的 feedbacks 累计达到 k k k 个之后,会将这一 batch 的 k 个 feedbacks 一同形成一个 self-correction guideline。

这个 self-correction guideline 会被用于之后的 Text2SQL 的 self-correction 过程中,直到又累积到 k 个 feedbacks 后重新触发生成一个 self-correction guideline。

利用 k 个 feedbacks 来生成 guideline 的方法,就是使用一个专门的 prompt 来提示 LLM 生成。

在第一个 batch 中,还没有可用的 guideline,这时 manager agent 会先初始化一个 guideline,之后的每个 batch,manager agent 会更新现在的 guideline。

三、所有用到的 prompts

这里总结一下整个方法所使用的 prompts:

  • 两个 predefined prompts:这两个 prompts 用来一开始时 manager agent 用来与 feedback agent 和 correction agent 进行交互。
  • manager agent 用来修正 predefined prompts 的两个 prompts:一个 prompt 用来让 manager agent 修正与 feedback agent 交互所用的 prompt,一个是修正与 correction agent 的。
  • manager agent 用来将 k 个 feedbacks 生成出一个 self-correction guideline 的 prompt。

四、实验

以往的 DIN-SQL 中就有一个 self-correction module,这个模块使用一个 guideline 来让 LLM 修正错误的 SQL,但这个模型中的 guideline 是人工设计的。这篇论文尝试将这个模块的 guideline 更换为使用本文提出的自动生成的 guideline,发现整个 Text2SQL 模型的表现得到了很大的提升,从而证明了方法的有效性。

五、总结

这篇论文着重指出了 in-context learning 的 Text2SQL 任务中 self-correction 的新颖视角,将提升 Text2SQL 中的 self-correction 作为一个单独的任务,克服了以往方法需要手工设计 self-correction guideline 的缺点。

同时,这篇论文还解决了自动修复人类生成的错误 SQL 的重要任务,展示了 LLM 进行自我校正的能力。

http://www.lryc.cn/news/383212.html

相关文章:

  • 2024 年 8 款最佳建筑 3D 渲染软件
  • MAB规范(3):Chapter6 Glossary 术语表
  • 40python数据分析numpy基础之diag处理矩阵对角线元素
  • ffmpeg+nginx+video实现rtsp流转hls流,web页面播放
  • 1、Redis系列-Redis高性能原理详解
  • 18.枚举
  • 全省高等职业学校大数据技术专业建设暨专业质量监测研讨活动顺利开展
  • 2-16 基于matlab的动载荷简支梁模态分析程序
  • AI大模型的核心
  • 【Android面试八股文】ViewHolder为什么要被声明成静态内部类?
  • Android 11 系统OTA升级到旧版本(去除升级时间戳校验)
  • 更新表的统计信息并清空缓存--DM8达梦数据库
  • 【前后端实现】AHP权重计算
  • K8S日常运维手册
  • 现在的Java面试都这么扯淡了吗?
  • 安全加固 MariaDB 和 MySQL 数据库
  • 【计算机毕业设计】167校园失物招领微信小程序
  • yum的概念、相关命令、ftp http部署步骤;NFS共享文件操作步骤
  • Spire.PDF for .NET【文档操作】演示:如何删除 PDF 中的图层
  • 【c语言】二级指针
  • 心理健康测试系统设计
  • webcomponents学习
  • 2024会展行业发展趋势预测
  • 达梦(DM8)数据库备份与还原(逻辑备份)二
  • ThreeJS-截屏下载pdf或者图片时白屏
  • redis以后台的方式启动
  • 力扣随机一题 哈希表 排序 数组
  • 昇思25天学习打卡营第01天|基本介绍
  • 问题:1、金属基复合材料界面的物理结合是指 #学习方法#媒体
  • 突发!OpenAI停止不支持国家API,7月9日开始执行