Skip to main content

知识库

知识库是用来管理你的 私有知识数据 的容器。你可将垂直领域的内容上传到知识库中, LinkAI将会自动解析和加工你的文档,并将这些的内容都“教”给AI大模型。经过知识库“训练”的AI应用,面对用户提问时能够检索调用相关的知识语料,以提供针对性的回答。

知识库需要和 知识库应用 绑定后才生效,绑定知识库后可以根据上传的知识数据提供定制化的智能问答服务,在一定程度上可以解决通用大模型 缺乏领域数据支撑、偶尔"胡言乱语" 的短板。基于知识库,你可以上传例如产品使用手册、客服FAQ语料等来打造智能客服;可以上传你的个人简历来打造一个“数字分身”;甚至可以上传一本小说塑造一个人物角色。把知识教给一个“数字大脑”,让TA成为你的“领域专家”!

1. 知识库管理

进入 知识库菜单 点击 "创建知识库",输入名称和描述即可创建一个新的知识库:


点击知识库进入,选择 "配置" 页面,可以修改基础信息,以及删除知识库:

2. 文件导入

知识库创建完成后即可上传文件,支持上传三种文件类型:

  • 无结构文档: 无需进行任何预处理的原始文档,LinkAI会帮你进行文档拆分和加工,支持 pdf、docx、md、txt 和 单列CSV格式的文件
  • QA问答文档: 一问一答形式的语料,需要按照模板 进行预处理,支持 两列csv(一问一答) 格式的文件
  • 多列表格: 多列的Excel或csv数据表格,可设置参与索引的列,支持 多列Excel 或 多列csv 格式的文件
类型选择

无结构文档QA问答格式表格 应该怎么选择?

取决于你的应用场景,无结构文档直接导入非常方便,QA问答格式的检索准确度会更好,而多列表格则是一些业务场景中的常见的语料格式。

可以按照需求结合多种文件导入格式来使用,以获得更好的效果。例如在客服问答的场景,可以将客服 FAQs 语料整理为 csv问答对 格式导入,让高频问题的回答质量更高;同时将产品说明、使用指引等以无结构形式自动导入,以覆盖长尾问题,降低无结果率;如果有产品参数表,也可以将其以多列表格的形式导入。

可在同一个知识库中上传 文档 问答 表格 三种不同的文件类型。

2.1 无结构文档

导入时可选择是否开启增强解析:


导入预览:


无结构文档导入后,系统会自动结合 分段长度 和 标点符合 将长文本拆分成多个段落,方便进行检索,在右侧可以看到拆分效果的预览。在左下方可以看到文件的token数量以及预估的积分价格。

在导入时可选择开启 增强解析 ,增强解析可支持将导入pdf、docx文档中的图片或表格一并提取进入知识库。

另外可以设置拆分的 分段长度,注意分段长度不要设置的太大,因为AI每次回复时将会取若干个段落放在上下文中请求模型,如果段落内容太长或段落的数量太长则可能会超出模型的上下文限制。

2.2 QA问答对


QA文档需要下载 CSV文件模板 并按格式填写,每一行有 question 和 answer两列。与无结构文档不同的是,QA类型文档在导入时可以选择检索策略:

  • 默认为 "同时检索问题和答案": 检索时会同时匹配语料的问题和答案,检索范围广但相似度较低
  • 可选择 "只检索问题": 只能根据问题中的相关文本找到这条语料,但检索的相似度更高
举例说明

假设有一条QA语料录入, 问题: LinkAI有哪些应用类型 答案: 轻量和知识库

此时若选择 "同时检索问题和答案" 的策略

  • 当提问 "LinkAI有哪些应用类型": 检索相似度可能为0.9,可以找到这条语料并回复;
  • 当提问 "什么是轻量应用",检索相似度可能为 0.85,同样可以找到这条语料并回复

此时若选择 "只检索问题" 的策略

  • 如果用户提问 "LinkAI有哪些应用类型",那么相似度为1,可以精准找到这条语料并回复
  • 但如果问题是 "什么是轻量应用",检索相似度可能只有 0.7,有可能就无法命中语料并回复了

所以,如果你的场景更多是根据问题去找答案,而不需要根据答案中的内容反向找到这条语料,选择 "只检索问题" 的策略会更精准,反之亦然。

2.3 表格

表格支持导入多列的csv文件或Excel文件,为避免格式乱码,建议优先选择csv文件(csv UTF-8格式)进行导入。


导入表格时:

  • 如是Excel文件,默认导入Sheet1的数据
  • 默认将第一行设置为导入后的表头
  • 如有合并的单元格,默认将合并单元格中的数据填入左上的原始单元格中
  • 单个表格不超过2000行。

