DBGPT:让 SQL 吃掉 SQLer ?

2024年 5月 7日 37.3k 0

大模型时代已开启,无论是底层模型还是上层应用,都开始大规模涌现,忽如一夜春风来。“软件生态进化论”者认为,在 AIGC 时代,所有的应用都将被重新定义。

那么,数据库这样的基础软件呢?我们邀请到 开源项目 DB-GPT 作者 Magic 来分享他的思考。

早在 DB-GPT 项目刚出来的时候,我们就第一时间介绍了这款面向数据库领域的大模型底座👉“DB-GPT 来了,兼职奶爸搞了个数据库创新 AI 工具!”。

最近这款工具几成燎原之势,在占领 GitHub Trending 之后,又登上了 Hacker News 首页,GitHub Star 增长曲线极为陡峭,不到一个月就突破了千星大关,一路高歌。

DB-GPT:让 SQL 吃掉 SQLer ?-1

随着跟 Magic 的交流越来越多,我们也特别想把他的思考和观点分享给更多关心数据库行业发展的朋友,欢迎大家一起讨论。

以下是小编对 Magic 同学的采访,Enjoy!

错过第一只螃蟹,从看热闹到入场

我是开发出生(搞 3D 模型渲染与 VR,当时是 15、16 年,酷的不要不要的😂),后面一路跌跌撞撞去搞 PaaS 平台,再到后来带数据库相关的团队。

一路上,搞过 VR、区块链、AI、数据库,从开发到运维,啥都搞过一点,也算是比较能折腾的一个人,对新的技术也是一直保持着好奇。 相对来说,开始深度关注 GPT 是较晚的。

因为之前也搞过一点点 AI 相关的工作,对机器学习和深度学习也有一些体验跟认识,所以在潜意识里还是有一些固有的观念,思想还停留在 AI 技术是按场景深度定制与调优的阶段。

这在一定程度上阻碍了我对新技术的嗅觉,让我不是第一批进入的那波人(😓  固化思维真可怕,错过了暴富的机会呀)。

到二三月份的时候,ChatGPT 已经非常火了, 一些基于 ChatGPT 的非常有趣的应用喷涌而出,GitHub 也长期被这些有意思的项目霸占榜单, 这时我那颗躁动的心开始不安了,然后下定决心去深入学习 GPT。

三月份,大家也知道 LLMs 领域是非常热闹的,ChatGPT-4 的发布、微软 Copilot 的发布、LLaMA 的开源、国产一众大模型的邀测,以及技术圈的大牛们相继开始拥抱 AI 浪潮,加入到大模型的创业之中, 可以说三月份是一个比较大的高潮吧。

于我个人而言,除了看热闹之外,就是埋头扎根学习。 从理论到实践,当然这一路过来付出肯定是少不了的。这两三个月的时间,基本都是保持在 9-2-7 的状态,个人的设备也是一路升级,从 1080 的游戏卡,到现在的 RTX 4090。

四月初,我写过一篇文章,主要是介绍 GPT 的原理,以及基于 LLaMA 的 Alpaca 模型 LoRA 微调实践。 到月底,基本主要的开源大模型都已经实战跑过一遍了,也有了一些个人的想法。当然,与此同时也陆续出现了 Auto-GPT、Langchain、GPT-4 Plugin 等相关做连接跟工具的项目,这在一定程度上给了我很大的启发。

定义框架标准,DB-GPT的小船出发了

在大模型领域,在即将到来的生态里,除了深入算法核心理论,做技术和效果,还有一条路,那就是定义框架标准,做标准和连接,我们开往大海航时代的小船,扬起风帆,出发了~ (尽管船上还没几个人,但我们相信,愿力会让更多的人,与我们同行)

其实在数据库领域,有非常多的产品,新的技术与创新产品也层出不穷。 这导致了什么问题呢?

个人总结,有两个方面 :

  • 学不完的新技术与特性
  • 建不完的管控运维平台

基于这样的背景, 我们构思了 DB-GPT 一期的架构方案。

但随之而来的,又有一个新的问题需要回答。数据库这么隐私的领域,用户的环境、数据、甚至一张表结构的定义,都需要严格守护它的隐私跟安全。我们怎么才能让大家在保障隐私安全的前提下,更好地解决这些痛点问题?

我们的理念是技术的绝对开放、环境的绝对私有。

