一文速学ChatBi“与数据库对话“大模型技术原理及框架一览

news2024/9/21 4:24:44

前言

上期写了NL2SQL,相信看过的朋友应该都对现在大模型在数据交互办公层面的探索和发展都十分感兴趣,在此商业化的产品市场上也有很多,比如阿里云的析言GBI:
在这里插入图片描述腾讯云的ChatBI:

在这里插入图片描述
像此类的产品可以说是最贴切业务的。

在许多业务场景中,用户最关心的是如何快速获取最终的数据结果,而不是去理解数据是如何被提取和处理的。学习数据获取的复杂过程往往是一个高成本的障碍,而降低这一成本直接关系到产品的吸引力和用户的转化率。对于我们技术人员而言,尽管研发思维是核心,但我们开发的服务最终还是为了更好地服务于业务需求。随着技术的进步,自然语言到SQL(NL2SQL)转化已成为数据开发的未来趋势,它让用户能够用最少的学习成本获取他们所需的数据。ChatBI正是这一趋势的具体体现,它不仅降低了技术门槛,还显著提升了用户体验和产品竞争力,使数据分析变得更加直观和高效。

那么本期文章我们来研究DB-GPT这类技术作为LLM与数据库结合的产品原理和框架,帮助我们能够真正运用到自己的业务之中。

1.何为DB-GPT

DB-GPT是一个开源的AI原生数据应用开发框架(AI Native Data App Development framework with AWEL(Agentic Workflow Expression Language)and Agents)。旨在简化大模型应用的构建,特别是围绕数据库的应用。它通过整合多种技术能力,如多模型管理(SMMF)、Text2SQL效果优化、RAG框架优化、以及多智能体框架的协作,帮助企业和开发者更方便地开发基于大模型的应用。此外,DB-GPT还引入了AWEL(智能体工作流编排),让复杂的工作流程自动化,减少开发者所需的编码工作量。进入数据3.0时代,这意味着开发者可以用更少的代码、更高的效率,快速构建属于自己的专属数据应用,推动业务创新。
在这里插入图片描述本篇文章主要详解DB-GPT这一体系,会对整个AI框架进行详细的描述。我们根据上图整个DB-GPT的架构来看。

1. Train(训练)

在框架的底层是 DB-GPT-Hub,这是模型训练和数据准备的基础层。它包括多种技术能力的训练,如 Text2SQL、Text2DSL、Text2API、Text2Vis 等。这一层为上层的模块和应用提供了强大的训练支持,确保模型的高效性和精确性。

2. Protocol(协议层)

AWEL(智能体工作流编排语言):AWEL 是一种用于定义和管理智能体工作流的协议语言。在这个层面上,AWEL 提供了 DSL(领域特定语言)、AgentFrame(智能体框架)、Operators(操作符)、Parallelization(并行化)等功能。这些组件使得工作流的编排和执行变得更加灵活和高效。

3. Module(模块层)

模块层包含了三大核心模块:

  • SMMF(多模型管理框架):负责管理和调度多个模型。它包含了 Controller(控制器)、Registry(注册表)、Worker(工作者)、Model(模型)、Prompt(提示词)、Inference(推理)等组件,确保多模型的高效协作和运行。
  • RAGs(检索增强生成模块):包括 Query Rewrite(查询重写)、RAG Retriever(检索器)、Ranking(排序)、Document Loader(文档加载器)、Embedding(嵌入)、Text Splitter(文本分割器)等,主要用于提升生成内容的准确性和相关性。
  • Agents(智能体模块):负责多智能体的协作和任务执行,包括 Auto(自动化)、Plan(计划)、Multi-Roles(多角色)、Data-Driven(数据驱动)等能力。

4. Server(服务层)

服务层包括多个服务组件,如 LLMServer(大语言模型服务)、APIServer(API服务)、RAGServer(RAG服务)以及 dbgptServer(DBGPT服务)等。这些服务组件共同支持上层应用的运行,确保系统的稳定性和可扩展性。

5. Application(应用层)

应用层展示了多种基于DB-GPT构建的具体应用,包括 DBGPTsGBIChatDBChatDataKBQ4ChatExcel 等。这些应用面向不同的业务需求,利用底层的技术和服务,实现了从自然语言查询到数据分析的自动化流程。

6. Visualization(可视化层)

最上层是可视化层 GPT-Vis,它包括了 Markdown、Charts、Flow、Graph、CodeFragment、StreamOutput、Table 等可视化工具。这些工具帮助用户更直观地理解和展示数据分析的结果。

7. 支持和集成

