首页/AI/RAG 与向量库速查/多租户与权限过滤
本包目录(229 条)

多租户与权限过滤

企业知识库要让检索条件同时带权限标签(租户/部门/密级),在向量检索阶段就过滤,避免召回无权内容;标签要在入库时写入且随权限变更刷新。

RAG 与向量库速查AI更新于 2026-10-12

Qdrant 带权限过滤检索

Qdrant 带权限过滤检索
from qdrant_client import models
flt = models.Filter(must=[
    models.FieldCondition(key="tenant_id", match=models.MatchValue(value="t-001")),
    models.FieldCondition(key="acl", match=models.MatchAny(any=["public", "dept-hr"])),
])
hits = client.query_points(collection_name="docs", query=qv,
                           query_filter=flt, limit=5).points

pgvector 权限过滤

pgvector 权限过滤
SELECT id, content
FROM documents
WHERE tenant_id = 't-001' AND acl_tag = ANY(ARRAY['public','dept-hr'])
ORDER BY embedding <=> '[...]'
LIMIT 5;
权限变更(如员工转岗)后索引里的 acl 字段要同步刷新,否则过滤结果滞后于真实权限。

易错点

  • 权限过滤放在生成之后:模型已经看过无权内容,过滤等于没做
  • 过滤字段没有标量索引,带过滤的检索性能明显劣化

数据来源与参考

  • Qdrant 官方文档(Filtering)
  • pgvector README(查询示例)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