随着大模型的发布迭代,大模型变得越来越智能,在使用大模型的过程当中,遇到极大的数据安全与隐私挑战。在利用大模型能力的过程中我们的私密数据跟环境需要掌握自己的手里,完全可控,避免任何的数据隐私泄露以及安全风险。基于此,我们发起了DB-GPT项目,为所有以数据库为基础的场景,构建一套完整的私有大模型解决方案。 此方案因为支持本地部署,所以不仅仅可以应用于独立私有环境,而且还可以根据业务模块独立部署隔离,让大模型的能力绝对私有、安全、可控。我们的愿景是让围绕数据库构建大模型应用更简单,更方便。
DB-GPT 是一个开源的以数据库为基础的GPT实验项目,使用本地化的GPT大模型与您的数据和环境进行交互,无数据泄露风险,100% 私密
示例通过 RTX 4090 GPU 演示
dbgpt_demo.mp4
目前我们已经发布了多种关键的特性,这里一一列举展示一下当前发布的能力。
-
SQL 语言能力
- SQL生成
- SQL诊断
-
私域问答与数据处理
- 知识库管理(目前支持 txt, pdf, md, html, doc, ppt, and url)
- 数据库知识问答
- 数据处理
-
数据库对话
-
Chat2Dashboard
-
插件模型
- 支持自定义插件执行任务,原生支持Auto-GPT插件。如:
- SQL自动执行,获取查询结果
- 自动爬取学习知识
- 支持自定义插件执行任务,原生支持Auto-GPT插件。如:
-
知识库统一向量存储/索引
- 非结构化数据支持包括PDF、MarkDown、CSV、WebURL
-
多模型支持
- 支持多种大语言模型, 当前已支持如下模型:
- 🔥 Vicuna-v1.5(7b,13b)
- 🔥 llama-2(7b,13b,70b)
- WizardLM-v1.2(13b)
- Vicuna (7b,13b)
- ChatGLM-6b (int4,int8)
- ChatGLM2-6b (int4,int8)
- guanaco(7b,13b,33b)
- Gorilla(7b,13b)
- baichuan(7b,13b)
DB-GPT基于 FastChat 构建大模型运行环境,并提供 vicuna 作为基础的大语言模型。此外,我们通过LangChain提供私域知识库问答能力。同时我们支持插件模式, 在设计上原生支持Auto-GPT插件。我们的愿景是让围绕数据库和LLM构建应用程序更加简便和便捷。
整个DB-GPT的架构,如下图所示
核心能力主要有以下几个部分。
- 知识库能力:支持私域知识库问答能力
- 大模型管理能力:基于FastChat提供一个大模型的运营环境。
- 统一的数据向量化存储与索引:提供一种统一的方式来存储和索引各种数据类型。
- 连接模块:用于连接不同的模块和数据源,实现数据的流转和交互。
- Agent与插件:提供Agent和插件机制,使得用户可以自定义并增强系统的行为。
- Prompt自动生成与优化:自动化生成高质量的Prompt,并进行优化,提高系统的响应效率。
- 多端产品界面:支持多种不同的客户端产品,例如Web、移动应用和桌面应用等。
- DB-GPT-Hub 使用 LLM 进行文本到 SQL 解析
- DB-GPT-Plugins DB-GPT 插件仓库, 兼容Auto-GPT
- DB-GPT-Web 多端交互前端界面
🌐 AutoDL镜像
🌐 阿里云镜像
在.env 配置文件当中,修改LANGUAGE参数来切换使用不同的语言,默认是英文(中文zh, 英文en, 其他语言待补充)
- autodl
autodl镜像,从头搭建可参考镜像说明,或通过
docker pull
获取共享镜像,按照文档中的说明操作即可,若有问题,欢迎评论。
如果在使用知识库时遇到与nltk相关的错误,您需要安装nltk工具包。更多详情,请参见:nltk文档 Run the Python interpreter and type the commands:
>>> import nltk
>>> nltk.download()
项目取得的成果,需要感谢技术社区,尤其以下项目。
- FastChat 提供 chat 服务
- vicuna-13b 作为基础模型
- langchain 工具链
- Auto-GPT 通用的插件模版
- Hugging Face 大模型管理
- Chroma 向量存储
- Milvus 分布式向量存储
- ChatGLM 基础模型
- llama-index 基于现有知识库进行In-Context Learning来对其进行数据库相关知识的增强。
- 提交代码前请先执行
black .
这是一个用于数据库的复杂且创新的工具, 我们的项目也在紧急的开发当中, 会陆续发布一些新的feature。如在使用当中有任何具体问题, 优先在项目下提issue, 如有需要, 请联系如下微信,我会尽力提供帮助,同时也非常欢迎大家参与到项目建设中。
The MIT License (MIT)