使用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 产品小助手应用

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


相关推荐
大千AI助手41 分钟前
高维空间中的高效导航者:球树(Ball Tree)算法深度解析
人工智能·算法·机器学习·数据挖掘·大千ai助手·球树·ball-tree
生信大表哥44 分钟前
GPT-5-Codex VS Gemini 3 VS Claude Sonnet 4.5 新手小白入门学习教程
人工智能·gpt·学习·rstudio·数信院生信服务器
子午1 小时前
【植物识别系统】Python+TensorFlow+Django+人工智能+深度学习+卷积神经网络算法
人工智能·python·深度学习
ONLYOFFICE1 小时前
ONLYOFFICE 文档与桌面编辑器 9.2 版本更新说明
人工智能·编辑器·onlyoffice
sensen_kiss1 小时前
INT301 Bio-computation 生物计算(神经网络)Pt.10 联想存储器与HOPFIELD网络
人工智能·深度学习·神经网络
九千七5261 小时前
sklearn学习(6)决策树
人工智能·python·学习·决策树·机器学习·sklearn
All The Way North-1 小时前
PyTorch 二分类损失函数详解:BCELoss vs BCEWithLogitsLoss 最佳实践指南
人工智能·pytorch·深度学习·机器学习·二分类损失函数
草莓熊Lotso1 小时前
Git 多人协作全流程实战:分支协同 + 冲突解决 + 跨分支协助
linux·运维·服务器·人工智能·经验分享·git·python
丝斯20111 小时前
AI学习笔记整理(28)—— 计算机视觉之姿态估计与动作识别
人工智能·笔记·学习