这句话怎么解读?在我们的项目中,关于技术能力的建设采用完全开放、开源的思路,从第一行代码开始就开源,完全基于开源的生态,结合最好的技术,来打造通用的工具平台。  

私有又是什么? 私有顾名思义,在数据库这个敏感的场景,数据安全是重中之重。 我们强烈希望,这套工具可以完全私有化的部署在用户本地,不受任何外部的侵入与掌控。

从 Text2SQL 到 Chat to Delivery

其实随着大模型的发展,大家也都明显意识到大模型带来的变革。 在数据库这个领域,当下做得最多的应用与尝试,当属 Text2SQL 这个方向, 即根据自然语言生成 SQL 语句。

顺着这个思路,我们不妨再深挖一下。 从文本生成 SQL ,产品本质想解决的问题是什么?

我理解是数据库的易用性,毕竟学习写 SQL 本身就有一定的成本,一直以来也算个技术活。 如果能把这一层问题解决掉,可以直接从自然语言生成 SQL,那就意味着更多的人可以使用数据库这个产品。

当然不可避免的,专门写 SQL 的这群人,需要重新寻找自己的定位。但总体来讲,从一小群人到所有人,用户受众有了指数级的增长~(格局打开)

那么既然随着大模型的发布迭代,整个交互的方式都会发生变化,从自然语言到 SQL 一定只是一个中间阶段的产物, 因为在 DB-GPT 项目中,我们已经可以直接从自然语言到结果了。

那么面向未来我们需要什么?下个阶段数据库领域的产品形态或者交互方式是什么样的?

我觉得可以一定程度上从最流行的应用里,找到灵感与参考。

比如 Midjourney 的使用,或者微软发布的 Copilot 系列,都是一种聊天即交付的理念,即 Chat to Delivery(C2D)。 或者说我们跟大模型交互过程中 Prompt 本身,都是在为最终的交付而努力。 毕竟一切都是为了"果"。

让天下的数据库更易用

前面讲了这么多,那么 DB-GPT 的愿景到底是什么呢? 或者说在这个领域历经多年,我的愿景是什么呢?

是的,我们的愿景是:  让天下的数据库更易用。  

关于这个愿景,我也是思考了很久,其实最初,是想着参考阿里巴巴的愿景: 让天下没有难用的数据库。 但思来想去,我们一不是做数据库的,二能力又有限。 这么喊口号,多少有些不知天高地厚, 显得无知轻狂。

但我们已经占了 DB-GPT 这么好的名字了,不想个有意思的口号,着实对不起这个项目名字。 但我们的项目刚刚起步, 一切都刚刚开始,对于未来,也还需要与更多的同行者一起去探索,去努力,去实现,去见证。

所以我们的愿景,是让天下的数据库更易用。前路漫漫,愿我们能够戮力同心,一起努力,让天下的数据库更易用。

那么,在我们的项目中,我们是通过怎样的技术与手段,让天下的数据库更易用呢?上面是我们的架构图,画功不好,整体比较潦草,但条条框框应该还是清楚的。😂

大语言模型最近最为神奇的地方,就是它的理解、推理能力,确实一定程度上具备了人的能力。 既然大语言模型可以看成是个人,那么我们的架构也就完全参考人做事的方式来进行定义了。

人做一件事情,主要借助两能力:学习知识+使用工具。

有了这两个能力之后,基本很多问题都能解决, 而且还能一路成长。 既然有这么好的范本,事情就变得简单了,架构按照人来抄。所以在上图中:

1. 左侧是知识,通过对知识的整理、构建、Embedding 之后,存储到向量数据库中,以备使用。

2. 右侧是工具,即目前最流行的 Agent-Plugins 这套机制,同时为了充分兼容开源社区,我们在设计上,也兼容了 LangChain 跟 Auto-GPT。

3. 大模型是我们的核心,为了确保环境可以私有化,我们坚持从开源中找更好的模型,通过一定程度的微调,把最好的能力放出来。 同时为了充分测试各个模型的能力,我们使用了 FastChat 多模型对话评测的能力,毕竟大家说好,才是真的好。当然目前 Vicuna-13b,确实是可以在 20G 上下的显存上跑起来的,效果最好的模型了。 其它模型要么过大,要么效果不好。 经过这一段时间的验证,我个人认为,10B 级模型是私有化部署最好的选择了。