导入表格后:

  • 可编辑修改列名称,列的名称会在知识库检索后、AI生成回复的过程中起到重要的语义解释作用,设置一个含义清晰的列名能够让AI更好的理解该列的内容
  • 可设置需要参与检索的列,默认所有列的内容均参与检索
提示

索引列(参与检索的列)指的是用户提问时会将用户问题和该列的内容进行语义匹配或关建词匹配。不参与检索不代表用户提问时该列的内容不会被搜索到。

以上图举例:设置“学校英文名”一列不参与检索,其余三列参与检索,当用户提问中涉及“牛津大学”时,会将用户问题与“排名”、“学校名称”、“类型”三列的内容进行检索匹配,则可检索到第三行数据“1 牛津大学 University of Oxford QS200”,那么在AI回复用户时,这一整行数据都会用于回复的生成。

3. 素材上传

知识库支持为语料段落上传对应的素材(支持图片、视频、文件),在回复时如果所使用的知识库语料有匹配的素材,可以将素材一并发出,并直接展示为对应格式。

若要将图片等素材在对话时直接发出,还需在应用配置的“应用设定”中添加一句描述: 如知识库信息中可能有涉及图片、视频、文件的链接,必须直接发送链接,不要使用markdown格式。


4. 数据变更

导入成功之后可以在 "文件列表" 中看到生效的文件,点击 "查看" 可以查看文件具体内容:


同时可以在文件中对数据进行 编辑删除单条新增。注意数据变更操作是异步进行,可能操作后页面上不会立即发生变化,最多会在几秒钟内完成同步。

5. 检索测试

在检索测试页面,可以模拟用户问题来查看知识库的检索结果,检索测试支持 语义检索增强检索 两种模式。检索测试功能将在下一步绑定应用时发挥作用。

5.1 语义检索

语义检索是通过知识库语料的语义向量相似度进行检索,每条语料会展示出相似度指标,表示这条语料与问题的相关性。


5.2 增强检索

增强检索是将语义检索与全文关键词检索进行混合,分别展示两种方式的检索结果及相似度指标(或相关度排序)来表示这条语料与问题的相关性。


6. 应用知识库配置

知识库中需要在 应用配置 中进行绑定才能发挥作用,一个应用可以绑定多个知识库,一个知识库可以被多个应用绑定:


点击编辑按钮可以修改知识库的检索策略。检索策略可以选择 语义检索增强检索。选择语义检索时,需设置相似度阈值语义检索条数未命中策略,选择增强检索时则还需设置全文检索条数

提示

当使用语义检索时,语义检索的结果将输入给模型进行回答生成。

当使用增强检索时,语义检索和全文关键词检索的结果将一起(去重)输入给模型进行回答生成。增强检索将语义检索和全文关键词检索进行混合增强,对姓名、字母、数字、代号等文本的检索精准度会更好。


配置项说明

  • 相似度阈值: 只有在这个相似度以上的语料才会在对话中被使用,高相似度时 (如0.8以上),只会检索出与问题相关性高的知识,会更准确,同时也容易出现未命中;低相似度时 (如0.7以下),可能会检索出相关性低的内容,但检索范围更大。 具体设置需要根据语料情况来判断,结合上一步的 检索测试 功能,模拟用户提问,根据各语料的相似度 选择合适的相似度配置
  • 语义检索条数: 单次问答从知识库中通过语义检索得到的最大段落数量,默认为3条,注意这个值不能设置的过大,否则可能超出模型上下文的限制
  • 全文检索条数: 单次问答从知识库中通过全文关键词检索得到的最大段落数量,开启增强检索后默认为1条,全文检索条数加语义检索条数之和最大为10,优先满足语义检索条数设置。若实际使用时未匹配到关键词,则全文检索的实际结果可能为0。
  • 未命中策略: 当没有找到知识库中内容时的策略,可以选择 自由发挥 (由AI自行推理并回复) 和 固定文案 (根据一段指定的文本进行回复)
举个例子

举例:

1、假设 相似度阈值 设置为0.8,语义检索条数 设置为 3,用户提问时,最终会从知识库中检索出来的内容为 相似度在0.8以上的3条语料输入给模型来生成回复。

2、假设 相似度阈值 设置为0.75,语义检索条数 设置为 3,全文检索条数 设置为 1,用户提问时,最终会从知识库中检索出来的内容为 相似度在0.75以上的3条语料+关键词匹配排序最高的一条语料一起输入给模型来生成回复。

注意:对于无结构文档,每条语料的长度是我们导入时设置的,默认为500字符,对于QA结构文档,语料的长度是 问题+答案 之和,所以这样可以大致估计出每次提问时携带的知识库内容长度了,这个长度不能超过模型的最大上下文长度设置