该框架还集成了多种云服务和容器化技术,如 Kubernetes、Ray、AWS、Alibaba Cloud 和 Private Cloud,支持跨平台和多环境的部署和运行。

8. 辅助功能

在框架的右侧,框架还强调了支持 监控(Monitoring)评估(Evaluation)反馈(Feedback)测试(Testing)调试(Debugging) 的工具和机制,确保系统的可靠性和持续优化。

这个框架展示了 DB-GPT 的强大功能和灵活性,使得开发者能够利用这一平台高效地开发和部署复杂的AI应用,特别是在数据库驱动的环境中。我们拿出关键的核心模块来探讨研究。

核心模块

1.1 SMMF

多模型管理框架(SMMF,Multi-Model Management Framework)是DB-GPT中用于管理和优化多个大语言模型(LLMs)的关键组件。它的主要功能是为开发者提供一种高效、灵活的方式来同时管理多个模型,从而提升大模型应用的性能和效果,特别是在围绕数据库的场景中。
在这里插入图片描述
在企业级应用中,SMMF尤其适用于需要同时处理多种任务或需要集成多种模型的场景。例如,一个智能客服系统可能需要同时处理客户的自然语言查询、产品推荐以及情感分析,这些任务分别可能需要不同的模型来完成。SMMF可以帮助企业灵活地管理这些模型,并根据实际需求动态调整,以确保系统的高效运行。

1.2 RAG(Retrieval Augmented Generation)

正如其名,是一种将检索(Retrieval)和生成(Generation)结合起来的技术。它首先从一个巨大的知识库中检索出与提出的问题最相关的信息,然后基于这些信息来生成回答。这样做的好处是,它允许模型不仅依赖其已有的知识,还可以实时地利用外部数据来提供更准确、更丰富的回答。
在这里插入图片描述
传统的生成式语言模型在面对广泛主题或复杂数据库查询时,可能会因为缺乏特定领域的知识而生成不准确或不完整的答案。RAG 框架通过结合信息检索技术,先从相关的知识库或数据库中检索出与查询相关的信息,再将这些信息输入到生成模型中。这种方法有效地弥补了生成模型在特定领域知识上的不足,从而提升了生成内容的准确性。

在 DB-GPT 中,RAG 框架允许系统动态地处理复杂的自然语言查询。对于一个复杂查询,RAG 首先检索到相关的数据库模式或数据条目,然后将这些信息与用户的查询结合,生成更加准确和上下文相关的SQL查询。这种能力使得 DB-GPT 在处理多样化的用户需求时更加灵活和强大。

1.3 Agents

自动化(Auto):自动化是 Agents 模块的核心功能之一。它允许智能体在没有人工干预的情况下,基于预定义的规则或模型,自主地执行任务。这种能力大大提高了系统的效率,减少了人工操作的需求,尤其是在处理重复性任务时,自动化功能能够显著提升工作流的执行速度和准确性。

计划(Plan):计划功能使得智能体可以根据输入任务和目标,自主制定和调整任务执行计划。智能体通过分析任务的复杂性、时间要求以及资源限制,生成最优的执行计划。这种功能在复杂的多步骤任务中尤为重要,可以确保任务按照最优路径高效完成。

多角色(Multi-Roles):这一功能允许单个智能体承担多个角色,或者通过多个智能体的合作来完成一个复杂任务。多角色功能能够灵活分配任务,确保每个任务都由最合适的角色或智能体来执行。这种灵活性使得系统可以应对多样化的业务需求和任务复杂性。

数据驱动(Data-Driven):数据驱动是指智能体能够基于实时数据进行决策和任务执行。这种功能使得智能体能够动态调整其行为,以适应环境的变化或数据的更新,从而提高任务执行的准确性和及时性。数据驱动的能力确保了系统在面对不确定性和动态变化时,仍然能够保持高效和稳定的运行。

智能体可以利用 RAGs 模块提供的信息检索和增强生成能力,更准确地理解用户查询并生成响应。也可以与 SMMF 模块协作,动态调用和管理多个模型,确保在不同的任务场景中使用最合适的模型,以达到最佳效果。这种扩展性确保了 DB-GPT 框架可以适应各种复杂的应用场景,并提供高度定制化的解决方案。

1.4 自动化微调

在这里插入图片描述
围绕大语言模型、Text2SQL数据集、LoRA/QLoRA/Pturning等微调方法构建的自动化微调轻量框架, 让TextSQL微调像流水线一样方便。

1.数据存储与处理(Data Storage & Data Process)

