问句到SQL · 2024 年 12 月 1 日 · 16 分钟

把生成拆开:分类、链接、写语句、自纠错

DIN-SQL 的核心不是某个解码器,而是分解:先判断问题复杂度,再做结构链接,再生成,再用自纠错看语句是否违反规则。Awesome-Text2SQL 排行榜上,DIN-SQL + GPT-4 在 Spider 执行准确率约 85.3%。同一方法在 BIRD 上(论文表)约 55.90% 测试执行准确率——库一变脏,分解也救不回全部。

软件落地时,把四步写成可日志的阶段:

  1. 分类:简单单表 / 聚合 / 对比 / 多表。
  2. 链接:输出表列清单。
  3. 生成:只看见链接后的结构。
  4. 纠错:语法、禁用写操作、Join 键是否在目录里。

DAIL-SQL 补充的是示例检索:找相似「问题-SQL」对放进上下文,而不是固定几条 few-shot。CHASE-SQL 补充多路候选和选择器。三者可以叠:分解 + 检索示例 + 多候选。

每一步都要能单独失败。链接失败就澄清,不要带着错表进入生成。

出处

  • Pourreza & Rafiei, DIN-SQL, arXiv:2304.11015
  • Gao et al., DAIL-SQL, arXiv:2308.15363
  • Pourreza et al., CHASE-SQL, arXiv:2410.01943
  • Awesome-Text2SQL 排行榜数字

WUJI问数

个人笔记站。记录对话式问数智能体:Text-to-SQL、语义层、只读执行与分析呈现的整套方案。

本站为个人非经营性网站,内容开放阅读。文中示例仅供学习,执行任何数据库操作前请自行核对。

笔记关于隐私说明使用说明浙ICP备2025147228号