简介

依据 ChatGPT API 和 OpenMLDB 数据库完成的 openmldb-chatgpt-plugin 项目开源了,作为人类迄今为止最强AI模型之一(GPT4未开放API),集成了 ChatGPT 模型的数据库有多好用,下面将带咱们体验一下。

原理

完成原理是在ChatGPT API基础上做了一定的 Prompt engineering ,没有用 fine tune ,在规范SQL场景上作用现已十分不错,具体的 system prompt 设计咱们能够看源码完成。

这个插件关于其他 SQL 数据库理论上也适用,不过由于加了一些直接查询数据库内容的集成功用,现在仍是引荐运用 OpenMLDB 。运用时需求全程联网,并且需求 OpenAI API key 和特定的网络条件,暂无条件的能够直接看下面的 Prompt 演示作用。

指令演示

自然语言对话才能

openmldb-chatgpt-plugin(后文简称 GPT 插件)有 ChatGPT 本身的自然语言对话才能,能够直接在客户端用中英文来问询数据库的基本用法以及特定SQL语法的介绍,这部分不需求特别的 prompt 优化,仅仅比 ChatGPT 网页版减少需求翻开浏览器提问的过程。

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

并且得益于多轮对话的完成,用户能够依据上下文提问,比较传统查找引擎找到需求的材料功率进一步进步。默许中文输出对国内用户也愈加友好。

SQL履行、剖析与引荐

用户在 GPT 插件履行的 SQL 代码,实际也会提交到 OpenMLDB 集群履行,并且用户输入( User > )、数据库输出( OpenMLDB > )和 GPT 模型输出( GTP > )都会有不同的前缀和色彩区别。

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

上图处理依照用户命令履行 SQL 外,还对上表的 SQL 句子进行了概要剖析,介绍这个表的姓名,以及每一列的类型以及意义,最后还引荐运用 Insert 和 Select 句子进行插入和查询,这便是对 ChatGPT 模型运用 Prompt 工程完成的履行、剖析与引荐功用。

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

后面无论是 Insert 句子仍是其他 SQL 句子,在履行后都会经过 AI 模型的解析与引荐,在履行 SQL 过程中不自觉学到了更多常识。这儿也有些 Prompt 工程技巧,假如不期望每次引荐的内容接近,能够经过 temperature 参数控制文本生成的“探索性”。

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

杂乱表剖析

关于用户创立的一个列较多略微杂乱对表,GPT 插件也会适时地进行数据剖析,除了简单统计列数和 Schema 等基础功用,它还会依据表名和列名信息进一步发掘内容,对原始数据表列的意义剖析得清清楚楚。例如下面的表中,“乘客上下车时刻”、“上下车地点的经纬度”等信息都能够剖析和翻译出来,在没有额外信息搜集和编程完成的基础上供给这些信息对数据科学家来说也是一种奉送。

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

失利SQL调试和更正

前面比如展现的是能够成功履行的 SQL ,关于用户现已编写没有语法过错的 SQL 进行剖析仅仅“如虎添翼”,但假如能够快速帮助用户解决履行失利的 SQL 那才是“济困扶危”。经过 SQL 句子本身以及 OpenMLDB 供给的过错信息,ChatGPT 模型显然是具备这种 SQL 调试以及 SQL 更正的才能。

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

上面是一个 SQL 语法正确但类型过错的状况,关于有经验的 SQL 工程师经过过错信息也许能猜测出过错的端倪,但能够以自然语言的方式并且无比正确地直接告诉用户过错当地以及后续的更正方案,从我个人测试的多个场景来看,这个能够 7*24 小时作业的工具现已能够媲美身边高级的 DBA 了。

杂乱SQL剖析才能

下面是 OpenMLDB 官方文档的一个比如,运用 SQL 进行时许特征的抽取并且保存样本文件。

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

首要 ChatGPT 模型解析的 SQL 语义毫无问题,但更令人惊讶的是,由于这个 SQL 语法确实不是在所有 SQL 都支持的,这儿最后面补充的注意事项充分标明”定制化“模型与通用闲谈机器人的区别。本插件供给的 SQL 解析才能都是建立在运用 OpenMLDB 数据库的基础上,关于非通用 SQL 能够解析并且讲清楚与规范 SQL 的区别,现在恐怕除了数据库的中心研发和深度用户也很少人能够“了解”清楚。

数据库内容查询

前面演示的功用主要是 text to sql、SQL 剖析等功用,放在 ChatGPT 网页端或许恣意揭露的 ChatGPT 服务上都能够做,但 OpenMLDB ChatGPT 插件仍是做了内容的深度整合,能够以自然语言的方式来查询数据库的内容。

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

这儿还演示了 ChatGPT 无比优秀的接连对话才能,能够以不同粒度、不同角度多次按需查询,查到的内容不仅正确,并且还依据中文语义进一步丰富了内容,格局也整齐,能够很简单让它输出咱们需求的 CSV 或许恣意格局,这是程序员人工写代码无论如何都达不到的功率。

总结

实际上 ChatGPT 插件很多的功用代码也是依据 ChatGPT 模型生成的,虽然不能直接依照个人需求完成整个数据库插件,但它强壮的代码查找和生成才能现已能够简化咱们大量查找学习时刻,而依据历史积累的海量 SQL 文献,它的专业才能更是能够得到程序员乃至资深 DBA 的认可。

除了上面的 Prompt 提示词和功用演示,ChatGPT 模型还有十分多可玩、易用、高效的用法等候咱们去挖掘。