阐明:本文转自EosphorosAI公众号
前言
酷爱的读者朋侪们,本日我们将带您深入相识DB-GPT V0.6.0的最新功能——构建一个数据助手类应用;让我们一起探索怎样通过DB-GPT,将复杂的数据处置处罚和智能问答变得触手可及!
01 目的概览
构建你的数据助手应用,包罗以下三个方面的本事:
1.根据文档举行智能题目
2.根据数据库举行数据对话
3.根据工具插件举行互联网搜刮
这三类本事,可以基于DB-GPT提供的意图辨认的本事,在一个对话中使用。数据助手会根据用户的题目匹配恰当的子智能体应用往返答对应范畴的题目。
02 前置准备
项目摆设:安装与设置,为构建智能应用打下坚固底子。
摆设文档干系教程: https://www.yuque.com/eosphoros/dbgpt-docs/qno7x8hmgyulbg80
03 子智能应用构建
分步构建:创建三个子智能应用,通过AppLink提供的意图辨认的本事将智能应用集成到一个同一的智能体中,同一对话交互入口。
基于RAG的问答助手
基于RAG的问答助手我们采取DB-GPT提供的Agent模块举行构建。DB-GPT中内置了一些智能体,如:
- 意图辨认智能体(Intent Recognition Expert)
- 代码智能体(CodeEnginner)
- 陈诉天生智能体(Reporter)
- 数据分析智能体(DataScientist)
- 文档总结智能体(Summarizer)
- 工具专家智能体(ToolExpert)
- ...
在本案例中智能问答紧张依赖的是范畴知识库跟文档总结智能体(Summarizer), 以是起首我们须要构建范畴知识库。流程如下:
1.范畴知识整理构建
范畴知识的整理加工是一个非常紧张的工作,对终极的结果有非常紧张的影响,各人须要本身现实的应用对文档举行须要的整理、洗濯。在本案例中,我们就用默认的PDF举行上传使用。我们准备的是OceanBase官方文档作为演示素材。
2.创建知识库
在产物界面,选择知识库,点击右上角的【创建知识库】,填写对应的参数。在存储范例我们提供了多种方式。1. Embedding向量 2. 知识图谱 3. 全文。此案例中,我们采取Embedding的方案举行构建。
填写好对应参数之后,点击【下一步】选择文档范例,举行文档上传:
选择符合的切片方式,等文档上传完成。至此我们知识库构建完成,可以举行后续的智能问允许用构建:
3.创建问允许用
选择【应用管理】 -> 【创建应用】, 在弹出对话框中,选择单一智能体模式:
点击【确定】, 在弹出对话框中:
1.选择Summarizer智能体。
2.提示词默以为空,假如须要修改,可以先自界说Prompt。
3.模子战略: 支持多种模子战略,假如有多个模子,可以按照优先级举行设置。
4.添加资源: 在本案例中,我们依赖先前创建的知识库,以是选择资源范例【knowledge】 参数为刚刚创建的知识库名称。
5.添加一个保举的提问题目, 【是否见效】来控制保举题目的见效。
点击【生存】,即完成了智能应用的创建。
4.开始对话:
阐明: 本教程中展示的智能体应用是基于Summarizer智能体举行构建的,Summarizer智能体是DB-GPT内置的智能体,干系代码实现见源码, 在现实使用中,可以根据具体的场景对干系代码做进一步的定制与优化。大概基于此案例自界说智能体。
数据对话助手
同理,可以根据类似的思绪构建数据对话助手,数据对话助手是可以基于一个数据库举行简朴的数据对话,并绘制相应的图表。紧张包罗以下步调:
1.数据准备
数据准备可以参考文档中的数据准备部门。
参考文档: https://www.yuque.com/eosphoros/dbgpt-docs/vsv49p33eg4p5xc1
2.创建数据源
准备好数据之后,须要将数据库添加到数据源中,供后续使用。选择【应用管理】-> 【数据库】-> 【添加数据源】
3.创建数据应用
如下图所示,选择【应用管理】-> 【应用步调】-> 【创建应用】,选择单一智能体应用,填写对应的参数,点击确定。
依次选择对应的参数:
- 智能体:选择【DataScientist】智能体
- 提示词: 默以为空,自界说可以拜见Prompt管理教程
- 模子战略: 这里选择了优先级战略,可以按照优先级使用proxyllm、tongyi_proxyllm两个模子。
- 可用资源: 资源范例选择数据库范例,参数选择我们之前添加的数据库
- 保举题目: 可以根据数据环境来设定默认题目。
4.开始对话
点击开始对话,输入对应的题目举行数据问答。
搜刮助手
气候助手须要调用搜刮引擎查询干系信息,以是须要筹划Tool调用,构建过程较为复杂。这里为了轻便应用创建,我们将干系的本事构建成了一个AWEL工作流,可以直接安装使用。
1.AWEL工作流安装
起首实行下令 dbgpt app list-remote 检察长途堆栈中全部的AWEL示例流程。awel-flow-web-info-search提供了搜刮互联网的本事。
- dbgpt app list-remote
- ┏━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
- ┃ 存储库 ┃ 类型 ┃ 名称 ┃
- ┡━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
- │ csunny/dbgpts │ agents │ summarizer-agent-example │
- │ csunny/dbgpts │ operators │ awel-simple-operator │
- │ csunny/dbgpts │ resources │ jina-web-reader │
- │ csunny/dbgpts │ resources │ simple-calculator-example │
- │ csunny/dbgpts │ workflow │ all-in-one-entrance │
- │ csunny/dbgpts │ workflow │ andrewyng-translation-agent │
- │ csunny/dbgpts │ workflow │ awel-flow-example-chat │
- │ csunny/dbgpts │ workflow │ awel-flow-rag-chat-example │
- │ csunny/dbgpts │ workflow │ awel-flow-rag-summary-example │
- │ csunny/dbgpts │ workflow │ awel-flow-simple-streaming-chat │
- │ csunny/dbgpts │ workflow │ awel-flow-web-info-search │
- │ csunny/dbgpts │ workflow │ db-expert-assisant │
- │ csunny/dbgpts │ workflow │ financial-report-knowledge-factory │
- │ csunny/dbgpts │ workflow │ financial-robot-app │
- │ csunny/dbgpts │ workflow │ rag-save-url-to-vstore │
- │ csunny/dbgpts │ workflow │ rag-url-knowledge-example │
- │ eosphoros/dbgpts │ agents │ summarizer-agent-example │
- │ eosphoros/dbgpts │ operators │ awel-simple-operator │
- │ eosphoros/dbgpts │ resources │ jina-web-reader │
- │ eosphoros/dbgpts │ resources │ simple-calculator-example │
- │ eosphoros/dbgpts │ workflow │ all-in-one-entrance │
- │ eosphoros/dbgpts │ workflow │ andrewyng-translation-agent │
- │ eosphoros/dbgpts │ workflow │ awel-flow-example-chat │
- │ eosphoros/dbgpts │ workflow │ awel-flow-rag-chat-example │
- │ eosphoros/dbgpts │ workflow │ awel-flow-rag-summary-example │
- │ eosphoros/dbgpts │ workflow │ awel-flow-simple-streaming-chat │
- │ eosphoros/dbgpts │ workflow │ awel-flow-web-info-search │
- │ eosphoros/dbgpts │ workflow │ db-expert-assisant │
- │ eosphoros/dbgpts │ workflow │ financial-report-knowledge-factory │
- │ eosphoros/dbgpts │ workflow │ financial-robot-app │
- │ eosphoros/dbgpts │ workflow │ rag-save-url-to-vstore │
- │ eosphoros/dbgpts │ workflow │ rag-url-knowledge-example │
- └──────────────────┴───────────┴────────────────────────────────────┘
复制代码
实行dbgpt app install awel-flow-web-info-search下令将其安装到本地:
- dbgpt app install awel-flow-web-info-search
- >
- Installing collected packages: awel-flow-web-info-search
- Successfully installed awel-flow-web-info-search-0.1.0
- Installed dbgpts at ~/.dbgpts/packages/ae442685cde998fe51eb565a23180544/awel-flow-web-info-search.
- dbgpts 'awel-flow-web-info-search' installed successfully.
复制代码
革新界面,在AWEL工作流界面,可以看到对应的workflow已经安装完成:
点开AWEL工作流,我们可以看到内里的内容,这里扼要做个解读。
- Agent Resource: 智能体依赖的资源,本案例中是baidu_search
- ToolExpert: 工具专家, 用来实现工具的调用。
- Summarizer智能体: 用来对查询到的结果做总结。
综上: 本AWEL工作流中用到了两个智能体,ToolExpert和Summarizer, ToolExpert依赖baidu_search这个内置工具,Summarizer对工具专家实行的结果做进一步总结,天生终极答复。
2.创建搜刮助手
同时,【创建应用】-> 【使命流编排模式】:
选择对应的工作流程,添加保举题目,点击生存:
3.开始对话
04 同一智能应用构建
按照上述的流程,我们已经创建好了各个子场景的智能应用,但在现实的应用中。我们须要在一个入口完玉成部的问答,因此须要将这些子范畴的智能体举行整合。通过AppLink与意图辨认的本事,同一交互入口。
为了实现题目路由,一个焦点的本事是意图辨认与分类。在筹划上为了让应用构建更加机动,我们提供了基于知识库跟Agent的意图辨认与分类本事。并支持基于AWEL举行自界说。
1.意图知识库构建
要实现意图分类,将用户的题目路由到对应的智能应用,我们起首须要对每个应用的本事举行界说形貌。这里我们通过知识库的方式来举行构建。
如下是一个简朴的意图界说文档,用来形貌每个智能应用的本事;紧张有四类信息须要填写:1.Intent: 意图范例2.App Code: 可以在应用界面复制。
3.Describe: 形貌智能体的本事。
4.Slots: 槽位信息, 用来表如今现实问答中智能体依赖的参数,如气候查询中须要【时间】跟【位置】信息。
- #######################
- Intent:DB答疑 App Code:a41d0274-8ac4-11ef-8735-3ea07eeef889 Describe: 所有DB领域相关知识的咨询答疑,包含了日常DBA的FAQ问题数据、OceanBase(OB)的官方文档手册,操作手册、问题排查手册、日常疑难问题的知识总结、可以进行专业的DBA领域知识答疑。 只要和DB相关的不属于其他应用负责范畴的都可以使用我来回答 问题范例: 1.怎么查看OB抖动? 2.DMS权限如何申请 3.如何确认xxxxx 类型:知识库咨询
- #######################
- Intent:数据对话 App Code:516963c4-8ac9-11ef-8735-3ea07eeef889 Describe: 通过SQL查询分析当前数据库(dbgpt-test:包含用户和用户销售订单数据的数据库) 类型:数据查询
- #######################
- Intent:天气检索助手 App Code:f93610cc-8acc-11ef-8735-3ea07eeef889 Describe: 可以进行天气查询 Slots:
- 位置: 要获取天气信息的具体位置
- 时间: 要获取的天气信息的时间,如果没有明确提到,使用当前时间
复制代码
2.创建意图知识库
如下图所示,创建意图分类知识库:
添加图片表明,不凌驾 140 字(可选)
须要留意,分隔符须要采取我们自界说的分隔符,即文档中的#举行分割:
3.AWEL工作流安装编辑
同样,为了简化使用,我们已经编写好了对应的意图辨认的AWEL工作流,可以直接安装使用。
- dbgpt app install db-expert-assisant
- > Installing collected packages: db-expert-assisant
- Successfully installed db-expert-assisant-0.1.0
- Installed dbgpts at ~/.dbgpts/packages/ae442685cde998fe51eb565a23180544/db-expert-assisant.
- dbgpts 'db-expert-assisant' installed successfully.
复制代码 打开前端界面,在AWEL工作流界面,我们可以看到db_expert_assisant,为了方便我们后续编辑,我们复制一个流程举行编辑。点击右上角【复制】,自界说名称与形貌,即可完成复制。
我们打开复制的AWEL流程, 这里我们的定名为db_expert_assistant_v1, 打开工作流。我们可以看到如下的编排流程。同样的,在本工作流程当中用到了以下几个智能体:1.Intent Recognition Expert: 意图辨认专家,专门用来做意图辨认,其依赖一个知识库资源,即我们前面界说的意图辨认的知识库资源。 2.AppLauncher: 用来调用每个范畴专家。3,Summarizer: 为整个问答兜底,假如全部的场景都没有路由,会根据数据库知识库给出一个默认答复。
4.应用创建:
创建应用,选择使命流编排模式:
点击确定,选择工作流,输入保举题目,生存:
5.开始对话:
总结
感谢您跟随我们的脚步,一起探索了DB-GPT V0.6.0在构建数据助手类应用中的样例。本案例固然紧张用于演示,还不具备生产使用的结果,但它所展示的潜力和机动性,可以满意原生数据智能应用的构建。
DB-GPT团结范畴知识跟场景在现实落地中,尚有许多的工作要做,我们期待与您一起,继承在智能对话的门路上探索和进步!
假如您有任何想法或发起,欢迎在批评区留言,与我们一起分享互换~
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
|