不再手动写 SQL 了,爽!使用 DBeaver 调用 OpenAI 方式实现

2024-04-29 17:03:22 +08:00
 llf007

前言

DBeaver 简介 DBeaver 是一款免费且开源的数据库管理工具,它支持多种数据库系统,包括 MySQL 、PostgreSQL 、Oracle 、DB2 、SQL Server 、SQLite 以及其他许多类型。它提供了一个直观的用户界面,使得用户可以方便地进行数据库的查询、设计、开发和管理。

Azure Open AI 服务简介 ​​​​大红大紫 ChatGPT 大家都知道,他是 OpenAI 公司开发的知名聊天机器人,其背后的技术实力和创新能力受到了业界的广泛关注。微软作为 OpenAI 的重要投资方之一,利用其强大的微软云 Azure 与 OpenAI 合作共同推出了 Azure Open AI 服务,是国内通过正规渠道获得 GPT-3.5 、GPT-4 的 API 渠道。

安装最新版 DBeaver 后 --> 设置 --> AI 配置和启用 AI

如图选择 Service:服务商我们选择 Azure OpenAI ,还支持 Google Gemini 、OpenAI API token:即你的密钥 Endpoint:终结点网址 Deployment:部署名 Temperature:严谨与想象力 0.0 ~ 1 之间,我们使用默认的严谨。

我们本次测试使用是 gpt-3.5-turbo 的模型,是因为 gpt3.5 相比较 gpt4.0 更有价性比。

将信息传输给 AI 供应商 为了执行 AI 智能补全,DBeaver 需要将您的数据库元数据信息(包括表名和列名)传输给 AI 供应商的 API 。 您是否确认为“test”连接进行此操作?

其它选择项:

可选一堆发送,是不是想里嘀咕,这安全吗?

再查看 Azure OpenAI Service 的数据、隐私和安全后,放心一些了。

重要提示:
你的提示词(输入)和答复(输出)、你的嵌入以及你的训练数据:
不可供其他客户使用。
不可供 OpenAI 使用。
不被用于改进 OpenAI 模型。
不被用于改进任何微软或第三方产品或服务。
不用于为你在资源中使用而自动改进 Azure OpenAI 模型(模型是无状态的,除非你明确使用训练数据对模型进行微调)。
你微调的 Azure OpenAI 模型仅供你使用。
Azure OpenAI 服务完全由微软控制;微软在微软的 Azure 环境中托管 OpenAI 模型,该服务不与 OpenAI 运营的任何服务(例如 ChatGPT 或 OpenAI API )交互。
 
来源:
https://learn.microsoft.com/en-us/legal/cognitive-services/openai/data-privacy

第一回:指定表名称、字段让 AI 查询

来个 100 行之内小表,先测试一下,并且指定表名 提示词: 请写个 SELECT 查询 test.daysales 表,按大区,统计 当日零售金额,同期零售金额 的总金额

✅ 一次就给出了正确的答案,通过。

第二回:不告诉 AI 表名,只讲字段查询

有个 60 万行数据量大一些的单表如下,这次增加难度,不指定表名称,只讲表中的字段进行查询。

提示词:找出 延误时间最大前 10 航班号、航空公司,以及平均延误时间、航班发出城市、目地城市

还可以这样

[提示词] 不用写 SQL ,用中文回答,Dallas/Fort Worth, TX 到 Honolulu, HI 的城市中文名称

回答:达拉斯/沃思堡,德克萨斯州 到 太浩洛,夏威夷州 的城市中文名称是:达拉斯/沃思堡 到 太浩洛。

AI 理解出自哪张表,以及回答其他用户关心的问题

✅ 一次就给出了正确的答案,通过。

第三回:AI 多表 JOIN

有 3 张表,省、市、街道如下

[提示词]

自动 Join 以下几张表

province 、city 、country 、town

查询出完整的大宽表:省份、城市、区县、街道

