企业级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

  1. 在 名称 框中修改字段名称。

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

img

img

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

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

img

img

删除元数据字段

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

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

 

使用元数据筛选知识

聊天流/工作流

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

配置步骤

  1. 选择筛选模式

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

    • 手动模式:用户可以手动配置筛选条件,自由设置筛选规则,适用于复杂的筛选需求。

    • 禁用模式(默认):禁用 元数据筛选 功能,不配置任何筛选条件。

    • 自动模式:系统会根据传输给该 知识检索 节点的 查询变量 自动配置筛选条件,适用于简单的筛选需求。

img

img

  1. 如果你选择了 手动模式,请参照以下步骤配置筛选条件:

    img

    img

    img

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

    • AND:当一个文档满足所有筛选条件时,才能检索到该文档。

    • OR:只要一个文档满足其中任意一个筛选条件,就可以检索到该文档。

    • 变量:选择 变量(Variable),并选择该聊天流/工作流中需要用于筛选文档的变量。

    • 常量:选择 常量(Constant),并手动输入你需要的常量值。

    • 可以从下拉列表中选择一个已选中知识库内的元数据字段,添加到筛选条件列表中。

    • 可以在 搜索元数据 搜索框中搜索你需要的字段,添加到筛选条件列表中。

    1. 配置筛选条件之间的逻辑关系 AND 或 OR

    1. 选择并添加元数据筛选值:

      img

      img

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

      img

      img

    1. 如果需要添加多条字段,可以重复点击 +添加条件 按钮。

    1. 点击配置框中的 +添加条件 按钮:

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

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

聊天助手

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

img

总结

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

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

 

 大模型&AI产品经理如何学习

求大家的点赞和收藏,我花2万买的大模型学习资料免费共享给你们,来看看有哪些东西。

1.学习路线图

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。


2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己整理的大模型视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要点击下方图片前往获取

3.技术文档和电子书 

这里主要整理了大模型相关PDF书籍、行业报告、文档,有几百本,都是目前行业最新的。



4.LLM面试题和面经合集


这里主要整理了行业目前最新的大模型面试题和各种大厂offer面经合集。



👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集***

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

 

<think>好的,用户想在Dify知识库中添加视频文件。我需要先回顾一下Dify的知识库功能。根据提供的引用内容,Dify知识库主要支持通过上传文件或同步Notion页面来添加文档,比如文本文件、PDF等。引用[2]提到有三种构建方式,但处理的是文档类文件。引用[5]的示例中提到了生成阶段使用文本内容,说明知识库处理的是文本数据。 视频文件通常较大,且Dify的知识库可能主要用于文本处理和检索,嵌入视频可能不在当前支持范围内。用户的问题可能源于对知识库功能的不完全了解,认为可以存储各种文件类型。我需要确认Dify是否支持视频上传,或者是否有变通方法。 根据现有引用,没有提到视频支持。上传文件的方式(引用[1])可能仅限于支持的文档格式。同步Notion(引用[4])也只能处理Notion中的页面内容,无法直接嵌入视频。因此,直接上传视频可能不可行。但用户可能希望将视频链接或转录文本添加到知识库中,例如将视频的文本摘要作为文档上传,或者在Notion中存储链接后同步。 因此,回答应说明Dify当前不支持视频文件,但提供替代方案,如上传视频链接或转录文本,并引用相关文档说明。同时,建议用户关注更新,或通过API自定义处理(引用[3]可能有帮助)。</think>根据Dify知识库的当前功能设计,系统暂不支持直接上传或嵌入视频文件。以下是详细说明及替代解决方案: ### 一、当前限制说明 1. **支持文件类型**:Dify知识库主要处理文本类文件(如TXT、Markdown、PDF、Word等)和Notion页面[^2][^4] 2. **处理机制**:系统会对上传文件进行文本解析和向量化处理,视频文件无法被现有解析引擎处理[^5] 3. **API限制**:知识库API文档中未包含多媒体文件相关接口[^3] ### 二、替代解决方案 #### 方案1:视频链接引用 1. 创建Markdown文档,嵌入视频平台链接: ```markdown [教学视频](https://example.com/video_id) ``` 2. 将该文件通过「直接上传」方式添加到知识库[^1] #### 方案2:视频转录处理 1. 提取视频字幕/语音转文字 2. 将文字稿保存为TXT文件上传 3. 在Prompt模板中标注来源: ``` 已知视频内容:{KB_123内容} ``` #### 方案3:Notion中转存储 1. 在Notion页面插入视频 2. 通过Notion同步功能导入页面 3. 系统将自动提取页面中的文字描述 ### 三、技术建议 对于需要深度集成视频的场景,可通过以下API进行扩展开发: ```python # 自定义文件处理器示例 from dify_client import DocumentProcessor class VideoProcessor(DocumentProcessor): def process(self, file): # 添加视频元数据提取逻辑 metadata = extract_video_metadata(file.path) return { 'content': metadata['description'], 'extra_fields': { 'video_url': metadata['url'], 'duration': metadata['duration'] } } ``` (需搭配自定义文件解析管道使用[^3])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值