用户的原始数据首先被存储,通常包括用于训练的大规模SQL查询数据集,如Spider数据集。Spider数据集是一个广泛用于Text-to-SQL任务的基准数据集,包含了大量的SQL查询及其对应的自然语言描述。接下来,存储的数据会经过数据处理阶段,包括清洗、格式化和预处理,以确保数据能够被下游的大语言模型(LLMs)高效利用。这一步骤至关重要,因为高质量的数据处理能够显著提升模型的训练效果。

2. 大语言模型加载(Base LLMs Loader)

在这一阶段,预先训练的基础大语言模型(LLMs)会被加载。这些模型包括OpenAI的GPT、Meta的LLaMA、Google的BERT等。这些基础模型已经通过大规模数据预训练,具备了强大的自然语言理解和生成能力,但在特定领域的表现可能还需要进一步优化。

3. 微调(Fine-Tuning)

模型会通过几种不同的微调方法进行优化,包括LoRA(低秩自适应)、QLoRA(量化低秩自适应)、SST(逐步缩放训练)和SPT(逐步渐进训练)等。这些方法能够在保留原有模型强大能力的基础上,对模型进行更加精细的调整,使其在特定任务上表现更好。例如特定领域的SQL生成,提升模型的实际应用效果。

4. 强化学习与人类反馈(RLHF)

RLHF(Reinforcement Learning with Human Feedback):在微调后,模型会进一步通过强化学习结合人类反馈进行优化。这一过程通过结合用户的实际使用反馈来不断调整模型,使其生成的内容更加符合用户的预期。通过RLHF,模型不仅能够更好地理解用户的意图,还能持续改进,以应对不断变化的需求。

5. 预测与评估(Predict & Evaluation)

  • 预测:经过微调和RLHF后的模型会用于实际的预测任务,如生成SQL查询或其他复杂任务的解决方案。
  • 评估:最后,模型的表现会通过一系列的评估指标进行评估,以确保其生成的结果准确、高效,并符合预期。

那么下一章我们将在算力云服务器上面来进行完整部署搭建整个DB-GPT来使用,并且贴合业务去做一些实践验证。

如有纰漏之处,请留言指教,非常感谢

以上就是本期全部内容。我是fanstuck ,有问题大家随时留言讨论 ,我们下期见。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2100678.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++笔记16•数据结构:关联式容器map和set•

map和set 1.关联式容器 前面介绍的的是序列式容器:vector、list、deque等容器。这次博客介绍STL新的容器成员,那就是关联式容器;顾名思义关联式容器就是容器存在中的数据之间存在联系(关联)。与序列式容器不同的是&am…

linux入门系列【1】常用命令

一、简介 linux 基本操作命令,便于我们去使用命令帮助我们去检索和排查问题 二、常用命令 1.磁盘空间排查 1.1 查看磁盘空间分布情况 du -ah .|sort -hr 在对应目录下执行则是查看对应目录的文件分布以及大小情况,一般用于查看某个文件夹目录数据情况 1.2 查看深度层级为…

Java中的Set(如果想知道Java中有关Set的知识点,那么只看这一篇就足够了!)

前言:在Java编程中,集合框架(Collections Framework)是处理数据结构和算法的基础工具之一。它提供了一套强大且灵活的接口和类,用于存储和操作不同类型的数据集合。在这其中,Set接口扮演着一个重要角色。与…

vue-router基本流程及其案例分析

web发展历程 1.后端实现路由 在这个阶段,前端基本上只写界面,也就是html,css,js那些东西,然后在界面中挖槽用来接后端数据,包括路由也由后端负责,在这个阶段中,web开发非常依赖后端,常见的后端…

系列精选 |【梧桐数据库】产品架构层次解析-总述

梧桐数据库中秋特别活动免费领取大闸蟹 抽奖免费领取大闸蟹 以下是正文 在浩瀚的数据世界里,梧桐数据库犹如一颗璀璨的星辰,它的设计如同一首细腻的诗歌,每一个层次都是优美的韵律,为我们构建了一个强大而灵动的数据天地。 梧桐数…

西中区2024年度安全知识竞赛活动方案

为有效预防安全生产事故的发生,深化西中区全体员工对安全生产的认识,切实提升全体人员的安全意识和自我保护能力,夯实安全知识基础,丰富安全文化内涵,推动安全生产工作更加规范化、系统化,根据西中区安全生…

<数据集>遥感航拍飞机和船舶和识别数据集<目标检测>

数据集格式:VOCYOLO格式 图片数量:19973张 标注数量(xml文件个数):19973 标注数量(txt文件个数):19973 标注类别数:2 标注类别名称:[ship,plane] 序号类别名称图片数框数1ship17575416292plane239815…

简单好用的SD卡克隆软件:轻松克隆SD卡

