chatGPT实战之「基于你的数据库,为你智能生成SQL」

news/2024/11/26 4:54:19/

chatGPT为你生成SQL的落地效果演示

这几天很很多粉丝进行了深度交流,发现大家对于SQL学习或者编写都遇到过困难,因此勇哥突发奇想是否可以借助chatGPT来帮一下大家呢?于是就开启了chatGPT的落地之旅。从官网了解到chatGPT支持49种场景的,其中2中常见与sql相关,既:

  • 无依据,通过一句话来生成sql语句

  • 有依据,通过一句话来生成sql语句

这两种方式进过效果对比,第2种效果非常的好,于是我就在我的产品中按照第2中模式开发了一个对大家有帮助的功能:“基于你自己的数据库结构,通过一句中文,自动生成SQL语句”,演示效果如下:

第一种生成方式:单独窗口生成SQL,操作步骤:

  • 1、选中生成SQL可能要用到的表,这个将作为上下文,发送给chatGPT

  • 2、在打开的窗口中用中文描述你想要的SQL的需求,然后点击RUN按钮

  • 3、生成成功后的SQL会在右中面板中显示出来,同时你可以直接点运行,查看生成SQL语句的执行结果

通过多张表,通过中文生成SQL

第二种生成方式:查询器中生成SQL操作步骤:

  • 1、随便打开一个数据库表的查询器

  • 2、在查询器中写一句描述要生成sql语句的中文,选中后右键点击【Sq lGenerator】菜单,即可生成

  • 3、选中生成的SQL语句,即可执行查看结果

通过中文注释来生成SQL

chatGPT为你生成SQL的落地代码赏析

chatGPT的入门案例

其实chatGPT的API调用非常简单,但是复杂的是他的参数非常的复杂,举个两个例子:

  • 1、下面temperature参数写成0.0D或者0.1D,其它参数都不变,那么获得结果都是不同类的,也就是0.0D是你想要的SQL,0.1D就变成了小说内容了;

  • 2、prompt是输入的信息,49中场景,prompt的输入格式就有49种,非常复杂,一不小说错误输入,就会获取不到结果;

PS:下周一勇哥回专门开一场直播,来教大家入门chatGPT,以及49种场景的介绍,欢迎大家关注我,到时候直播实现好及时通知。

public static void main(String[] args) {String token = "换成你自己的Token";OpenAiService service = new OpenAiService(token);CompletionRequest completionRequest = CompletionRequest.builder().model("code-davinci-002").prompt("### Mysql SQL tables, 表字段信息如下:\\n#\\n# Employee(id, name, department_id)\\n# Department(id, name, address)\\n# Salary_Payments(id, employee_id, amount, date)\\n#\\n### 创建表的语法\\n HELP").temperature(0.0D).maxTokens(1000).topP(1D).frequencyPenalty(0D).presencePenalty(0D).stop(Arrays.asList("#",";")).build();service.createCompletion(completionRequest).getChoices().forEach(System.out::println);
}

chatGPT的落地案例

下面这段代码就是最开始我验收那些效果的真实代码,基本和入门代码差不多,不同的是我在上面增加了输入需求的初步过滤,这样生成的SQL精准度会高非常多。

public class AiUtils {/*** 生成需求* @return*/public static List<CompletionChoice>  generatorSqlQuery(String tables,String demand){String keyword = "";if(demand.contains("查询")||demand.contains("select")){keyword = "SELECT";}else if(demand.contains("删除数据")||demand.contains("delete")){keyword = "DELETE";}else if(demand.contains("删除")||demand.contains("drop")){keyword = "DROP";}else if(demand.contains("修改数据")||demand.contains("update")){keyword = "UPDATE";}else if(demand.contains("修改")||demand.contains("alter")){keyword = "ALTER";}else if(demand.contains("增加")||demand.contains("insert")){keyword = "INSERT";}else if(demand.contains("创建")||demand.contains("create")){keyword = "CREATE";}else if(demand.contains("显示")||demand.contains("show")){keyword = "SHOW";}else if(demand.contains("清空")||demand.contains("truncate")){keyword = "TRUNCATE";}OpenAiService service = new OpenAiService(TOKEN);CompletionRequest completionRequest = CompletionRequest.builder().model("code-davinci-002").prompt(String.format("%s %s\\n%s",tables,demand,keyword)).temperature(0.0D).maxTokens(1000).topP(1D).frequencyPenalty(0D).presencePenalty(0D).stop(Arrays.asList("#",";")).build();List<CompletionChoice> choices = service.createCompletion(completionRequest).getChoices();for (CompletionChoice choice : choices) {choice.setText(keyword+choice.getText());}return choices;}}

