快捷搜索:  创意文化园  as  2004  1836  2373  21087  test  1837

usdt回收(www.caibao.it):解放程式设计师的双手!GPT-3自动发生SQL语句

USDT自动API接口

菜宝钱包(caibao.it)是使用TRC-20协议的Usdt第三方支付平台,Usdt收款平台、Usdt自动充提平台、usdt跑分平台。免费提供入金通道、Usdt钱包支付接口、Usdt自动充值接口、Usdt无需实名寄售回收。菜宝Usdt钱包一键生成Usdt钱包、一键调用API接口、一键无实名出售Usdt。

ADVERTISEMENT

「无所不能」的GPT-3,现在又来解放程式设计师们的双手了。

像这样,只需用简朴的英文问下GPT-3「上个月注册了若干使用者」。

GPT-3便会迅速作答,给出相对应的SQL语句:

在使用者
signup_time> now()中从使用者中选择COUNT(*)-距离「 1个月」

更神奇的是,GPT-3是在不知道「资料库模式」的情况下,预设存在「users」这个表;以及在使用者注册过程中,存在「signup_time」这样的字段。

相当的智慧!

就连开发者本人都连连惊叹道:妙啊!

更庞大的SQL语句,GPT-3 hold得住吗?

固然,适才提到的提到的例子,只是异常简朴的提问。

那当GPT-3面临加倍庞大的SQL查询时,还能云云智慧型吗?

为此,作者给它「投喂」了更多的上下文,以及与「资料库模式」相关的讯息:

输入一个问题,GPT-3需要回覆准确的PostgreSQL。
资料库包罗2个表,分别是「users」和「charges」。
「users」表包罗的字段有:id (integer), signup_dt (timestamp), email (character varying)和plan_type (character varying)。
「charges」表包罗的字段有:amount (bigint), user_id (integer),以及charge_dt (timestamp)。

OK,讯息给定后,现在来看下GPT-3的显示。

输入:

在已往7天里,我们有若干收入?

GPT-3:

从收费的地方选择总和(金额)> now()-距离「 7天」

不难看出,GPT-3准确地推断出了」amount」 = 「revenue」,而且知道为了回覆问题,要用SUM()来汇总已往7天的用度。

看来GPT-3已经掌握了基本的SQL语法。

但作者也示意,GPT-3有的时刻喜欢自己「发现」一些字段,以是现在就用「例子引发」的方式,让它变得加倍智慧化。

先让GPT-3做些简朴的例子实验,例如让它从「users」和「charges」2个表中,提取所有可用的字段。

基于这样的指导之后,再向GPT-3提问:

已往30天内最大的付款金额是若干?

GPT-3回覆道:

从charge_dt> NOW()中的用度中选择最大值(金额)-距离「 30天」

从这个小实验来看,效果照样很不错的,但当作者加大难度后,问题照样泛起了。

作者提出了加倍庞大的问题:

使用电子邮件brian@seekwell.io的使用者何时付款?

这次GPT-3的回覆是:

从使用者ID = 1且电子邮件='brian@seekwell.io'的用度中选择SELECT MAX(charge_dt)

很明显,在「charges」表中,并没有「email」这样的字段,而是存在于「users」表中。

也就是说,对于SQL经常用到的团结查询,GPT-3还没有get到。

让GPT-3一步步学会「团结查询」

于是,作者照样透过「例子」的方式,一步一步让它「学」会团结查询。

,

Usdt第三方支付平台

菜宝钱包(caibao.it)是使用TRC-20协议的Usdt第三方支付平台,Usdt收款平台、Usdt自动充提平台、usdt跑分平台。免费提供入金通道、Usdt钱包支付接口、Usdt自动充值接口、Usdt无需实名寄售回收。菜宝Usdt钱包一键生成Usdt钱包、一键调用API接口、一键无实名出售Usdt。

,

输入:在已往30天内有若干使用者注册?

GPT-3:

从使用者那里选择COUNT(*),其中signup_dt> = now()-距离「 30天」

输入:使用电子邮件brian@seekwell.io的使用者何时注册?

GPT-3:

在电子邮件='brian@seekwell.io'的使用者中选择signup_dt

输入:已往7天我们有若干收入?

GPT-3:

从charge_dt> = now()的用度中选择总和(金额)-距离「 7天」

输入:从10-01-20到11-15-20,我们有若干收入?

GPT-3:

SELECT SUM(在charge_dt> = '10 -01-20':: date和charge_dt <'11 -15-20':: date然后金额为0竣事的情况下)作为收入
FROM用度

输入:在已往6个月内,我们从注册使用者中获得了若干收入?

GPT-3:

从使用者中选择
总和(charges.amount )INNER JOIN对users.id =
charges.user_id收费WHERE users.signup_dt> = now()-距离「 6个月」

输入:使用电子邮件brian@seekwell.io的使用者何时付款?

GPT-3:

从使用者中选择MIN(charge_dt)作为last_payment_dt,INNER JOIN
向使用者收取用度
。id= charges.user_id,WHERE使用者。电子邮件='brian@seekwell.io'

输入:最近2个月中,每年有若干新使用者注册?

GPT-3:

选择总和(case signup_dt> = now()-距离「 1月」,然后1否则0竣事)作为signups_this_month,
总和(case signup_dt> = now()-距离「 2 months」和signup_dt <now()-interval '1 month',然后1 else 0 end)作为signups_last_month
FROM使用者

在经由这样一番「学习」之后,回过头来,再去问GPT-3刚刚失足的问题:

使用电子邮件joe@freshpizza.com的使用者进行了若干笔付款?

这次它的回覆是:

从使用者中选择COUNT(*)个INNER JOIN向使用者收取用度。id= charges.user_id,其中users.email ='joe@freshpizza.com'

瞧瞧!GPT-3学会了!

固然,除了用「例子」的方式让GPT-3变得加倍伶俐外,作者示意还可以透过调整参数的方式。

同时作者还强调了一点,他发现,最少在「让GPT-3写SQL语句」这件事上,GPT-3 Instruct要比广义的(generalized)的GPT-3引擎好用得多。

为什么要设计这个专案?

这个专案的作者是一位分析师,现在就职于一家叫做SeekWell的公司。

他天天一样平常的事情,就是编写大量的SQL语句,来回覆与营业相关的问题。

这让他萌生了「自动化」的想法。

与此同时,他也注重网友们用热门的GPT-3,做了林林总总有创意的专案。例如自动发生HTML、CSS程式码等等,于是他便操刀最先训练GPT-3天生SQL语句。

固然,效果也是让他震惊不已,在部落格中也是连连发出「Cool」的声音。

……

最后,作者将这个专案的程式码在GitHub中开源了,感兴趣的读者可点选下方连结。

发表评论
sunbet声明:该文看法仅代表作者自己,与本平台无关。请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片

您可能还会对下面的文章感兴趣: