Abstract
本文提出了一种基于 ChatGPT 的 zero-shot Text-to-SQL 方法,称为 C3,在 Spider 的保留测试集上达到了 82.3% 的执行准确率,成为 Spider Challenge 中最新的 zero-shot Text-to-SQL 方法。C3 包含三个关键组件:清晰提示(Clear Prompting, CP)、带提示的校准(Calibration with Hints, CH)和一致输出(Consistent Output, CO),分别对应模型输入、模型偏差和模型输出。该方法为 zero-shot Text-to-SQL 提供了系统化的解决方案。我们进行了大量实验,以验证所提出方法的有效性和效率。我们的代码已在 GitHub 上公开。
1 Introduction
传统的text-to-sql方法通常是使用大量训练数据对解码器-编码器模型进行微调。这些基于微调的方法需要大量文本-sql对组成的训练集。然而,在实践中,获取文本-sql对是非常昂贵的,此外,这种微调可能导致训练集过度拟合并退化模型的可转移性。
最近,大语言模型的涌现能力使得few-shot和zero-shot的text-to-sql成为可能,few-shot的text-to-sql方法可以通过上下文学习的方式超越基于微调的方法。然而,没个查询需要超过10000个tokens,这在实际的text-to-sql任务中过于昂贵。相比之下,zero-shot的方法可以节省tokens,但性能不如微调的方法。
为了解决这些问题,本文提出了一个新的基于chatgpt的text-to-sql的zero-