要做一个好用的问答知识机器人并编写相关文档,可参考以下步骤:
这里我使用一款名为外贸大师产品的帮助文档进行演示。其帮助文档的地址为:[外贸大师使用秘籍· Yuque](https://www.yuque.com/charlotteyang/lbvyfu)为了简单,我选择其中一个文档来创建知识库:[购买后新人常见问题汇总·语雀](https://www.yuque.com/charlotteyang/lbvyfu/gvzs7qt313zg0svr)1.点击创建知识库1.从知识库中添加知识单元为了更好的检索效果,这个例子里使用Local doucuments的方式,并且上传的Markdown格式文档首先看下文档数据的格式:每个问题都是使用###作为开头(这是Markdown的语法)准备开始上传文件至此,一个完整的知识库就构建完成啦!接下来我们就可以去创建我们的产品资料问答机器人特别需要注意的是:文档的分片策略会严重影响查询的结果,这是当前RAG自身的方案原理导致的。
上方页面左侧画红框的地方,是这个“问答机器人”的配置,右侧是与“机器人”的一轮对话。左侧有三处配置:AI模型提示词知识库。模型、提示词、知识库三者可以想象成:大语言模型:是一个学习过无数本书、拥有无穷智慧的人。他读过无数的书、看过无数的段子,因此对公共知识、学识技能、日常聊天十分擅长。然而,在工作场景下,只会聊天侃大山可不行,你想让他帮你干活。这个时候,就需要“提示词”出场了,提示词:是你告诉这个全知全能的人,他是一个什么样的角色、他要专注于哪些技能,让他能够按照你的想法,变成一个你需要的“员工”。知识库:相当于你给这个“聪明”员工的发放了一本工作手册。即使是看过再多的书、浏览过再多的文字,也不会准确的知道见到老板娘过来吃饭要打三折,张梦飞过去吃饭要打骨折。而知识库,就是把这些内容写在了工作手册上。让这个聪明的员工,见到有人来的时候,就翻一翻手册,然后再做出反应。我的设定:AI模型:这里使用的是阿里千问模型。
基于Coze的知识库问答是典型的RAG方案,其重要一环就是文档切片(Segment)。然而,不管是单分片是800 token还是2000 token,都显著暴露了RAG方案的缺点:跨分片总结和推理能力弱。这是基于RAG方案自身原理导致的。文档有序性被打破。这是基于RAG方案自身原理导致的。表格解析失败。最后一点很诧异。虽然在业内把PDF解析为结构化文本,本就是一个难题。但是Coze对PDF的解析结果甚至不如直接用pypdf这个开源Python组件解析的效果好。说明Coze这个产品对细节的打磨还不够好。在这里我们不讨论如何组织文档形式,从而可以更好的分片。后面我会专门研究这块,并产出教程。