DB-GPT:强强联合Langchain-Vicuna的应用实战开源项目,彻底改变与数据库的交互方式-程序员宅基地

技术标签: 算法  Langchain  langchain  HuggingFace  AI  数据库  Vicuna  

今天看到 蚂蚁科技 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在消费级GPU即可完成部署, 具体部署的硬件说明如下:

GPU型号 显存大小 性能
TRX4090 24G 可以流畅的进行对话推理,无卡顿
TRX3090 24G 可以流畅进行对话推理,有卡顿感,但好与V100
V100 16G 可以进行对话推理,有明显卡顿

Roadmap

参考

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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/penriver/article/details/131920469

智能推荐

Java 解析binlog实现数据同步增量等操作_mysql-binlog-connector-java-程序员宅基地

文章浏览阅读3.9k次,点赞4次,收藏24次。相比row能节约多少性能与日志量,这个取决于应用的SQL情况,正常同一条记录修改或者插入row格式所产生的日志量还小鱼statement产生的日志量,但是考虑到如果带条件的update操作,以及整表删除,alter表等操作,row格式会产生大量日志,因此在考虑是否使用row格式日志时应该根据应用的实际情况,其所产生的日志量会增加多少,以及带来的IO性能问题。缺点:所有的执行的语句当记录到日志中的时候,都将以每行记录的修改来记录,这样可能会产生大量的日志内容。显示主服务器使用的二进制文件及大小。_mysql-binlog-connector-java

nginx配置反向代理前后端分离项目(配置两个转发)_nginx怎么转发两个dist文件-程序员宅基地

文章浏览阅读5.9k次。本文重点讲术springboot +vue前后端分离nginx如何配置两个代理一、通常SpringBoot与vue 进行前后端分离,主要有两种方式:1.打包(npm run build命令)vue项目出来的dist文件夹拷贝到springboot项目的static文件目录,部署到tomcat即可。2.利用nginx的反向代理。本文主要讲解第二种首先打包前端项目到指定目录:E:\fjgh\..._nginx怎么转发两个dist文件

Git 核心知识-程序员宅基地

文章浏览阅读656次,点赞5次,收藏5次。Git 核心知识

HTML静态网页成品作业(HTML+CSS)——动漫猫和老鼠网页(1个页面)-程序员宅基地

文章浏览阅读1.1k次,点赞15次,收藏6次。HTML静态网页成品作业(HTML+CSS)——动漫猫和老鼠网页(1个页面)

Redis应用(4)——Redis的项目应用(三):抢购图书2.0 ---> Lua脚本 & Redis+Lua+Redission实现抢购 & Redission锁_redission实现抢单-程序员宅基地

文章浏览阅读294次。1.Lua脚本,基础语法,去库存脚本编写;2.SpringBoot整合Lua脚本,配置类RedisScript_redission实现抢单

C++Day 7 作业

【代码】C++Day 7 作业。

随便推点

前端发版缓存问题

前端发版缓存问题

DottedDict,一款特殊字典类型python库

DottedDict 是一个 Python 库,它允许用户通过点号访问嵌套字典中的值,类似于 JavaScript 中的对象访问方法

前端发版缓存问题

前端发版缓存问题

探索潜力:中心化交易所平台币的对比分析

相比之下,市值较低的平台币,如BMX、BGB和MX,具有更大的增长潜力,呈现出更多的增长机会。在过去的一年里,受益于美国股市上比特币 ETF 的上市和比特币供应量的第四次减半,比特币的价格一度飙升至73,000美元以上,达到历史新高。本文旨在为读者提供对这七种选定平台币的全面分析,评估它们的价值和潜力,并研究价格和市值增长指标、回购机制、功能权益以及其发行方的市场表现。随着越来越多的开发者和项目选择在这些区块链上构建应用程序,这些区块链的持续发展有助于提升其原生代币的可用性和需求,从而扩展其使用场景。

C语言:项目实践(贪吃蛇)

相信大家都玩过贪吃蛇这款游戏吧,贪吃蛇是久负盛名的游戏,它也和俄罗斯方块,扫雷等游戏位列经典游戏的行列,那贪吃蛇到底是怎么实现的呢?今天,我就用C语言带着大家一起来实现一下这款游戏,从设计到代码的实现可以帮助我们提升编程能力和逻辑能力

web3以太坊开发,前后端交互中涉及到的合约

在web3以太坊开发中,往往大家交流的时候,会涉及到一些合约相关的词汇,这里重点说两个合约,一个是manager合约,另一个是registry合约。