DB-GPT/examples/test_files/dbgpt.md
M1n9X 759f7d99cc
feat(GraphRAG): enhance GraphRAG by graph community summary (#1801)
Co-authored-by: Florian <fanzhidongyzby@163.com>
Co-authored-by: KingSkyLi <15566300566@163.com>
Co-authored-by: aries_ckt <916701291@qq.com>
Co-authored-by: Fangyin Cheng <staneyffer@gmail.com>
Co-authored-by: yvonneyx <zhuyuxin0627@gmail.com>
2024-08-30 21:59:44 +08:00

16 KiB
Raw Permalink Blame History

DB-GPT: 用私有化LLM技术定义数据库下一代交互方式

DB-GPT 是什么?

🤖 DB-GPT是一个开源的AI原生数据应用开发框架(AI Native Data App Development framework with AWEL(Agentic Workflow Expression Language) and Agents)。 目的是构建大模型领域的基础设施,通过开发多模型管理(SMMF)、Text2SQL效果优化、RAG框架以及优化、Multi-Agents框架协作、AWEL(智能体工作流编排)等多种技术能力,让围绕数据库构建大模型应用更简单,更方便。 🚀 数据3.0 时代,基于模型、数据库,企业/开发者可以用更少的代码搭建自己的专属应用。

效果演示

AI原生数据智能应用



Data Agents

目录

架构方案

image.png 核心能力主要有以下几个部分:

  • RAG(Retrieval Augmented Generation)RAG是当下落地实践最多也是最迫切的领域DB-GPT目前已经实现了一套基于RAG的框架用户可以基于DB-GPT的RAG能力构建知识类应用。
  • GBI生成式BI是DB-GPT项目的核心能力之一为构建企业报表分析、业务洞察提供基础的数智化技术保障。
  • 微调框架: 模型微调是任何一个企业在垂直、细分领域落地不可或缺的能力DB-GPT提供了完整的微调框架实现与DB-GPT项目的无缝打通在最近的微调中基于spider的准确率已经做到了82.5%
  • 数据驱动的Multi-Agents框架: DB-GPT提供了数据驱动的自进化Multi-Agents框架目标是可以持续基于数据做决策与执行。
  • 数据工厂: 数据工厂主要是在大模型时代,做可信知识、数据的清洗加工。
  • 数据源: 对接各类数据源实现生产业务数据无缝对接到DB-GPT核心能力。

智能体编排语言(AWEL)

AWELAgentic Workflow Expression Language是一套专为大模型应用开发设计的智能体工作流表达语言它提供了强大的功能和灵活性。通过 AWEL API 您可以专注于大模型应用业务逻辑的开发而不需要关注繁琐的模型和环境细节AWEL 采用分层 API 的设计, AWEL 的分层 API 设计架构如下图所示:

image.png

AWEL在设计上分为三个层次依次为算子层、AgentFrame层以及DSL层以下对三个层次做简要介绍。

  • 算子层

算子层是指LLM应用开发过程中一个个最基本的操作原子比如在一个RAG应用开发时。 检索、向量化、模型交互、Prompt处理等都是一个个基础算子。 在后续的发展中,框架会进一步对算子进行抽象与标准化设计。 可以根据标准API快速实现一组算子。

  • AgentFrame层

AgentFrame层将算子做进一步封装可以基于算子做链式计算。 这一层链式计算也支持分布式支持如filter、join、map、reduce等一套链式计算操作。 后续也将支持更多的计算逻辑。

  • DSL层

DSL层提供一套标准的结构化表示语言可以通过写DSL语句完成AgentFrame与算子的操作让围绕数据编写大模型应用更具确定性避免通过自然语言编写的不确定性使得围绕数据与大模型的应用编程变为确定性应用编程。

RAG架构

Agent架构

DB-GPT Agent是一个多Agent框架目的是提供生产级Agent构建的基础框架能力。我们认为生产级代理应用程序需要基于数据驱动的决策并且可以在可控制的工作流中进行编排。 在我们的设计中提供了一套以Agent为核心融合多模型管理、RAGs、API调用、可视化、AWEL智能体编排、Text2SQL、意图识别等一系列技术的生产级数据应用开发框架。 image.png 如同所示: 在DB-GPT中Agent是一等公民其他RAGs、Tools、数据源等都是Agent依赖的资源包括模型也是一种资源。 Agent的核心模块主要有Memory、Profile、Planing、Action等模块。 围绕Agent的核心模块往上构建多Agent之间的协作能力协作主要有三种形式。

  1. 单一Agent: 单个Agent有具体任务与目标不涉及多模型协作。
  2. Auto-Plan: Agent自己制定计划在多Agent协作时负责路径规划、分工协作等。
  3. AWEL: 编排,通过程序编排来实现多智能体的协作。

多模型架构

在AIGC应用探索与生产落地中难以避免直接与模型服务对接但是目前大模型的推理部署还没有一个事实标准不断有新的模型发布也不断有新的训练方法被提出我们需要花大量的时间来适配多变的底层模型环境而这在一定程度上制约了AIGC应用的探索和落地。 SMMF由模型推理层、模型部署层两部分组成。模型推理层对应模型推理框架vLLM、TGI和TensorRT等。模型部署层向下对接推理层向上提供模型服务能力。 模型部署框架在推理框架之上,提供了多模型实例、多推理框架、多云、自动扩缩容与可观测性等能力。

子模块

  • DB-GPT-Hub 通过微调来持续提升Text2SQL效果
  • DB-GPT-Plugins DB-GPT 插件仓库, 兼容Auto-GPT
  • GPT-Vis 可视化协议
  • dbgpts dbgpts 是官方提供的数据应用仓库, 包含数据智能应用, 智能体编排流程模版, 通用算子等构建在DB-GPT之上的资源。

安装

教程

特性一览

Image

🌐 AutoDL镜像 🌐 小程序云部署

多语言切换

在.env 配置文件当中修改LANGUAGE参数来切换使用不同的语言默认是英文(中文zh, 英文en, 其他语言待补充)

使用说明

多模型使用

数据Agents使用

贡献

更加详细的贡献指南请参考如何贡献

这是一个用于数据库的复杂且创新的工具, 我们的项目也在紧急的开发当中, 会陆续发布一些新的feature。如在使用当中有任何具体问题, 优先在项目下提issue, 如有需要, 请联系如下微信,我会尽力提供帮助,同时也非常欢迎大家参与到项目建设中。

Licence

The MIT License (MIT)

引用

如果您发现DB-GPT对您的研究或开发有用,请引用以下论文

@article{xue2023dbgpt,
      title={DB-GPT: Empowering Database Interactions with Private Large Language Models}, 
      author={Siqiao Xue and Caigao Jiang and Wenhui Shi and Fangyin Cheng and Keting Chen and Hongjun Yang and Zhiping Zhang and Jianshan He and Hongyang Zhang and Ganglin Wei and Wang Zhao and Fan Zhou and Danrui Qi and Hong Yi and Shaodong Liu and Faqiang Chen},
      year={2023},
      journal={arXiv preprint arXiv:2312.17449},
      url={https://arxiv.org/abs/2312.17449}
}