以下是关于问答机器人知识库方案的相关内容:
基于 Coze 的知识库问答是典型的 RAG 方案,其重要一环是文档切片,但存在跨分片总结和推理能力弱、文档有序性被打破、表格解析失败等问题,且 Coze 对 PDF 的解析效果不如 pypdf 开源组件。
在问答机器人的配置中,左侧有 AI 模型、提示词、知识库三处配置。大语言模型如同拥有无穷智慧的人,提示词是告知其角色和专注技能,使其成为所需“员工”,知识库则是给“聪明员工”的工作手册。
基于 RAG 机制可实现知识库问答功能,需先创建包含大量相关文章和资料的知识库,如创建有关 AI 启蒙和信息来源的知识库,通过手工录入方式上传文章内容,在设计 Bot 时添加知识库,并设置合适的搜索策略、最大召回数量和最小匹配度,以更好地结合知识库返回的内容进行回答。
基于Coze的知识库问答是典型的RAG方案,其重要一环就是文档切片(Segment)。然而,不管是单分片是800 token还是2000 token,都显著暴露了RAG方案的缺点:跨分片总结和推理能力弱。这是基于RAG方案自身原理导致的。文档有序性被打破。这是基于RAG方案自身原理导致的。表格解析失败。最后一点很诧异。虽然在业内把PDF解析为结构化文本,本就是一个难题。但是Coze对PDF的解析结果甚至不如直接用pypdf这个开源Python组件解析的效果好。说明Coze这个产品对细节的打磨还不够好。在这里我们不讨论如何组织文档形式,从而可以更好的分片。后面我会专门研究这块,并产出教程。
上方页面左侧画红框的地方,是这个“问答机器人”的配置,右侧是与“机器人”的一轮对话。左侧有三处配置:AI模型提示词知识库。模型、提示词、知识库三者可以想象成:大语言模型:是一个学习过无数本书、拥有无穷智慧的人。他读过无数的书、看过无数的段子,因此对公共知识、学识技能、日常聊天十分擅长。然而,在工作场景下,只会聊天侃大山可不行,你想让他帮你干活。这个时候,就需要“提示词”出场了,提示词:是你告诉这个全知全能的人,他是一个什么样的角色、他要专注于哪些技能,让他能够按照你的想法,变成一个你需要的“员工”。知识库:相当于你给这个“聪明”员工的发放了一本工作手册。即使是看过再多的书、浏览过再多的文字,也不会准确的知道见到老板娘过来吃饭要打三折,张梦飞过去吃饭要打骨折。而知识库,就是把这些内容写在了工作手册上。让这个聪明的员工,见到有人来的时候,就翻一翻手册,然后再做出反应。我的设定:AI模型:这里使用的是阿里千问模型。
基于RAG机制,我们可以实现知识库问答功能。首先,我们需要创建一个知识库,里面包含了大量社区的AI相关的文章和资料。比如我这里创建了一个有关AI启蒙和信息来源的知识库,然后通过手工录入的方式上传这个栏目的所有文章内容:就这样,陆陆续续地将社区其他板块的文章和资料导入到知识库中。在设计Bot中,我们添加这个知识库,并设置合适的搜索策略、最大召回数量和最小匹配度,尽可能好地利用知识库返回的内容进行结合回答: