为 OpenAI 创造一个自然语言转 SQL 的超级提示

为 OpenAI 设计一个超级提示,能够将自然语言转化为 SQL

GitHub上找到。

作者用Dall-E2生成的图像

在本文中,我们将看到如何创建一个提示,让OpenAI的GPT模型能够执行NL2SQL任务。也就是说,将用户的语言请求翻译成将检索所需数据的SQL命令。

为此,我们将从俄亥俄大学的一篇论文开始:“如何为文本到SQL创建提示:零样本、单领域和跨领域设置研究”。我们将修改之前在第二篇文章大型语言模型课程中所见过的内容。

提示的结构

提示将由四个部分组成:

  • 带有内容示例的表结构。
  • 指导模型生成SQL的说明。
  • 正确的SQL示例,即少量样本。
  • 用户的问题。

我们要创建的提示实际上是最完整的,包括多个带有表间交叉引用的示例。

并不总是需要为模型提供SQL示例;如果表结构明确且我们提供了足够的信息,模型将能够仅通过数据库结构生成正确的SQL。

然而,这些示例也可以让我们影响返回的SQL的风格和格式。

表的结构

create table employees(        ID_Usr INT primary key,        name VARCHAR);    /*3个示例行    select * from employees limit 3;    ID_Usr    name    1344      George…