什么是 元数据过滤(Metadata Filtering)?

元数据过滤(Metadata Filtering)是使用附加在文档或分块上的结构化属性来限制检索结果的做法,例如权限、来源、日期、产品、语言或版本。

工作原理

元数据过滤让检索遵守文本相似度本身无法可靠执行的约束。用户可能只能查看特定文档,可能询问某个产品版本,也可能需要官方文档而不是社区评论。过滤可以在向量搜索前、候选检索后,或混合管线中执行,但位置会改变正确性和召回率。对生产级 RAG 来说,元数据设计和嵌入同样重要,因为它控制信任、新鲜度、访问权限和相关性边界。

主要特点

  • 使用租户、权限、时间戳、语言、产品和来源类型等结构化字段
  • 执行语义相似度可能忽略的约束
  • 可通过排除无关或未授权分块提升精确率
  • 如果元数据不完整、过期或过严,可能降低召回率
  • 需要在摄取和文档更新阶段保持一致的元数据分配

常见用途

  1. 按用户权限或租户过滤 RAG 结果
  2. 把答案限制在特定产品版本或区域内
  3. 优先检索官方文档而非社区内容
  4. 从检索中排除过期文档
  5. 按语言、文档类型或合规领域分隔结果

示例

loading...
Loading code...

常见问题

为什么元数据过滤对 RAG 很重要?

它执行产品、权限、新鲜度、语言和来源约束,而这些约束无法仅靠向量相似度可靠推断。

过滤应该在向量搜索前还是搜索后执行?

预过滤有利于约束正确性但可能降低召回;后过滤更灵活,但可能浪费检索容量或返回结果过少。

哪些元数据字段通常有用?

常见字段包括来源 URL、文档类型、产品、版本、语言、时间戳、租户、访问级别、负责人和司法辖区。

元数据过滤可能出什么问题?

不完整或过期的元数据可能静默隐藏相关文档,或在错误约束下暴露结果。

相关工具

相关术语

相关文章