使用FastGPT知识库构建智能客服的示例

目录

[3.5.1 创建知识库](#3.5.1 创建知识库)

[3.5.2 使用工作流构建知识库应用](#3.5.2 使用工作流构建知识库应用)

[3.5.3 基于知识库进行问答](#3.5.3 基于知识库进行问答)


本节将使用知识库来构建一个简单的智能客服,步骤包括创建知识库、在智能客服工作流中使用知识库,以及基于知识库进行智能问答。

3.5.1 创建知识库

创建知识库的过程很简单,首先梳理产品手册文档内容,然后将其上传到知识库中,最后将知识库配置到智能体中,让智能体可以调用这个知识库的内容作为回复。当用户咨询有关产品知识的问题时,Agent就会根据知识库的内容进行回答。传统的机器人客服只能硬套FAQ,不懂变通。智能客服根据RAG知识库和大模型的能力优化了回答的方式,避免了胡编乱造,并且还融合了智能体本身的人设和目标进行回答,感觉更像真人客服,不是呆板的机器人。

在创建知识库时,我们需要注意RAG技术检索分析数据的特点。我们上传一份文件到知识库,这份文件并不是单纯地存储,而是将内容进行分块并进行向量化,向量化后的内容更有助于AI检索信息,提升了AI回答内容的关联性。

首先,我们准备一个文件名为"ZBH5120TXSSHABEV(B3Z190)纯电洗扫车产品说明书"的PDF文件,作为产品知识库内容。该PDF说明书的内容如图3-6所示,是图表混合的格式。

图3-6 纯电洗扫车产品说明书

登录FastGPT平台,如图3-7所示,在其左侧页面可以看到知识库的入口"知识库",单击一下,打开知识库的管理界面,当前没有添加任何知识库,所以还是空的。我们单击右上角的"+新建"按钮,在弹出的菜单界面上选择"通用知识库",将打开"创建一个通用知识库"对话框。

图3-7 知识库管理界面

如图3-8所示,给知识库取个名字为"产品知识库",索引模型默认选择embedding-3,这里索引模型就是向量模型,把自然语言转换成向量;如果后续更改这个模型,则整个知识库都需要重新向量化。

|------------------------------------------------------------------------------------------|
| 图3-8 知识库的配置信息 |

本项目中,索引模型也可以选择阿里通义千问的text-embedding-v3,向量化的效果也是没问题的。文本理解模型是用来增强索引的,这里选择阿里通义千问的qwen-plus-latest,简单来说,文本理解模型解决的是理解文档内容的问题。图片理解模型选择火山引擎的豆包视觉模型Doubao-vision-pro-32k。单击"确认创建"按钮创建知识库。

双击打开刚才创建的产品知识库,如图3-9所示,页面上的数据集就是对知识库中的数据进行管理的地方,页面右侧可以对知识库的基本信息进行修改配置等,如知识库名称、索引模型、文本理解模型等。

我们需要向知识库中导入一些资料,单击右上角的"新建/导入"按钮,可以看到有4个子选项:"文件夹""手动数据集""文本数据集"与"表格数据集"。其中,"文件夹"用来模拟目录层级管理,如果你的文件分了多个子类,那么每个子类就可以创建一个文件夹,这样后期查找时比较方便。"手动数据集"用来手动向知识库中插入一些数据。"文本数据集"用来导入各种文件。"表格数据集"则是要按照表格模板(只能有两列,一列是index,可以当作问题,另一列是content,可以当作答案,以问答对形式,每一行就是一个问答对)上传CSV文件。 我们这里导入一个已经准备好的PDF文档,所以选择"文本数据集"。

进入"选择来源"对话框,如图3-10所示。可以看到,数据来源分成三大类,分别是本地文件、网页链接、自定义文本,我们选第一类"本地文件",进入文件上传页面。

图3-9 导入文本数据集

图3-10 选择上传本地文件

如图3-11所示,FastGTP把文件上传分为4步,第1步是选择文件,第2步是参数设置,第3步是数据预览,第4步是确认上传。第1步,我们选一个本地准备好的纯电洗扫车产品说明书PDF文件来上传。

图3-11 选择文件

第2步是对文本数据进行参数配置,如图3-12所示。勾选"PDF增强解析"复选框,方便我们调用PDF识别模型进行解析。数据处理方式选择"直接分块",将文本按照一定规则分段处理后,转换成可以进行语义搜索的格式,这个选项适合绝大多数场景。而"问答对提取"是把拆分出来的文本段"喂"给大模型,让其生成QA问答对。勾选"自动生成补充索引"和"图片自动索引"复选框,主要目的是进行索引增强,提高检索的精度。接下来单击"下一步"按钮。

图3-12 参数设置

第3步是打开如图3-13所示的对话框,单击左侧文件名进行分块预览,显示"共133个分块,最多展示10个"。

图3-13 数据预览

我们单击"下一步"按钮,来到第4步"确认上传"步骤,如图3-14所示。这一步其实是触发文件处理的流程,只要单击"开始上传"按钮,FastGPT就会对我们上传的文件进行分割,分割后进行QA对的生成,然后进行索引,最后保存到数据库中。这个过程中拆分出来了很多子任务,会进入一个训练队列,当队列中的任务全部处理完后,这个文件也就完成了导入知识库的全部流程。

图3-14 确认开始上传

单击"开始上传"按钮后,我们需要等待数据处理完成,如图3-15所示。等到我们上传的文件状态变为"已就绪",标识数据集处理并索引完成。这样一个知识库就创建完成了,后续可以继续添加数据集来完善这个知识库。

图3-15 文件状态"已就绪"

3.5.2 使用工作流构建知识库应用

接下来创建一个工作流,用来搭建在线智能客服。工作流可以理解为:通过选择不同的节点把任务拆解为多个步骤,让智能体按照预设工作流程对任务进行分步处理,从而提升对复杂任务的处理效率。通过上面的操作,我们已经建立了一个知识库,并且把一个文件导入进去了,但还是没有与其进行交互的正式入口。接下来我们通过创建工作流来创建一个与知识库进行对话的入口。

如图3-16所示,单击左侧的工作台按钮,再单击右上角的"+新建"按钮,从弹出的菜单中选择"工作流",打开"创建工作流"对话框。工作流可以自定义各种流程,自由度比较高,而且基于工作流来构建FastGPT应用也是主要的方向,所以我们选择工作流类型。要完成逻辑复杂的AI应用,简易应用一定是不够用的,这时就需要使用工作流。

图3-16 工作台新建工作流

如图3-17所示,在"创建工作流"对话框中创建一个工作流,工作流名为"产品小助手",有模板可供选择,模板中预制了一些功能,本案例选择空白模板创建工作流。

图3-17 从模板创建工作流

"产品小助手"工作流编排界面如图3-18所示,空白工作流创建完成后,编排界面上只有"系统配置"和"流程开始"两个节点。通过左侧的"+"按钮可以向工作流添加功能节点,例如我们要实现一个根据知识库搜索进行智能回复的工作流,那么需要添加一个"知识库搜索"和 一个"AI对话"功能节点,分别单击这两个插件,它们就进入工作流编排界面中了。当完成工作流编排后,可以单击右上方的"运行"按钮进行工作流测试,单击"保存"按钮进行保存和发布。

图3-18 工作流编排界面

如图3-19所示,在"知识库搜索"节点,单击其中的"选择"按钮,选中我们之前创建的产品知识库,在搜索参数设置中,搜索方式选择"混合检索",关闭问题优化开关,引用上限调整大一些。知识库搜索需要知道用户的问题是什么,所以在其用户问题配置项下,我们选择"流程开始→用户问题",就可以把用户的问题导入进来。知识库搜索节点的功能很特殊,因为它的输出是知识库索引,不是普通的数据,"AI对话"节点的功能是接收知识库索引。

图3-19 知识库搜索节点配置(左图为上半部分,右图为下半部分)

接下来配置一下"AI对话"节点,如图3-20所示。AI模型是对话需要用到的大模型,这里选择Doubao-pro-128k,提示词编写为"根据表述输出图片,输出图片采用markdown格式规定。只输出图片,内容其他问题以文字内容输出。",聊天记录用默认的6条就可以。"AI对话"节点用来接收知识库索引,知识库引用选择"知识库搜索→知识库引用",用户问题选择"流程开始→用户问题"。

现在,我们就有了一个可以基于知识库进行对话的应用了,如图3-21所示,将"流程开始"节点链接到"知识库搜索"节点,再链接到"AI对话"节点,这样就完成了一个简单的智能回复流程。用户提问时,先在知识库进行搜索,然后将搜索结果和问题一起传给AI对话节点,AI对话节点根据知识库结果整理出合适的回复内容给用户。

图3-20 "AI对话"节点配置

图3-21 工作流整体编排

3.5.3 基于知识库进行问答

我们已经有了一个基于知识库的工作流,为了验证配置是否正常,我们可以单击右上角的"运行"按钮,对当前的工作流编排进行测试。如图3-22所示,问一个问题"总开关在哪儿",可以看到应用正常返回知识库中的内容,并且在回复的底部显示了引用的文档、引用的条数、上下文、用时和流程处理详情,说明我们的应用配置没有问题。

如果要让其他人可以访问我们的产品小助手应用,则可以使用FastGPT提供的"发布渠道"功能,如图3-23所示,选择"免登录窗口"类型,单击"创建新链接"按钮,打开"创建链接"对话框,给发布出去的应用取个名字叫"产品小助手",并单击"确认"按钮生成一个链接。

图3-22 工作流测试

图3-23 创建链接

单击"开始使用"按钮,打开"选择使用方式"对话框,如图3-24所示,单击右下角的复制图标按钮,即可复制生成的链接,并分享给其他人。

图3-24 选择使用方式

注意,在"选择使用方式"对话框中,提供了3种使用方式:URL链接的方式、iframe方式、script标签引入的方式,我们这里选择的是第1种。

在浏览器中打开上面复制出来的URL地址,如图3-25所示,就可以看到分享出来的应用。接下来问一个问题"吸嘴结构是怎样的",可以看到已经能够得到准确的答案了。

图3-25 产品小助手应用

综上所述,通过上面的操作,我们已经构建起了一个企业级的知识库,并且可以分享给其他人使用,整个过程不过就是点几下鼠标、输入几个文字而已。虽然上面的流程对于初次接触的人来说,可能比较复杂,但熟悉了之后,构建起来都是分钟级的事情。


相关推荐
NAGNIP10 小时前
一文搞懂深度学习中的通用逼近定理!
人工智能·算法·面试
冬奇Lab11 小时前
一天一个开源项目(第36篇):EverMemOS - 跨 LLM 与平台的长时记忆 OS,让 Agent 会记忆更会推理
人工智能·开源·资讯
冬奇Lab11 小时前
OpenClaw 源码深度解析(一):Gateway——为什么需要一个"中枢"
人工智能·开源·源码阅读
AngelPP15 小时前
OpenClaw 架构深度解析:如何把 AI 助手搬到你的个人设备上
人工智能
宅小年15 小时前
Claude Code 换成了Kimi K2.5后,我再也回不去了
人工智能·ai编程·claude
九狼15 小时前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
ZFSS15 小时前
Kimi Chat Completion API 申请及使用
前端·人工智能
天翼云开发者社区16 小时前
春节复工福利就位!天翼云息壤2500万Tokens免费送,全品类大模型一键畅玩!
人工智能·算力服务·息壤
知识浅谈17 小时前
教你如何用 Gemini 将课本图片一键转为精美 PPT
人工智能
Ray Liang17 小时前
被低估的量化版模型,小身材也能干大事
人工智能·ai·ai助手·mindx