不再手动写 SQL 了,爽!使用 DBeaver 调用 OpenAI 方式实现 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
llf007
V2EX    数据库

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

  •  1
     
  •   llf007 2024-04-29 17:03:22 +08:00 2122 次点击
    这是一个创建于 531 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前言

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

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

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

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

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

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

    其它选择项: image.png

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

    再查看 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 表,按大区,统计 当日零售金额,同期零售金额 的总金额 image.png

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

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

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

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

    还可以这样

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

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

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

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

    第三回:AI 多表 JOIN

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

    [提示词]

    自动 Join 以下几张表

    province 、city 、country 、town

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

    image.png

    这里第一次自己没想清楚,查询省、市、(忘记区县)、街道,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 上线下线、授权和安全的管理 

    image.png

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

    image.png

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

    12 条回复    2024-04-30 14:19:31 +08:00
    jstony
        1
    jstony  
       2024-04-29 17:06:11 +08:00   6
    如果 ai 不能确保结果是正确的,还需要我去二次校验,那我还是选择自己写 sql 。
    KongLiu
        2
    KongLiu  
       2024-04-29 17:10:49 +08:00   1
    @jstony 是的,写完敢不看就用?要理一遍还不如自己写了
    aptupdate
        3
    aptupdate  
      &bsp;2024-04-29 17:15:02 +08:00 via iPhone   4
    这种文风建议发到公众号/小红书,肯定比发这里效果好。
    Freakr
        4
    Freakr  
       2024-04-29 17:15:06 +08:00   1
    希望后续能出类似 Github Copilot 的补全功能,虽然补出来的不一定对,但是对得时候能少敲很多字符。
    gongxuanzhang
        5
    gongxuanzhang  
       2024-04-29 17:16:27 +08:00
    你是否在找 chat2DB
    iblessyou
        6
    iblessyou  
       2024-04-29 17:43:11 +08:00
    还是不敢用,我这数据库真被他拿去了, 怕是要吃牢饭。 在网页问问就行了
    DdDddDlush
        7
    DdDddDlush  
       2024-04-29 18:05:46 +08:00
    像微信公众号的软文
    moro
        8
    moro  
       2024-04-29 18:17:08 +08:00
    下载最新版本 Version 24.0.3.202404211624
    没有看见有 AI 选项。
    lanlanye
        9
    lanlanye  
       2024-04-30 00:28:40 +08:00 via iPhone
    您这是企业版就别说免费了吧……
    dolorain
        10
    dolorain  
       2024-04-30 09:12:06 +08:00   1
    至于吗? 等你调试出来正确结果,我需求都写完了。
    llf007
        11
    llf007  
    OP
       2024-04-30 11:40:50 +08:00
    @moro
    @lanlanye
    社区版需要手动安装。点 帮助-> Install New Software-> 搜索 AI ,下一步 下一步。安装完提示重启客户端。看就到 OpenAI 图标,其它配置都一样。
    moro
        12
    moro  
       2024-04-30 14:19:31 +08:00
    @llf007 按流程装上了。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     934 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 18:45 PVG 02:45 LAX 11:45 JFK 14:45
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86