构建知识库时需要注意以下几点:
希望以上内容对您有所帮助。
从用户提出问题开始:我们经历了用户问题的理解根据用户问题进行路由进行初步的检索对初步检索的结果进行重排序现在终于要到了生成结果的时候了,这个环节的流程可以简化如下:将重排序后的结果和用户的查询意图组合成上下文输入给大模型大模型通过指定的提示词生成输出结果这个环节理解起来很简单,但是同样有几个需要注意的点重排序的结果通常不会都被用作大模型的上下文,因为大模型的上下文有限制可以设置一个阈值进行截断,比如只使用前3-5个文档可以设置一个相关性分数的阈值,只取相关性分数大于某个值的文档一些先进的RAG系统会对选中的文档进行摘要或压缩,以在有限的空间内包含更多相关信息。[heading3]后置处理[heading3][content]在大模型输出结果后就是一些后置的处理了,这可能包括敏感内容检测和移除格式化输出.....这些不是本文的重点,我们就不再这里展开了至此,关于普通的RAG的原理基本就全部讲完了,非常感谢你能耐心看到这里!这里我再引用智谱清言的一张图给大家复习,看完上述流程,我理解这张图理解起来更容易
本次创建知识库使用手动清洗数据,上节课程是自动清洗数据:[【智能体】用Coze在微信里搭建一个机器人,还能挖掘销售线索](https://a1i1hjmvcf0.feishu.cn/docx/JSdDd8ybLo7OHqxmePwcHlbLn3b?from=from_copylink),自动清洗数据会出现目前数据不准的情况,本节视频就尝试使用手动清洗数据,提高数据的准确性。[heading3]3.1在线知识库[content]点击创建知识库,创建一个画小二课程的FAQ知识库知识库的飞书在线文档,其中每个问题和答案以###分割,暂时不要问为什么。选择飞书文档选择自定义的自定义输入###然后他就将飞书的文档内容以###区分开来,这里可以点击编辑修改和删除。点击添加Bot添加好可以在调试区测试效果[heading3]3.2本地文档[content]本地word文件,这里要注意了~~~如何拆分内容,提高训练数据准确度,将海报的内容训练的知识库里面画小二这个课程80节课程,分为了11个章节,那训练数据能不能一股脑全部放进去训练呢。答案是~~不能滴~~~正确的方法,首先将11章的大的章节名称内容放进来,如下图所示。章节内详细内容格式如下如所示,如果你再分节的内容,依次类推细化下去。每个章节都按照这种固定的方式进行人工标注和处理然后选择创建知识库自定义清洗数据,这里不再赘述。[heading3]3.3发布应用[content]点击发布确保在Bot商店中能够搜到,如图所示可以搜索到画小二智能小助手,这个很重要,没有通过发布的获取不到API的。
这里我使用一款名为外贸大师产品的帮助文档进行演示。其帮助文档的地址为:[外贸大师使用秘籍·Yuque](https://www.yuque.com/charlotteyang/lbvyfu)为了简单,我选择其中一个文档来创建知识库:[购买后新人常见问题汇总·语雀](https://www.yuque.com/charlotteyang/lbvyfu/gvzs7qt313zg0svr)1.点击创建知识库1.从知识库中添加知识单元为了更好的检索效果,这个例子里使用Local doucuments的方式,并且上传的Markdown格式文档首先看下文档数据的格式:每个问题都是使用###作为开头(这是Markdown的语法)准备开始上传文件至此,一个完整的知识库就构建完成啦!接下来我们就可以去创建我们的产品资料问答机器人特别需要注意的是:文档的分片策略会严重影响查询的结果,这是当前RAG自身的方案原理导致的。基于Coze的知识库问答是典型的RAG方案,其重要一环就是文档切片(Segment)。然而,不管是单分片是800 token还是2000 token,都显著暴露了RAG方案的缺点:跨分片总结和推理能力弱。这是基于RAG方案自身原理导致的。文档有序性被打破。这是基于RAG方案自身原理导致的。表格解析失败。最后一点很诧异。虽然在业内把PDF解析为结构化文本,本就是一个难题。但是Coze对PDF的解析结果甚至不如直接用pypdf这个开源Python组件解析的效果好。说明Coze这个产品对细节的打磨还不够好。在这里我们不讨论如何组织文档形式,从而可以更好的分片。后面我会专门研究这块,并产出教程。