使用标签集
使用标签集为数据集中的知识块自动打上标签。
检索准确性是生产级 RAG 框架的试金石。除了自动关键词、自动生成问题和知识图谱等检索增强方法外,RAGFlow 还引入了自动打标功能以解决语义鸿沟。自动打标功能会根据用户定义的标签集与知识库中每个知识块的相似度,自动将标签映射到相关的知识块上。这种自动化机制允许您为现有数据集应用一个额外的特定领域知识“层”,这在处理大量知识块时尤其有用。
要使用此功能,请确保您至少有一个正确配置的标签集,在知识库(数据集)的**配置**页面上指定一个或多个标签集,然后重新解析您的文档以启动自动打标过程。在此过程中,数据集中的每个知识块都会与指定标签集中的每个条目进行比较,并根据相似度自动应用标签。
使用场景
当知识块之间非常相似,以至于无法将目标知识块与其他知识块区分开来时,自动打标功能就派上用场了。例如,当您有几个关于 iPhone 的知识块,但大部分是关于 iPhone 手机壳或 iPhone 配件时,如果没有额外信息,就很难检索到那些关于 iPhone 的知识块。
1. 创建标签集
您可以将标签集视为一个封闭集合,要附加到数据集(知识库)中知识块的标签*仅*来自指定的标签集。您可以使用标签集来“告知” RAGFlow 应该为哪些知识块打上哪些标签。
准备标签表文件
一个标签集可以包含一个或多个 XLSX、CSV 或 TXT 格式的表格文件。标签集中的每个表格文件都包含两列:**描述**和**标签**。
- 第一列提供第二列中标签的描述。这些描述可以是示例知识块或示例查询。系统将计算此列中每个条目与您数据集中每个知识块之间的相似度。
- **标签**列包含与描述条目配对的标签。多个标签应使用逗号(,)分隔。
根据经验,请考虑在您的标签表中包含以下条目:
- 目标知识块的描述及其对应的标签。
- 使用其他方法未能检索到正确响应的用户查询,并确保其标签与数据集中目标知识块的标签相匹配。
创建标签集
标签集*不*参与文档索引或检索。在配置您的聊天助手或智能体时,请勿指定标签集。
- 点击 **+ 创建知识库** 来创建一个知识库。
- 导航到所创建知识库的**配置**页面,并选择**标签**作为默认的分块方法。
- 导航到**数据集**页面,上传并解析您的 XLSX、CSV 或 TXT 格式的表格文件。
在**标签视图**部分下会出现一个标签云,表示标签集已创建。
- 点击**表格**选项卡以查看标签频率表。
2. 为知识块打标签
标签集创建后,您可以将其应用于您的数据集。
- 导航到您的知识库(数据集)的**配置**页面。
- 从**标签集**下拉菜单中选择标签集,然后点击**保存**以确认。
如果下拉菜单中没有该标签集,请检查它是否已正确创建或配置。
- 重新解析您的文档以启动自动打标过程。
在使用自动标记数据集的 AI 聊天场景中,每个查询都将使用相应的标签集进行标记,带有这些标签的知识块将有更高的机会被检索到。
3. 更新标签集
创建标签集*并非*一劳永逸。通常,您可能会发现有必要更新或删除现有标签,或添加新条目。
- 您可以在标签频率表中更新现有的标签集。
- 要添加新条目,您可以添加并解析新的 XLSX、CSV 或 TXT 格式的表格文件。
在标签频率表中更新标签集
- 导航到您标签集中的**配置**页面。
- 点击**标签视图**下的**表格**选项卡以查看标签频率表,您可以在其中更新标签名称或删除标签。
当标签集更新后,您必须重新解析数据集中的文档,以便其标签能够相应地更新。
添加新表格文件
- 导航到您标签集中的**配置**页面。
- 导航到**数据集**页面,上传并解析您的 XLSX、CSV 或 TXT 格式的表格文件。
如果您向标签集添加了新的表格文件,是否重新解析数据集中的文档由您自行决定。
常见问题
我可以引用多个标签集吗?
是的,可以。通常一个标签集就足够了。当使用多个标签集时,请确保它们相互独立;否则,请考虑合并您的标签集。
标签集与标准知识库有何区别?
标准知识库是一个数据集。RAGFlow 的文档引擎会搜索它,并将检索到的知识块提供给大语言模型(LLM)。相比之下,标签集仅用于为数据集中的知识块附加标签。它不直接参与检索过程,您在为聊天助手或智能体选择数据集时不应选择标签集。
自动打标和自动关键词有何区别?
这两个功能都能增强 RAGFlow 的检索能力。自动关键词功能依赖于大语言模型(LLM),会消耗大量的 token,而自动打标功能基于向量相似度和预定义的标签集。您可以将自动关键词功能中应用的关键词视为一个开放集合,因为它们是由 LLM 生成的。相比之下,标签集可以被视为用户定义的封闭集合,在使用前需要上传指定格式的标签集。