4. Prompt 是与大模型交互过程中非常重要的部分,一定程度上 Prompt 决定了大模型生成答案的质量与准确性,所以我的判断,在大模型能力达到一定的水平之后,比如具备 COT (Chain of Thoughts,思维链)能力之后,Prompt 的方式比 FT 的方式更重要。 一定程度上领域知识的构建,就是通过知识库 + Prompt 的结合来让大模型工作的。 面向小场景的 Training,或许可能并不可取。因此在 DB-GPT 项目中,我们会根据用户输入与使用场景,自动优化对应的 Prompt,让用户使用大语言模型变得更简单、更高效。

生存或死亡,更快的问题

这是一个最好的时代,也是一个最坏的时代。 变革的浪潮中,挑战跟机遇一定是并存的。 随着大模型带来的加速效应,各行各业的存与亡会比以往来得更快,数据库领域亦如是。

作为数据库领域的从业者,我相信大家最近对向量数据库都有关注, 很多国内外的公司都在积极地拥抱这个新起之秀,其影响力与日俱增, 这对传统数据库的挑战一定是巨大的。

众所周知,目前最出名的一些数据库,像 MySQL、PG、MongoDB、Redis、OceanBase、TiDB 这些有名的大项目,都是随着互联网的浪潮发展起来的, 包括后面催生出来的大数据相关的生态产品。 所以趋势的力量是非常重要的, 这是机。

至于挑战,或者危, 我觉得从业者应该或多或少都有所感受了。 数据库领域的绝对霸主一直都是 Oracle,在 Oracle、IBM 那个以深入根据行业来构建解决方案来打造产品的年代, 他们积累了很高的行业壁垒。

那个时候,沉淀下来的以人力来专项跟进,深入打造项目与解决方案的思路,放在现在或多或少有点不堪重负,毕竟人力的成本属实上涨了一大截。

随着 AIGC 的浪潮,会催生出茫茫多的新起之秀, 并且新起之秀一定会跟目前的产品发生竞争,为什么这么说呢?

因为数据库回到最本质的能力,无非就是存与查。 目前分布式数据库同时能搞定 TP 与 AP, 新起的向量数据库站在巨人的肩膀上,在吃掉 AIGC 时代的需求的同时,也能顺手搞定关系型数据库所具备的职能。

现存的数据库在不断兼容、挑战传统数据库厂商的时候,也需要面向未来看看新时代的需求,如果只顾着去啃食巨无霸们留下的边角料,而错失了一个更大的时代,属实不划算,我认为这是危。

AI聚变,我们还有机会吗?

大模型出来后,很多人都表现出会被取代的担忧, 我也不例外。但随着不断深入,在使用与探索的过程中,我的看法逐渐发生变化:GPT 真的打开了一扇新世界的大门。

以我们社区的一个小伙伴为例,他通过 ChatGPT 的接口,开发了很多非常有意思的应用,比如辅助翻译的系统(bilingual_book),将大模型与硬件结合,让硬件更智能的小爱同学的改造(xiaogpt),还有背单词的系统(duolingo_remember),还有酷到爆炸的每天自动记录起床时间,然后写一首诗,并结合一张 AI 配图,开启崭新的一天的 2023-get_up。

跟随大模型时代一起井喷的,还有用户的需求迭代。未来数据库会朝着什么方向发展,我肯定是不知道的。 但有一点我理解是明确的, 一定会紧跟浪潮。

浪潮又是什么?浪潮我理解是需求,面向未来的强大需求, 而且对需求的解读也不能仅仅只关注数据库本身。

观察最近这些年国产数据库的发展,一方面在技术实力上取得了很大的突破,但另一方面,在商业上,始终面临着很大的困难,以开源为主的打法,由于国内 SaaS 生态的不成熟,导致难以盈利;而以项目与解决方案为主的打法,则实施成本与边际效益居高不下。

对于国产数据库来说,拥抱下一个大的浪潮,在更大的需求中寻找突破,是一个必然的选择。大胆地想,在新的时代,我们是否可以引领新的生态和标准?无论是基础设施厂商,还是基础平台厂商,如果多修路浦桥,多关注用户的核心需求,未来一定有大有可为。

DB-GPT 项目地址👇

https://github.com/csunny/DB-GPT

相关文章

pt-kill工具的使用
pt-ioprofile工具包的使用
数据库管理-第216期 Oracle的高可用-01(20240703)
DBMS_REPAIR EXAMPLE SCRIPT WITH PARTITION
数据库事务的四大特性: ACID 
使用BBED修复损坏的SYSTEM文件头

发布评论