知识库
知识库可上传垂直领域的 私有知识数据 。将内容上传到知识库中,可自动解析和处理文档,经过知识库“训练”的AI应用(将知识库与应用绑定),面对用户提问时能够检索调用相关的知识语料,以提供针对性的回答。
知识库需要和 知识库应用 绑定后才生效,绑定知识库后可以根据上传的知识数据提供定制化的智能问答服务,在一定程度上可以解决通用大模型 缺乏领域数据支撑、偶尔"胡言乱语" 的短板。基于知识库,你可以上传例如产品使用手册、客服FAQ语料等来打造智能客服;可以上传你的个人简历来打造一个“数字分身”;甚至可以上传一本小说塑造一个人物角色。把知识教给一个“数字大脑”,让TA成为你的“领域专家”!
💻功能入口
1. 创建知识库
进入 知识库菜单 点击 "创建知识库",输入名称和描述即可创建一个新的知识库:
点击知识库进入,选择 "配置" 页面,可以修改基础信息,以及删除知识库:
2. 导入文件
知识库创建完成后即可导入知识内容,支持导入四种类型的知识:
- 文档: 无需进行任何预处理的原始文档,LinkAI会帮你进行文档拆分和加工,支持 pdf、docx、md、txt 和 单列CSV格式的文件
- 问答: 一问一答形式的语料,需要按照 模板 进行预处理,支持 双列csv(一问一答) 格式的文件
- 表格: 多列的Excel或csv数据表格,可设置参与索引的列,支持 多列Excel 或 多列csv 格式的文件
- 网站导入: 提交网址链接或网站地图,可自动解析网页内容并导入知识库
文档 、 问答 、 表格 和 网站导入 应该怎么选择?
选择何种知识库导入方式,取决于现有的知识沉淀情况以及应用场景。文档导入非常方便,可以直接上传pdf、word等文件,自动解析分段完成导入;导入 QA 问答格式则回答的准确度会更加高;结构化的多列表格则是一些业务场景(例如多sku、多属性的产品信息表格)常见的内容格式;网站则可以直接将博客、产品手册网站、公众号文章等在线网页解析导入。
可以根据需求结合多种文件的导入方式使用,以获得更好的效果。例如在客服场景,可以将客服 FAQs 语料整理为 问答对 格式导入,保证高频问题的回答精准度;如有多列的产品信息表、服务说明表等,可以将其以表格的方式导入,基于多列检索提供精准的信息查询能力;在相对开放式的对话场景,可以将公司介绍、产品介绍、使用指引等文件材料通过无结构文档的方式导入;将个人博客、公司网站等在线网址以网站解析的方式导入,以覆盖长尾问题,降低无结果率。
同一个知识库中可导入 文档、问答、表格、网站导入 四种不同类型的内容。
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表格中有多个sheet,默认导入Sheet1的数据
- 表格的第一行数据将作为表头(即列名)
- 如有合并的单元格,默认将合并单元格中的数据填入左上的原始单元格中
导入表格后:
- 可编辑修改列名(表头),列的名称会在检索知识库并使用AI生成回复的过程中,起到重要的语义解释作用,设置一个含义清晰的列名能够让AI更好的理解该列的内容
- 可设置需要参与检索的列,默认所有列的内容均参与检索
索引列(参与检索的列)指的是用户提问时会将用户问题和该列的内容进行语义匹配或关建词匹配。不参与检索不代表用户提问时该列的内容不会被搜索到。
以上图举例:设置“学校英文名”一列不参与检索,其余三列参与检索,当用户提问中涉及“牛津大学”时,会将用户问题与“排名”、“学校名称”、“类型”三列的内容进行检索匹配,则可检索到第三行数据“1 牛津大学 University of Oxford QS200”,那么在AI回复用户时,这一整行数据都会用于回复的生成。
如需从飞书在线表格导入知识库,可参考飞书导入中的说明。
2.4 网站导入
网站导入方便快速将网页资源导入知识库中。使用“网站导入”功能时,您提交的网站地址应为您有权支配或使用的自有或第三方网址,并对提交网址内容的合法性承担全部责任。 平台仅提供网站解析导入服务,不对您使用网址数据的行为承担任何责任。建议导入博客、公众号文章、文字信息为主的官网、使用说明文档等静态资源网站,不支持导入在线文档、大部分平台型媒体网站和需要登录的网站内容。
网站导入支持粘贴 单个或批量独立的网址链接、或直接输入网站地图URL(网站地图为网站管理员方便搜索引擎抓取而设置的网页地址集合,URL一般为网站根地址后加上 /sitemap.xml
),可一键获取站点下各子页面的文本内容。
与导入文件类似,系统会自动结合 分段长度 和 标点符合 将长文本拆分成多个段落,方便进行检索,在右侧可以看到拆分效果的预览:
2.4.1 独立网址导入
导入时,选择 “批量导入独立网址”,可将多个网址链接用换行分隔粘贴进输入框,点击导入,可查看导入成功的网页,并在右侧预览内容分段;如有不支持导入的网页,会在操作导入后标红提示:
在导入时可在输入框左下角选择开启 深度解析 ,自动解析页面中的子链接并访问其内容,通过多层递归的方式快速导入站点的下级子页面。
2.4.2 网站地图导入
导入时,选择 “基于网站地图导入”,可输入网站地图URL,点击导入,可查看导入成功的该网站下的网页,并在右侧预览内容分段。如有不支持导入的网页,会在操作导入后标红提示:
知识库导入权益说明
分类 | 基础版 | 标准版 | 专业版 |
---|---|---|---|
单次导入文件数量 | 10个 | 15 个 | 20个 |
单个文件大小限制 | 15MB | 20MB | 30MB |
单个表格文件行数 | 2000行 | 5000行 | 10000行 |
单次导入网页的数量(含深度解析的子链接) | 10个 | 20个 | 30个 |
网站地图导入网页数量 | 20个 | 30个 | 50个 |
3. 上传多媒体素材
知识库支持为语料段落上传对应的素材(支持图片、视频、文件、小程序卡片、微信号名片),在回复时如果所使用的知识库语料有匹配的素材,可以将素材一并发出,并直接展示为对应格式。
上传 图片、视频、文件(pdf、ppt、word、excel、csv、txt、md) 素材时,可在知识库-素材管理进行上传,上传后复制对应素材的链接,再将链接粘贴进对应的知识库语料中;也可在知识库的语料编辑页面,直接上传图片、视频、文件,系统会自动转换为链接填入语料内容中。
当用户提问命中该条语料时,AI机器人会将其中的素材直接发出。(为稳定实现素材发送效果,需在应用配置的“应用设定”(提示词)中添加: 知识库信息中的图片、视频、文件链接直接发送出来,不要省略或改写,不要使用markdown格式。)
如在导入文档时开启增强解析功能,从文档中提取的图片会自动上传至知识库素材管理。
上传 微信小程序卡片、微信/企微名片 素材时,需通过与托管的机器人进行指令对话完成,可联系客服获取支持。
上传后复制对应素材的链接,再将链接粘贴进对应的知识库语料中,当用户提问命中该条语料时,AI机器人会将小程序卡片或微信名片发出。
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结构文档,语料的长度是 问题+答案 之和,所以这样可以大致估计出每次提问时携带的知识库内容长度了,这个长度不能超过模型的最大上下文长度设置。