主题
知识库节点
该节点是BetterYeah AI 平台「知识库」模块在Flow中的使用形式,用于在Flow中操作「知识库」,根据查询内容从知识库中找到相关内容。在阅读本文档前,需要你先对「知识库」有一个大概得了解, 如果你还不了解知识库,先点击这里快速熟悉「知识库」。
查询知识库
为什么要查询知识库
知识库模块在BetterYeah AI平台中扮演着重要的角色,它充当着一个存储大量静态数据的自然语言库,如同一本书。通过查询知识库,用户能够以简短的语言快速从其中海量的数据中,根据语义找到相关的段落。这一功能特别适用于需要从大量信息中迅速提取关键内容的场景。
利用知识库的查询功能,可以极大地提高信息检索的效率和准确性。例如,如果您想要了解“公司的年假有几天?”这类具体的信息,只需在员工手册的知识库中进行查询,系统即可根据语义匹配,快速定位到与年假相关的段落。这个过程不仅节约了时间,还避免了不必要的资源消耗。
如何查询知识库
第一步,选择一个知识库,如果你还没有知识库,需要在知识库模块创建一个知识库。
第二步(可选),选择或者输入标签,标签是为了更精准的索引到知识库中打了相同标签的一批文档,当然,你也可以跳过选择标签的步骤,如果跳过,默认知识库会从知识库中所有的文档中找符合语义的结果。
第三步,选择查询方式,平台提供混合查询、关键词查询、语义查询三种方式,你可以根据你的场景选择最适合你的查询方式,想要了解这三个查询方式的区别,请跳转命中测试。
第三步,输入查询关键词,以检索知识库中的内容。关键词可以是单个词汇或完整句子。选择合适的查询关键词应依据您的业务场景。通常情况下,查询关键词作为一个变量,源自于之前流程节点的输出,例如用户在「开始节点」的输入。
第四步(可选),选择最大查询结果数,即查出来的相关段落数
第五步(可选),选择是否使用结果重排算法,结果重排可以参考结果重排
第六步(可选),选择知识库的输出方式,文本输出,还是以JSON输出。
文本格式输出和JSON输出的区别
以一个例子说明。假设我们有一个知识库,里面其中一个文件叫《员工手册》,我们查询的内容是“如果迟到了怎么办?”
如果是文本格式输出,那么知识库的输出结果如下示例:
plaintext
「文件名」员工手册
「段落内容」:
首次迟到: 第一次迟到将接受口头警告,并记录在员工档案中。员工需向直接上级解释迟到的原因。
二次迟到: 第二次迟到将接受书面警告,并要求员工提供书面解释。可能会安排与直接上级的会议,讨论避免未来迟到的措施。
三次及以上迟到: 第三次及以上迟到将视为严重违反工作纪律,将根据情况考虑进一步的纪律处分,包括但不限于工资扣除、暂停工作、或终止雇佣。
如果是以JSON格式输出,那么结果如下示例:
json
[
{
"vector_id": "72a573c1bbd92b5969198cc9e82f7ac6",
"file_id": 2113,
"file_name": "员工手册",
"mimetype": "application/pdf",
"chunk_id": 0,
"content": "首次迟到: 第一次迟到将接受口头警告,并记录在员工档案中。员工需向直接上级解释迟到的原因。
二次迟到: 第二次迟到将接受书面警告,并要求员工提供书面解释。可能会安排与直接上级的会议,讨论避免未来迟到的措施。
三次及以上迟到: 第三次及以上迟到将视为严重违反工作纪律,将根据情况考虑进一步的纪律处分,包括但不限于工资扣除、暂停工作、或终止雇佣。"
"relevance_score": 0.8833,
}
]
返回字段解释:
字段名 | 描述 |
---|---|
vector_id | 段落向量id,知识库内置字段 |
file_id | 文件id,如果想通过API操作知识库,可以用到这个id |
file_name | 文件名 |
mimetype | 文件类型 |
content | 段落内容 |
relevance_score | 相关性得分,得分越高代表结果和问题越匹配 |
可以看出,文本格式输出比较简单,比较利于LLM节点理解。JSON格式的输出内容比较丰富,可以给开发者更多的发挥和自定义空间。
插入知识库
通过在Flow中使用插入知识库节点,可以方便地将内容写入到知识库中。例如,在一个Flow中,借助LLM处理客服人员与客户之间的对话记录,并将对话总结后的信息持久化保存至知识库,以此方式构建基于历史对话记录的知识库。这一场景下,使用插入知识库功能便成为必选项。
操作插入知识库功能极为便捷,仅需选择目标知识库及其中的特定文件,即可实现内容的插入。