军哥fastgpt系列-3-构建企业级知识库

大家好,这里是五彩石编程,我是军哥。上一篇文章中我们已经在本地部署了一套使用或开发环境,这一篇文章我们接着聊一下使用fastgpt来构建一个企业级的知识库!

一、知识库中有什么

之前已经讲过了什么是知识库,这里再用一句话来概括一下,知识库就是资料的集合,所以知识库中可以让你上传各种各样的资料,主要是文本类的资料。

fastgpt支持了非常多的文件类型,基本涵盖了日常能接触到的大部分文件格式,如下:

  1. 手动录入数据,是的,你可以手动向知识库中添加一段文字
  2. pdf
  3. txt
  4. word文档(docs)
  5. csv
  6. execl表格(xlsx)
  7. 网页数据,只要有一个url地址,你就可以让它把网页上的内容抓下来,保存进知识库

二、使用建立一个知识库

打开fastgpt,在其左侧页面可以看到知识库的入口“知识库”,我们点击进去,来到知识库的管理界面,当前没有任何知识库,所以还是空的

我们点击右上角的新建,创建一个知识库,在弹出的界面上,选择通用知识库,名字的话取为:中国旅游,然后确认,就可以建立起来一个空的知识库了,有了知识库之后,就可以向其中添加各种数据了

打开刚创建的中国旅游知识库,如下:

先看下知识库左侧,有三个菜单,分别为数据集、搜索测试、配置,数据集就是对知识库中的数据进行管理的地方,搜索测试可以对文本进行测试,配置是对知识库的基本信息进行修改配置等,如知识库头像、名称、介绍、权限、embedding模型、文件处理模型等。

我们目前需要向知识库中导入一些资料,所以先回到数据集这里,点击右上角的“新建/导入”按钮,

可以看到有4个子选项:文件夹、手动数据集、文本数据集、表格数据集。其中“文件夹”是用来对提供目录层级管理的,如果你的文件分了多个子类,那么每个子类就可以建一个文件夹,这样后期找的时候比较方便。“手动数据集”是用来手动向知识库中插入一些数据用的。“文本数据集”就是可以导入各种文件,“表格数据集”则是导入表格类的数据用的。我们这里导入一个已经准备好的word文档,所以选择文本数据集

可以看到,数据来源分成了3大类,我们选第1类:本地文件,进入文件上传页面:

fastgpt把文件导入分为了3步,第1步是文件选择,第2步是数据处理,第3步是上传数据,这三步的实际效果和它的名字其实并不完全一致,在选择文件的时候,其实已经完成了文件上传,我们选一个本地准备好的文件来上传:

第2步是对如何处理文本数据,进行一些配置,主要是对如何拆分文本,进行配置,训练模式可以选择直接分段、增强处理、问答拆分,直接分段如其所讲,不多解释,问答拆分是把分出来的文本段,喂给大模型,让其生成QA问答对,增强处理是实验功能,暂不研究。处理方式分即支持自动、也支持自定义规则,大多数情况下,我们选择自动即可,如果发现自动的分段规则不满足需要,也可以自己写规则来进行分段。

选好了之后,我们点下一步,来到上传数据:

这一步其实是触发文件处理的流程,只要点了开始上传按钮,fastgpt就会对我们上传的文件进行分割、分割后进行QA对的生成,然后索引,最后保存进数据库,中间拆分出来了很多子任务,会进入一个训练队列,当队列中的任务全部处理完了,这个文件也就完成了导入知识库的全部流程。




等到文件的状态为已就绪,我们就可以测试一下了,打开左侧的搜索测试界面,然后输入:北京有哪些景点,点击测试,其右侧就能把文件中,北京景点相关的内容给找到并展示出来

三、使用工作流构建一个知识库应用

通过上面的操作,我们已经建立起来了一个知识库,并且把一个文件导入进去了,还进行了初步的对话测试。但还是没有与其进行交互的正式入口,接下来我们就通过创建一个知识库的应用,来创建一个与基于知识库进行对话的入口。

点击左侧的工作台按钮,再点击右上角的新建按钮,我们来新建一个应用:

从弹出的菜单可以看出,fastgpt已经预置了4类应用,并且同样提供了文件夹的管理功能,“简单应用”的可配置空间不大,所以这里不选择,“工作流”可以自定义各个流程,自由度比较高,这和fastgpt4.7版本中的高级编排功能是一致的。“插件”和“http插件”都属于插件类的,后期需要自定义插件时,这个会非常有用,不过暂时我们用不到。我们主要演示基于工作流的,而且基于工作流来构建fastgpt应用,也是主要的方向,所以我们选择工作流类型的,工作流类型的已经预置了4种流程,随意选就可以后期可以修改的,这里我们选一个多轮翻译机器人,并命名为旅游助理:

然后进入它的流程编排界面:

这里可以看到多轮翻译机器人的流程了,不过我们并不需要,所以,除了最左侧的系统配置和流程开始这两个节点,其它的节点全部删掉,删掉之后,是下面这个样子的:

注意一下流程编排左侧的“+”按钮,我们需要的所有节点都在这个里面,现在,开始构建知识库应用吧,点击左侧的“+”按钮:

在fastgpt中所有可用的功能被分为了3类:基础功能、系统插件和团队插件。基础功能是使用最多的节点类型,我们需要的知识库搜索就在这个里面,还有这次需要的AI对话,也在这个里面,系统插件其实是可以扩展的社区插件,包含几个主要的功能,比如获取时间、文本加工等,后面有机会再细聊。判断器在fastgpt4.7的版本是属于系统插件的,可能是用的太多了,在4.8的版本中,已经被转移到基础功能里面了。团队插件则是团队自定义的插件。在fastgpt中,是有团队的概念的,这里先不展开了,到源码解读的相关章节,再展开聊聊,目前可以理解为,自定义的插件都会在这个里面找到。

我们这次只需要知识库搜索和AI对话就足够了,所以点击这两个插件,它就进入到工作流编排了界面中了,进来后,我们按下图把各个节点连接好:

然后找到知识库搜索节点,点击其中的选择按钮,选中我们之前创建的中国旅游知识库:

在搜索参数设置里面,我们还可以进行更细致的配置,这里我们用默认的配置即可:

知识库搜索需要知道用户的问题是什么,所以在其用户问题配置项下,我们选择“流程开始>用户问题”,就可以把用户的问题导入进来。

知识库这个节点就算配置好了,接下来配置一下AI对话节点,如上图所示,我们选择一下对话需要用到的大模型,这里选择GPT-3.5-turbo,聊天纪录用默认的6条就可以,用户问题同样选择“流程开始>用户问题”,然后保存就可以了。

如果在保存时提示某些节点有参数未配置,通常是这个节点中带有红色"*"的配置项,没有配置导致的,认真查找一下,并进行配置,通常都可以保存成功。保存成功后,我们就有了一个可以基于知识库进行对话的应用了。

为了验证是配置是否正常,我们可以使用调试功能对当前的编排进行测试,点击右上角的调试按钮,问一个问题“北京有哪些景点”,可以看到应用可以正常的返回知识库中的内容,并且回复的底部,显示了引用的文档、引用的条数,上下文、用时、和流程处理详情,说明我们的应用配置已经ok了

点击查看详情,查看一下各个节点的具体信息:

可以看到,我们的应用中的两个主节点:知识库搜索和AI对话都有正常的输入输出了,同时,点击引到的的文档,也可以直接下载到本地进行查看了。

四、基于知识库进行问答

现在,我们已经有了一个基于知识库的应用了,回到工作台,在全部应用中找到我们的旅游助理这个应用,点击一下其右下角的更多按钮“…”:

在这里可以对应用进行简单的管理,其中有个“去对话”的选项,点击它,就可以进入应用的对话界面了,在这里,我们问同样的问题“北京有哪些景点”,可以到应用已经在正常的工作了:

五、知识库应用的分享

如果要让其它人可以访问我们的应用,则可以使用fastgpt提供的发布功能,生成一个链接,把链接分享给其它人,其他人就可以和我们的应用直接对话了。

现在回到工作流编排界面,找到上面最中间的发布渠道选项:

我们这里选择免登录窗口这种类型,并给发布出去的应用取个名字叫“旅游小助手”,然后确认:

成功后,在发布渠道界面,就可以看到我们刚才创建的分享了:

我们点击开始使用按钮,在使用方式的界面中,有3种使用方式:url链接的方式、iframe方式、script标签引入的方式,我们这里选择第1种:

把这种方式中生成的url复制出来,在浏览器中打开,就可以看到分享出来的应用了:

接下来问一个问题“北京有哪些景点”,可以看到已经可以正常的回答了

总结

通过上面的操作,我们已经构建起来了一个企业级的知识库,并且可以分享给其它人使用,整个过程不过就是点几下鼠标,输入几个文字而已,虽然上面的流程对于初次接触都可以比较多,但熟悉了之后,构建起来都是分钟级的事情,大家应该也能初步体会到fastgpt中的fast的含义了吧


想了解更多fastgpt的知识,请微信搜索并关注“五彩石编程”公众号,军哥的文章将会持续同步更新。


  • 11
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值