chatGPT落地收获

chatGPT更多的应用场景和落地注意事项,勇哥将在12月16号的直播中阐述,欢迎各位同学来捧场交流。+关注,届时好通知直播时间。


http://www.ppmy.cn/news/957773.html

相关文章

数据库ChatGPT插件来了,SQL使用体验进一步起飞

简介 基于 ChatGPT API 和 OpenMLDB 数据库实现的 openmldb-chatgpt-plugin 项目开源了&#xff0c;作为人类迄今为止最强AI模型之一&#xff08;GPT4未开放API&#xff09;&#xff0c;集成了 ChatGPT 模型的数据库有多好用&#xff0c;下面将带大家体验一下。 原理 实现原…

用ChatGPT解读非结构化数据【ChatGPT + SQL】

许多现代数据系统都依赖于结构化数据&#xff0c;例如 Postgres DB 或 Snowflake 数据仓库。 LlamaIndex 提供了许多由 LLM 提供支持的高级功能&#xff0c;既可以从非结构化数据创建结构化数据&#xff0c;也可以通过增强的文本到 SQL 功能分析这些结构化数据。 本指南有助于…

ChatGPT优化Python代码的小技巧

使用 chatGPT 优化代码并降低运行时的云成本 许多开发人员说“过早的优化是万恶之源”。 这句话的来源归功于Donald Knuth。在他的书《计算机编程的艺术》中&#xff0c;他写道&#xff1a; “真正的问题是&#xff0c;程序员在错误的时间和错误的地方花费了太多时间来担心效率…

Git使用规范Git常用命令

Git使用规范&&Git常用命令 分支规范 master分支 master的分支HEAD和历史commit均是是稳定、可发布的状态。master分支的每个commit都需要打tag&#xff0c;如v1.0、v1.1、v1.2、v2.0等。仅能从test分支和hotfix分支合并过来。 hotfix的合并必须是通过代码审核和测试…

ChatGPT画玫瑰花 | prompt

很明显&#xff0c;失败了&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;救命啊啊啊啊啊啊啊啊啊啊啊 和chatgpt-3.5完整的对话过程如下&#xff1a;http://t.csdn.cn/AeEae

ChatGPT 投喂指南

我想要让 ChatGPT 做这些事&#xff1a; 给它一份 PDF&#xff0c;让它分析摘要、提炼内容&#xff1b; 让它去看某个网页&#xff0c;帮我查询最新的信息&#xff1b; 给它一份数据表格&#xff0c;让它分析出数据的变化&#xff1b; 给它一份文本&#xff0c;让它总结、模…

ChatGPT秒杀了所有408考研编程题……

编辑 | FightingCV 点击下方卡片&#xff0c;关注“自动驾驶之心”公众号 ADAS巨卷干货&#xff0c;即可获取 本文均由ChatGPT生成 那么&#xff0c;ChatGPT可以解决408中的编程题吗&#xff1f; 直接结论&#xff1a;由ChatGPT给出的408代码90%可以拿满分 2023年408的编程题 …

chatgpt开发内核定时器模块的完整过程

描述任务需求后&#xff0c;几乎在同一时刻chatgpt给出响应&#xff0c;开始进入代码刷屏模式&#xff0c;coding过程中还不忘给代码添加注释。 要求它顺便将Makefile文件写好提供给我&#xff0c;刷完代码后&#xff0c;进跟着开始刷Makefie文件&#xff1a; 编译生成的代码时…