想更换SD卡以提升性能,但不知道如何进行SD卡克隆?不用担心,本文推荐了一款好用SD卡克隆软件,轻松帮你解决问题! 为什么要克隆SD卡? SD卡广泛应用于游戏机、手机及其他便携设备。用户常用SD卡存储个人数据…

2024/9/3黑马头条跟学笔记(一)

D1 视频链接 Day1-05-nacos环境搭建_哔哩哔哩_bilibili 内容介绍 搭建微服务开发环境,登录接口包含注册中心和nacos配置中心 服务端用户…微服务。网关负载均衡转发接口请求 实现微服务间互相通信 接口测试 前后端联调 前置知识 背景介绍 类似今日头条&#x…

权威解读:社交类APP都需要办理哪些资质?

今天小编给大家讲讲社交类APP都需要办理哪些资质? 我们先来看下微信小程序对社交类目是怎么分类以及需要哪些资质许可证? 微信小程序社交类目许可资质 微信小程序对社交类目做了一些细分,它把社交分为陌生人交友、熟人交友、社区/论坛、直播…

log4j 控制台和文件输出乱码问题解决

一个小问题,却让我感觉到,现在真正动脑的人很少。。我来说说吧。 今天遇到一个小问题, log4j输出到文件乱码,控制台正常。显然是编码问题导致。Google一搜,几乎一水的说: 项目中log4j在英文版linux下输出中…

气膜水产养殖:打造高效、可持续的水产养殖新模式—轻空间

随着全球对高质量水产品需求的不断增加,传统的水产养殖方式面临着诸多挑战,如环境污染、气候变化以及水源短缺等问题。在这种背景下,气膜水产养殖作为一种创新的养殖模式,逐渐引起了广泛关注。通过结合气膜结构建筑与现代化养殖技…

【测试】系统测试用例编写案例模板(Word原件)

1编写目的 2使用范围 3文档概述 4术语和缩略语 5编写规范 5.1编写目的 5.2编写范围 5.3编写规范 6参考文档 软件全套精华资料包清单部分文件列表: 工作安排任务书,可行性分析报告,立项申请审批表,产品需求规格说明书,需…

从UGC到PGC:3C品牌与TikTok达人合作的内容优化策略

在数字营销新时代,内容的创作和传播方式正在经历快速的变革。3C品牌与TikTok达人的合作正逐渐从用户生成内容(UGC)向专业生成内容(PGC)转变。这一转变不仅改变了内容的生产方式,也提升了品牌营销的效果。本…

三种权限模型该如何选择

在构建企业级平台或复杂应用系统时,权限管理是一个至关重要的环节。它决定了哪些用户可以访问哪些资源,以及可以进行哪些操作,一个健全的权限管理架构,在确保系统正常运行的同时,也能有效防止数据泄露和非法访问&#…

antd:手写走马灯vue组件

在使用ant-design-vue做走马灯的时候,封装的组件的自由度太低,难以实现想要的效果,于是本人自己写了一个走马灯组件,以方便代码复用。本文将介绍如何在vue框架中,使用ant-design-vue手动实现走马灯组件效果。 结果如下图所示, 一、使用说明 使用时,直接创建一个组件,…

.NET 最好用的验证组件 FluentValidation

目录 前言 项目介绍 项目使用 1、安装FluentValidation 2、Program.cs 3、Startup.cs 4、版本兼容 5、支持的验证器 6、可扩展 7、Swagger 模型和验证器 8、包含验证器 高级用法 1、异步验证 2、条件验证 3、自定义验证规则 4、自定义错误消息 项目地址 总结 …

comfyui替换电商模特工作流,模特们要真的要失业了吗?

前言 comfyui生态的丰富绝对是电商行业的福利,有助于电商老板们开源节流,废话不多说本着追求进步进一步理解comfyui工作流的搭建逻辑,我们来拆解电商模特替换这个工作流! 老规矩一句话说工作流原理,1.借助XL-tile修改…

Funsound: 快速为你的视频加上字幕

Funsound是基于阿里达摩院funasr开发的中文语音识别工具,其paraformer非自回归解码速度超快,同时预训练模型识别精度业界领先。本文将简要介绍funsound下如何快速为你的视频添加字幕,十分简单方便。 1. 上传音视频识别 & 导出SRT 打开fu…

无人机之飞行速度篇

无人机的飞行速度是一个复杂且多变的参数,它受到多种因素的影响。以下是对无人机飞行速度及其影响因素的详细分析: 一、无人机飞行速度概述 无人机的飞行速度通常以其在不同飞行模式下的水平飞行速度来衡量,如平稳挡(Cine&#x…