✅ 这里第一次自己没想清楚,查询省、市、(忘记区县)、街道,AI 回答正确。 然后再次补充提问,就给出了正确的答案,通过。

第四回:让 AI 设计数据库

让 AI 设计几张表,并生成 3 模拟数据。

[提示词]

一步步思考,以 MySQL 为数据库为个人博客系统设计表,表以 blog_为前辍,

并参考以下 https://www.apisql.cn 网站的内容,生成模拟 3 行数据,博客内容要与 APISQL 有关,并且为中文

网址:WWW.APISQL.CN
开发 API 一句 SQL 搞定
轻松将内网数据库的增删改查 SQL ,转换发布为公网对应的 HTTPS API ,无需编写代码,无需内网穿透,后端开发即服务

每月免费 50000 次的 API 请求

😊 简单
APISQL = 数据库转 API 软件+简版 Postman+API 安全管控+API 监控统计+frp 内网穿透+云服务器+公网 IP+已备案域名+SSL 证书

⚡️ 快速
友好的 Web 操作界面,支持 MySQL 、Oracle 、SQL Sever 、PostgreSQL 、SQLite 、达梦等数据库,分分钟能将整个数据库的表转为 API 服务

🔒 安全
数据存储在自己的本地电脑安全可控,HTTP3 加密压缩传输不但快还安全,支持 Token/IP 授权访问,大规模使用还可以私有化方案

❤️ 场景 1
企业间合作系统中部分数据(如库存量、可售天数)共享给上下游供应商及客户,替代端口映射+共享数据库帐号密码更安全

🚀 场景 2
OA/ERP/CRM/WMS/SaaS 等跨软件通过 API 集成;政务国企切换达梦、人大金仓等信创数据库,减少开发转 API 快速适配

✨ 场景 3
大数据统一接口中心,发布 API 、统计分析 API ;监控 API 、API 调用异常情况及时告警; API 上线下线、授权和安全的管理

✅ 3 个建表语句,插入 3 条 DEMO 数据,AI 理解正确,测试通过。

总结:经常写 SQL 同学们,确认这是数据库新的生产力工具!

1931 次点击
所在节点    数据库
12 条回复
jstony
2024-04-29 17:06:11 +08:00
如果 ai 不能确保结果是正确的,还需要我去二次校验,那我还是选择自己写 sql 。
KongLiu
2024-04-29 17:10:49 +08:00
@jstony 是的,写完敢不看就用?要理一遍还不如自己写了
aptupdate
2024-04-29 17:15:02 +08:00
这种文风建议发到公众号/小红书,肯定比发这里效果好。
Freakr
2024-04-29 17:15:06 +08:00
希望后续能出类似 Github Copilot 的补全功能,虽然补出来的不一定对,但是对得时候能少敲很多字符。
gongxuanzhang
2024-04-29 17:16:27 +08:00
你是否在找 chat2DB
iblessyou
2024-04-29 17:43:11 +08:00
还是不敢用,我这数据库真被他拿去了, 怕是要吃牢饭。 在网页问问就行了
DdDddDlush
2024-04-29 18:05:46 +08:00
像微信公众号的软文
moro
2024-04-29 18:17:08 +08:00
下载最新版本 Version 24.0.3.202404211624
没有看见有 AI 选项。
lanlanye
2024-04-30 00:28:40 +08:00
您这是企业版就别说免费了吧……
dolorain
2024-04-30 09:12:06 +08:00
至于吗? 等你调试出来正确结果,我需求都写完了。
llf007
2024-04-30 11:40:50 +08:00
@moro
@lanlanye
社区版需要手动安装。点 帮助-> Install New Software-> 搜索 AI ,下一步 下一步。安装完提示重启客户端。看就到 OpenAI 图标,其它配置都一样。
moro
2024-04-30 14:19:31 +08:00
@llf007 按流程装上了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://yangjunhui.monster/t/1036813

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX