今天看到 蚂蚁科技 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语言功能
    • 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型号显存大小性能
TRX409024G可以流畅的进行对话推理,无卡顿
TRX309024G可以流畅进行对话推理,有卡顿感,但好与V100
V10016G可以进行对话推理,有明显卡顿

Roadmap

参考

LLM实战系列(1)—强强联合Langchain-Vicuna应用实战
LLM实战系列(2) —— DB-GPT阿里云部署指南