image-20250704114535822

大家好,这篇文章讲解大家最关心的问题——如何在扣子智能体中用好知识库?

假如你想做自己的智能客服,那少不了搭建自己的知识库。在搭建知识库之前,我们先来学习一下知识库的基础知识。

图片

1. 知识库功能

知识库功能包含两个能力。

一是存储和管理外部数据的能力

扣子支持从多种数据源例如本地文档、在线数据、Notion、飞书文档等渠道上传文本和表格数据。上传后,扣子可将知识内容自动切分为一个个内容片段进行存储,同时支持用户自定义内容分片规则,例如通过分段标识符、字符长度等方式进行内容分割。

二是增强检索的能力

扣子的知识功能还提供了多种检索方式来对存储的内容片段进行检索,例如使用全文检索通过关键词进行内容片段检索和召回。

大模型会根据召回的内容片段生成最终的回复内容。

2. 知识与记忆的区别

知识和记忆都是用来存储数据的,那两者有什么区别?

给大家举个例子就明白了。

以一个租房平台的智能体为例,下表展示了哪些数据是需要通过知识功能来维护的,哪些数据是通过记忆功能来维护的。

类别 存储的数据 特点
知识 周边所有的房屋的信息(房屋面积、朝向、租房价格等) 周边所有小区的信息(小区位置、小区年代、周边交通等) 某地区租房政策文件信息 官方租房介绍文档 由智能体开发者上传和维护 所有用户可见但不可修改 可跨智能体使用
记忆 用户租房喜好(位置、面积、是否带独卫等) 用户历史租房信息 用户关注的小区/房屋 用户个人数据 不可以跨智能体使用

3. 扣子知识库和火山知识库对比

如果你在扣子平台开发过智能体,那你肯定知道你创建知识库时,会让你选择扣子知识库或者火山知识库,不要天真的以为随便选一个就行,这里有讲究的哈。

最重要的差别是:

扣子知识库提供一定的存储空间免费额度,而火山知识库从上传文档并开始计费。

如何选择:

用更简单的人话来说,如果你想自己在扣子平台体验知识库功能,或者开发简单的智能体,那你选择扣子知识库即可;如果你是企业级,或者需要更精细化的内容管理、更大的存储空间,再选择火山知识库。

另外,扣子知识库操作流程简单便捷,用户可以轻松上手;火山知识库相对复杂、繁杂。

4. 扣子知识库

目前针对大家在扣子平台上的使用情况,还是扣子知识库使用的比较多并且便捷。

下面继续详讲扣子知识库的类型及如何创建使用。

先了解不同的知识类型的使用场景和导入方式,以便更好地管理知识内容。

image.png

图片

这里补充一下知识库使用的一些限制(包含火山知识库)

image.png

现在继续了解扣子知识库的创建。

1. 文本格式知识库

1)选择导入类型。

image.png

2)上传文本及设置文档解析、分段、存储、索引等策略

图片

注意:不同导入类型,对应的上传操作和策略配置不同

2. 表格知识库

1)选择导入类型

图片

2)上传表格以及设置表结构

图片

这里注意

上传本地文档后,你可以在表结构配置页面,指定数据范围、确认表结构及配置索引。

详细说明如下:

1)指定数据范围:通过选择数据表、表头、数据起始行指定数据范围。
2)确认表结构:系统已默认获取了表头的列名,你可以自定义修改列名,或删除无需导入的列。
3)配置索引:指定某一列作为查询匹配的语义字段。在响应用户查询时,系统会将用户查询内容与该列内容进行对比,并根据内容的相似度返回匹配结果。

照片知识库支持基于标注信息的匹配,适用于图像生成场景。照片知识库就不详细说了。

5. 在工作流中使用知识库

  • 如果需要在知识库中检索知识,可以在工作流中添加知识库检索节点
  • 如果需要上传新的文档到指定的文档知识库,可以在工作流中添加知识库写入节点
  • 如果需要删除知识库中的文档,可以在工作流中添加知识库删除节点

图片

这里举个知识库检索节点来说,其中的配置面板信息很多,需要好好学习一下。

图片

这里讲一下搜索策略

从知识库中获取知识的检索方式,不同的检索策略可以更有效地找到正确的信息,提高其生成的答案的准确性和可用性。

支持的检索策略包括
1)混合:结合全文检索和语义检索的优势,并对结果进行综合排序召回相关的内容片段。

2)语义:像人类一样去理解词与词、句与句之间的关系。推荐在需要理解语义关联度和跨语言查询的场景使用。例如下面两组句子,第一组的语义关系更强。
"狼追小羊"和"豺狼追山羊"
"狼追小羊"和"我爱吃炸猪排"

