Dify v1.1.0 发布:自定义元数据过滤,让知识检索更高效!


本文已收录在Github关注我,紧跟本系列专栏文章,咱们下篇再续!

  • 魔都架构师 | 全网30W技术追随者
  • 大厂分布式系统/数据中台实战专家
  • 主导交易系统百万级流量调优 & 车联网平台架构
  • 🧠 AIGC应用开发先行者 | 区块链落地实践者
  • 以技术驱动创新,我们的征途是改变世界!
  • 实战干货:编程严选网

0 前言

Dify v1.1.0,以元数据作为知识过滤器,对数据精确过滤和访问控制来提高准确性、安全性和效率,对有效的RAG管理至关重要。

“元数据作为知识过滤器”的新功能。元数据过滤通过利用自定义元数据属性,增强知识库中相关数据的检索能力和准确性:

  • 以前,用户须搜索整个庞大数据集,而无法根据特定需求进行过滤或控制访问权限,因此难将搜索结果缩小到最相关信息
  • 而用元数据,数据本质上被标记和分类,从而显著提高检索效率和准确性。这一概念在RAG的背景下尤为重要,因为在 RAG 中需高效管理和访问大量信息

1 元数据过滤是啥?

元数据本质上是“关于数据的数据”。它提供描述主要数据的附加上下文或属性,实现更精确的搜索和检索。如文档管理系统中,元数据可能包含文档的名称、作者、创建日期等。这些结构化信息使系统能够根据特定条件筛选结果,从而提高检索内容的相关性。

2 应用元数据过滤的优势

元数据过滤功能可帮助用户快速找到相关文档,同时最大程度减少不相关结果,提高搜索准确性:

  • 通过强制访问控制来增强数据安全性,确保只有授权用户才能查看敏感信息
  • 通过优化查询范围、提高效率和节省计算资源来优化搜索性能。这种定制功能可提升用户体验,尤其是在企业环境中,能够更快速、更直观地浏览大型文档存储库

下图展示访问控制的比较,展示元数据过滤如何实现细粒度的访问管理。本例应用了三个过滤条件:privacylevel、uploader 和 update_date。

通过调整隐私级别,可控制用户对 RAG 2.0 路线图的访问。这使得管理员能够精确管理哪些用户可以检索或查看特定信息,从而提高数据访问的安全性和效率。

元数据充当智能知识过滤器,通过添加上下文层和访问控制,实现更智能、更安全、更高效的信息检索。这在 RAG系统中尤为重要,因为维护知识的隐私和相关性至关重要。

3 咋用元数据作为知识过滤器?

步骤1:向知识库中的文档添加元数据

用户可添加和管理知识库中文档的元数据。每个文档在创建时都会自动分配一些默认元数据,如文件名、上传者、上传日期等。用户还可手动添加新的元数据字段、设置字段名称和数据类型,以及对现有文档进行批量编辑或修改。此标记过程允许用户向文档添加额外的结构化信息,使其更易于日后搜索和管理。

步骤2:在应用程序中配置元数据过滤

用户可以在 Chatbot 的上下文部分或 Chatflow 或 Workflow 的知识检索节点中找到元数据过滤功能,它使用户能够根据元数据属性精确地过滤和检索信息。用户可以选择自动或手动元数据过滤选项。在自动模式下,元数据过滤条件从用户查询中提取并生成。在手动配置时,用户可以根据元数据字段类型(例如字符串、数字或时间)设置过滤条件,并进一步将多个条件之间的关系设置为“与”或“或”。

4 三种类型的元数据及其应用

支持三种类型的元数据:字符串、数字和时间。每种类型都可以根据实际用例灵活应用。示例如下:

4.1 字符串元数据——增强上下文相关性

有助过滤不相关信息,从而优化搜索结果。例如,当用户搜索“项目报告”时,“市场营销”或“研发”等元数据标签可确保仅返回与特定部门或项目相关的文档。

4.2 数字元数据——强制访问控制

数字元数据可用于根据预定义标准限制访问。例如,用户只能检索隐私级别高于特定阈值的文档,从而确保数据访问的安全性和适当性。

4.3 时间元数据——管理文档版本

时间元数据可以区分文档的新旧版本。当内容更新并重新上传时,基于时间的过滤功能可确保搜索优先显示最新版。当上传者设置为自身时,用户可以方便地对不同批次上传的多个版本进行比较检索测试,并保持文档处理的一致性。

本文由博客一文多发平台 OpenWrite 发布!