首页/AI/AI 应用速查/元数据过滤:把权限与范围带进检索

元数据过滤:把权限与范围带进检索

给每个块带上部门、密级、时间、文档类型等元数据,检索时先过滤再近邻(pre-filter),把权限、时效、范围约束下沉到查询层,避免答非所问与越权。

AI 应用速查AI更新于 2026-10-12
元数据部门 / 密级 / 生效日期 / 文档类型 / 版本
时机pre-filter(先过滤再检索)优于 post-filter(检索后再筛)
风险post-filter 会稀释 top-k,过滤后可能剩不到几条
权限过滤条件是硬约束,不能交给模型判断

Qdrant 过滤检索

Qdrant 过滤检索
POST /collections/kb/points/search
{
  "vector": [0.1, 0.2, "..."],
  "limit": 10,
  "filter": {
    "must": [
      { "key": "dept", "match": { "value": "finance" } },
      { "key": "status", "match": { "value": "effective" } }
    ]
  }
}
过滤条件必须由后端从登录态推导,绝不能接受前端传入的部门/密级参数——那是越权的直接入口。

易错点

  • 先检索后过滤,top-k 被无效结果稀释
  • 过滤参数由客户端传入,越权读取他人数据

数据来源与参考

  • Qdrant 过滤文档;向量库 pre/post-filter 工程实践

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