3)全文:基于关键词进行全文检索。
推荐当查询内容包含以下场景时使用:
特定名称或专有名词、术语等,例如比尔盖茨、 特斯拉 Model Y。

表格 SQL 查询
添加了表格知识库之后,默认开启表格 SQL 查询。开启后,查询表格知识库时,系统会自动将用户输入的自然语言转为 SQL 语句,根据 SQL 对表格知识库进行查询计算,SQL 执行结果与 RAG 召回的切片会一同传递给模型。

最大召回数量
从知识库中返回的最大段落数量。数值越大,返回的条目越多。默认召回 5 条检索结果。

最小匹配度
匹配度指的是系统检索到的上下文与被视为 ground-truth 的标注答案对齐的程度。

设置最小匹配度参数后,系统会根据设置的匹配度选取段落,低于指定匹配度的内容不会被召回。默认的最小匹配度为 0.5。

查询改写
例如用户对话的上下文为:
问题1:知识库检索节点可以用来做什么?
回复1:知识库检索节点可以基于用户输入查询指定的知识库,召回最匹配的信息,并将匹配结果以列表形式返回。
问题2:怎么用?
对于问题2,不参考上下文的情况下无法判断用户的真实意图。开启查询改写后,问题2会被改写为"知识库检索节点怎么用?"

结果重排
1)结果重排是指根据相关性或质量对检索到的文档切片进行重新排序,以提高生成答案的准确性和相关性,适用于追求回答高精度和高相关性的场景,例如智能客服、专业技术答疑等场景。
2)未开启结果重排时,节点输出的是向量检索的结果,根据匹配度从大到小排序;开启结果重排后,系统会将 Embedding 的召回结果交由 Rerank 模型进行质量和相关性判断,对结果重新排序,将与输入问题最相关的文档排在前面。

假设用户查询"如何制作意大利面?" ,首先会从知识库中检索得到以下几个文档片段,其中先按照ABCD先后顺序排列:
切片 A:介绍意大利面的历史。
切片 B:讨论了不同种类的意大利面和它们的搭配。
切片 C:详细描述了制作意大利面的步骤,包括所需材料和烹饪技巧。
切片 D:提供了一些意大利面食谱。
在结果重排的过程中,知识库检索节点会分析用户的真实意图,对切片重新排序,使得最相关的内容排在前面。最终的排序可能变为:
切片 C:详细描述了制作意大利面的步骤,包括所需材料和烹饪技巧。
切片 D:提供了一些意大利面食谱。
切片 B:讨论了不同种类的意大利面和它们的搭配。
切片 A:介绍意大利面的历史。

仅查看个人文档
指定查询范围是否仅限于用户的个人文档。默认为关闭状态。
开启:在知识库检索节点添加的全部知识库中,用户只能搜索自己通过知识库写入节点写入的文档,不能在开发者和其他人上传的文档中检索内容。
关闭:检索范围为知识库节点中添加的全部知识库。

6. 维护知识库

知识库的维护操作,包括编辑、停用、启用、删除扣子知识库,以及添加内容、删除知识库文件等操作。

1)编辑知识库

知识库的所有者可以编辑自己创建的知识库,包括编辑知识库的名称、描述信息和图标。

img

2)停用知识库

创建完知识库后,知识库默认为启用状态。

如果你不希望使用某个知识库,你可以执行停用操作。

如果智能体或工作流已经使用了某个知识库,停用该知识库后,该知识库的内容也不会被召回。

在资源库页面,找到目标知识库,然后关闭操作列下的 … —>启用的开关。

img

3)启用知识库

如果你希望智能体或工作流使用某个知识库,你可以执行启用操作。启用后,知识库的内容才能被召回。

4)为知识库添加内容

添加内容同创建知识库时上传文件到知识库的操作一致

5)删除知识库文件

在知识库中,每个在线网页、各类格式文件或图片都是一个个独立的知识文件。你可以在扣子平台中查看每个知识库文件的内容分段,也可以通过 API 的方式管理和维护知识库,例如查看知识库文件列表、删除知识库文件等。

6)删除知识库

知识库的所有者支持删除自己创建的知识库

删除某个知识库后,引用了该知识库的智能体或工作流也将自动取消引用,且此操作不可撤回,请谨慎操作。

好了,知识库先讲这么多,如果你对扣子平台更多的基础知识感兴趣或者想学习,我们有完整的基础课程。

image-20250704114954658

image-20250704115014602

相关新闻

联系我们

联系我们

135-1682-0181

 

课程顾问微信:guangsujuzhen

商务合作微信:liyc1215

工作时间:周一至周日,9:30-18:30,节假日无休

关注微信
关注微信
分享本页
返回顶部