今天看到 蚂蚁科技 Magic 开源的DB-GPT项目,觉得创意很好,集成了当前LLM的主流技术,主要如下
- Langchain: 构建在LLM之上的应用开发框架
- HuggingFace: 模型标准,提供大模型管理功能
- Vicuna: 一个令GPT-4惊艳的开源聊天机器人,基于LLaMA模型和ShareGPT数据集训练的,能够达到接近ChatGPT/Bard的质量,而且明显优于其它基准模型
本文针对DB-GPT详细了解下的笔记
什么是DB-GPT
DB-GPT : Revolutionizing Database Interactions with Private LLM Technology
DB-GPT是一个实验性的开源项目,它使用本地化的GPT大型模型与数据和环境进行交互。使用此解决方案,没有数据泄露的风险,数据是100%私密和安全的。
DB-GPT使用FastChat创建了一个庞大的模型操作系统,并提供了一个由Vicuna驱动的大型语言模型。此外,还提供了私有领域知识库问答功能、对其他插件的支持、支持Auto-GPT插件。
DB-GPT愿景是使围绕数据库和llm构建应用程序变得更容易、更方便。
GPT项目可以直接本地部署连接到私有数据库, 进行私有数据处理, 目前已支持SQL生成、SQL诊断、数据库知识问答、数据处理等一系列的工作
关键特性
- SQL语言功能
- 私人领域的问答和数据处理
- 知识管理(目前支持多种文档格式:txt, pdf, md, html, doc, ppt和url)
- 数据库知识问答
- 知识嵌入(knowledge Embedding)
- 插件
- 支持自定义插件执行任务,并原生支持Auto-GPT插件,例如:
- 自动执行SQL和检索查询结果
- 自动爬取和学习知识(crawling and learning of knowledge)
- 知识库的统一矢量存储/索引
- 支持PDF、TXT、Markdown、CSV、DOC、PPT、webl等非结构化数据
- 支持多个LLMs
- 支持多种大型语言模型,目前支持Vicuna (7b,13b), ChatGLM-6b (int4, int8), guanaco(7b,13b,33b), Gorilla(7b,13b),llama-2(7b, 13b, 70b)
- TODO: baichuan(7b, 13b)
架构图
具备的能力如下
- 知识库能力:支持私有领域知识库问答能力
- 大规模模型管理能力:提供基于FastChat的大型模型操作环境。
- 统一的数据矢量存储和索引:提供统一的方式来存储和索引各种数据类型
- 连接模块:用于连接不同模块和数据源,实现数据流和交互
- 代理和插件:提供代理和插件机制,允许用户自定义和增强系统的行为
- 提示生成和优化:自动生成高质量的提示并进行优化,提高系统响应效率
- 多平台产品接口:支持web、移动、桌面等多种客户端产品。
子模块:
- DB-GPT-Hub Text-to-SQL parsing with LLMs
- DB-GPT-Plugins DB-GPT Plugins, Can run autogpt plugin directly
- DB-GPT-Web ChatUI for DB-GPT
整个知识库的处理过程,可参考如下:
使用到的开源项目
这个项目是站在巨人的肩膀上,没有开源社区是无法工作的。
- FastChat for providing chat services
- vicuna-13b as the base model
- langchain tool chain
- Auto-GPT universal plugin template
- Hugging Face for big model management
- Chroma for vector storage
- Milvus for distributed vector storage
- ChatGLM as the base model
- llama_index for enhancing database-related knowledge using in-context learning based on existing knowledge bases.
部署硬件说明
DB-GPT在消费级GPU即可完成部署, 具体部署的硬件说明如下:
GPU型号 |
显存大小 |
性能 |
TRX4090 |
24G |
可以流畅的进行对话推理,无卡顿 |
TRX3090 |
24G |
可以流畅进行对话推理,有卡顿感,但好与V100 |
V100 |
16G |
可以进行对话推理,有明显卡顿 |
Roadmap
参考
LLM实战系列(1)—强强联合Langchain-Vicuna应用实战
LLM实战系列(2) —— DB-GPT阿里云部署指南