11
2025
04
14:12:50

企业级RAG如何实现权限控制?Dify 1.1.0 新版本元数据保姆级教程!

什么是元数据

简单来说,元数据就是"描述数据的数据"。它就像我们为知识库文档贴上的各种标签和属性,例如文档的保密等级、创建者、所属类别等。每个文档可以拥有多组这样的描述信息。实际上,元数据早已渗透到我们日常生活的方方面面,只是大多数人并不熟悉这个专业术语而已。

为了更好地理解这个概念,我们可以观察一些常见例子。在计算机操作系统中,每个文件都包含一系列基础属性信息:文件格式、创建者、存储大小、最后修改时间等,这些都是典型的元数据表现形式。

在Dify知识管理系统中,元数据被分为两种类型:

  1. 系统元数据:这是Dify平台为每个知识文档自动生成的基础属性信息,用户无法手动修改这些预设字段,它们由系统自动维护和更新。

  2. 自定义元数据:Dify同时提供了灵活的元数据扩展功能,允许用户根据实际需求添加、编辑或删除自定义的描述属性。这种设计既保证了系统基础信息的规范性,又满足了不同用户的个性化需求。

通过这种双重元数据机制,Dify实现了文档管理的标准化与定制化的完美结合。

元数据过滤

元数据过滤是一种高效的文档检索技术,其核心在于利用文档的描述性属性进行初步筛选。当用户发起查询时,系统首先会根据预设的元数据条件对文档集合进行快速过滤,这个过程仅涉及文档的表面属性,无需深入解析文档内容,因此具有极高的执行效率。

分层检索的工作流程

  1. 元数据层筛选:系统基于文档的元数据属性(如分类、作者、日期等)进行第一轮筛选,这个阶段只检查文档的"标签"信息。
  2. 内容层检索:只有通过元数据筛选的文档才会进入下一阶段的内容检索,系统这时才会解析文档内部的具体内容。


如何管理知识库元数据?

在知识库管理界面,你可以创建、修改和删除元数据字段。

注意:所有在此界面进行的更新均为全局更新,这意味着对元数据字段列表的任何更改都会影响整个知识库,包括所有文档中标记的元数据。

在知识库管理界面,点击右上方的 元数据 按钮,进入元数据管理界面。

img
img
img
img

在知识库中,元数据字段分为两类:内置元数据(Built-in) 和 自定义元数据

新建元数据字段

  1. 点击 +添加元数据 按钮,弹出 新建元数据 弹窗。
img
img
  1. 在 字段值类型 中选择元数据字段的值类型。
  2. 在 名称 框中填写字段的名称。

字段名仅支持小写字母、数字和下划线(_)字符,不支持空格和大写字母。

img
img
  1. 点击 保存 按钮,保存字段。
img
img

修改元数据字段

  1. 点击单条元数据字段右侧的编辑按钮,弹出 重命名 弹窗。
img
img
  1. 在 名称 框中修改字段名称。

此弹窗仅支持修改字段名称,不支持修改字段值类型。

img
img
  1. 点击 保存 按钮,保存修改后的字段。

修改并保存后,该字段将在知识库中的所有相关文档中同步更新。

img
img

删除元数据字段

点击单条元数据字段右侧的删除按钮,可以删除该字段。

如果删除单条字段,该字段及该字段下包含的字段值将从知识库的所有文档中删除。

img
img


使用元数据筛选知识

聊天流/工作流

在 聊天流/工作流 的 知识检索 节点中,你可以使用 元数据筛选 功能精确检索文档。该功能有助于你根据文档的元数据字段(如标签、类别或访问权限)优化检索结果。

配置步骤

  1. 选择筛选模式

    启用自动模式后,你依然需要在 模型 栏中选择合适的大模型以执行文档检索任务。

    img
    img
    • 手动模式:用户可以手动配置筛选条件,自由设置筛选规则,适用于复杂的筛选需求。
    • 禁用模式(默认):禁用 元数据筛选 功能,不配置任何筛选条件。
    • 自动模式:系统会根据传输给该 知识检索 节点的 查询变量 自动配置筛选条件,适用于简单的筛选需求。
img
img
  1. 如果你选择了 手动模式,请参照以下步骤配置筛选条件:

    img
    img
    img
    img
    img
    img

    当你输入常量筛选值时,该筛选值必须与该元数据字段值的文本完全一致,系统才能返回该文档。例如,当你设置筛选条件为 starts with "App" 或 contains "App" 时,系统会返回标记为 “Apple” 的文档,但不会返回标记为 “apple” 或 “APPLE” 的文档。

    img
    img
    • AND:当一个文档满足所有筛选条件时,才能检索到该文档。
    • OR:只要一个文档满足其中任意一个筛选条件,就可以检索到该文档。
    • 变量:选择 变量(Variable),并选择该聊天流/工作流中需要用于筛选文档的变量。
    • 常量:选择 常量(Constant),并手动输入你需要的常量值。
    • 可以从下拉列表中选择一个已选中知识库内的元数据字段,添加到筛选条件列表中。
    • 可以在 搜索元数据 搜索框中搜索你需要的字段,添加到筛选条件列表中。
    1. 配置筛选条件之间的逻辑关系 AND 或 OR
    2. 选择并添加元数据筛选值:

      img
      img

      时间 字段类型仅支持使用常量筛选文档。如果你选用时间字段筛选文档,系统会弹出时间选择器,供你选择具体的时间节点。

      img
      img
    3. 如果需要添加多条字段,可以重复点击 +添加条件 按钮。
    4. 点击配置框中的 +添加条件 按钮:

      如果你同时选择了多个知识库,下拉列表只会显示这些知识库共有的元数据字段。

    5. 点击 条件 按钮,弹出配置框。

聊天助手

聊天助手中,元数据筛选 功能位于界面左下方的 上下文 板块下方,配置方法与聊天流/工作流中的操作一致。你可以按照相同的步骤配置元数据筛选条件。

img
img

总结

在实际生产过程中,元数据的作用还是比较明显的。例如,在我之前的一个项目中,我们需要处理大量文件。项目中有一个需求:希望 RAG 系统能够根据用户的不同权限级别提供相应的回答。具体来说,普通用户不应访问只有高管才能查看的文件,而高管则可以检索知识库中的所有文件。

我们通过元数据实现了基于用户角色的权限控制:普通用户查询时,系统会自动过滤高权限文件;而高管用户则可访问知识库中的全部文件内容。这种分级访问机制有效保障了企业数据安全。




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/10429.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: