论文:MCS-SQL: Leveraging Multiple Prompts and Multiple-Choice Selection For Text-to-SQL Generation
⭐⭐⭐
arXiv:2405.07467
一、论文速读
已有研究指出,在使用 LLM 使用 ICL 时,ICL 的 few-shot exemplars 的内容、呈现顺序都会敏感地影响 LLM 的输出。基于此,本文提出通过使用多个 prompts 并利用 LLM 的 ICL exemplars 的敏感性,来扩大 LLM 的搜索空间,得到 LLM 的多个响应 SQL,然后再做一个多项选择,从中选出最终的 SQL 作为输出。
MCS-SQL 模型包含三个主要步骤:
- schema linking:筛选出相关的 DB schema
- multiple SQL generation:利用多个 prompts 来让 LLM 生成多个 SQL
- multiple choice selection:从多个 SQL 中选出最终的 SQL
二、MCS-SQL 模型
这里分别介绍这个模型的三个步骤。
2.1 Schema Linking
Schema Linking 就是识别出与 question 相关的 DB tables 和 columns。这里分成两步来做:先 table linking,再 column linking。
Table Linking:将 question、DB schema 给 LLM,让 LLM 以 JSON 格式输出选出的 tables 以及理由。一个 prompt 示例如下图。为了鲁棒性,这一步使用了 p t p_t pt 个 prompts,每个 prompt 让 LLM 生成 n 次响应,共得到 p t ⋅ n p_t \cdot n p<