引言
最近有两款能构建AI知识库实现智能问答的开源项目特别火,分别是 Dify 和 FastGPT,那就体验一番吧~
准备数据
要构建一个知识库,那当然最好是 AI 此前没学过的内容。最近 Hugging Face 出了个NLP课程,很不错,就让 AI 来学这个吧。
首先先问一下 ChatGPT 知道此课程吗
OK,它果然不知道。
首先打开这个课程的 git仓库,我们看到中文课程在 course/chapters/zh-CN 目录下,文件格式是 mdx,但是其子目录比较多,我们先拜托 ChatGPT 将所有文件都合成一个 md 文件。
改了两次终于成功了,现在我们已经有了此数据集文件,可以开始构建了。
使用 Dify
登录并设置
进入此网站,直接使用GitHub登陆,然后点击右上角的头像,点击“设置”
在模型供应商这里填上自己的OpenAI ApiKey。
创建应用
我们打开 Dify 创建一个应用,我们在这里选择“对话型应用”,点击“创建”即可。
创建数据集
在导航栏点击“数据集”,页面上点击“创建数据集”,将刚才生成的文件进行导入
开始训练
导入成功后,就可以开始训练了。这里我们直接使用默认的分段设置。
关联应用
稍等一会儿,就可以看到训练完成了。
我们回到刚才创建的应用,点击侧边栏的“提示词编排”,将数据集添加到上下文中。
点击右上角的“发布”进行保存,其实已经构建好啦,现在我们回到概览页面。
这个链接就是可公开访问的URL,https://udify.app/chat/KOUGFGCaiu65lOD1
让我们再试试刚开始的问题:
大功告成!
简单问几个问题:
太牛啦!!!
使用FastGPT
注册账户并设置
进入此网站,先根据要求注册账户并登录。
同样,我们先配置一下OpenAI ApiKey。
创建知识库
这次我们先来创建个知识库
在侧边点击长得像数据库图标的按钮,点击“+”号,新建知识库
点击“导入” -> “文本/文件拆分”
在弹出的框中可以看到,此网站支持两种分段模式,第一种直接分段模式类似于 Dify,将文本直接按字数分段进行处理,这里我们采用QA拆分。
根据其官网介绍,QA分段是调用了gpt3.5自动生成了问答对,所以训练速度比较慢,也需要消耗大量tokens。
出现了一个突发状况,点击导入后,按钮始终在转圈,等了一晚上也无响应。替换为直接分段模式,依旧无响应,猜测可能是因为文本量过大,只能换个小点的文件了。
那么我们就将前3章的内容合并,并传给他。
可以看到他已经在自动训练生成问答对了,大概等待20分钟后,所有问答对生成完毕。
所有问答对还可以导出成CSV,这个功能还是挺实用的,等于是让 ChatGPT 也做了阅读理解的出题人。
言归正传,我们继续下一步。
创建AI应用
在侧边点击应用图标,点击“+”号,新建AI应用,并进行改名。
选择关联知识库
将刚才创建好的知识库关联进来。
之后点击右上角的“保存修改”,就可以开始使用啦
开始使用
点击“开始对话”,同样,向他提问开始的问题:
完美,也实现了最开始的问题。
而且每个回答下面还标注了提示词和引用。
分享
回到应用页面,可以创建一个网页将此应用分享出去。
页面最下方点击“创建分享窗口”,填入名称和密码即可。
此应用的对话地址为:https://fastgpt.run/chat/share?shareId=646e32d3c2a738d83c2fc84a
密码为: ChatGPT-Base
总结
感谢作者,这两款应用功能都很强大,Dify的颜值要比FastGPT高一点,可导入文件的容量比FastGPT大,但是FastGPT的自动生成问答对的功能实在是爱了,各位看官可根据自己需求做选择。
后续计划体验一下这两款应用的私有化部署,将掌控权牢牢握在自己手里,哈哈。
评论区