返回知识库AI 与提示 · 知识与检索
向量数据库Vector Database
向量数据库把高维向量、可过滤 payload 和近似最近邻索引放在一起:payload 先划定权限与业务边界,ANN 再访问少量候选取 top-k,并返回 id、分数与来源。它擅长大规模找“最像的几个”,但过滤写错会在检索前误伤正确记录。
让一次搜索请求穿过向量索引货架
同一条退款查询,先正常命中,再故意收紧 payload 过滤观察正确记录如何被误伤,最后恢复范围并保持查询不变复测。
这是一条真实语义搜索请求:向量库先用 payload 划定可见记录,再沿 ANN 索引访问少量格位,最后把 top-k 结果连同 id、分数和来源交给 RAG。
HNSW INDEX / support-kb向量索引货架ANN 已访问 4 / 8 格位V01GUIDE
重置登录密码perm=public · cos 0.31已访问V02POLICY
退款申请流程perm=public · cos 0.93命中V03GUIDE
账户注销说明perm=public · cos 0.38未访问V04POLICY
退款审核规则perm=internal · cos 0.89不在范围V05GUIDE
双因素认证perm=public · cos 0.26未访问V06FAQ
退款到账时间perm=public · cos 0.81命中V07POLICY
数据保留期限perm=internal · cos 0.22不在范围V08FAQ
订单号在哪里perm=public · cos 0.62已访问
→SEARCH REQUEST / req-2048“购买后怎么申请退款?”2 条可靠命中- query vector
- [0.18, -0.47, … 1536 维]
- top-k / distance
- 2 / cosine
- payload
- perm = public
RESULT TRAY- 01
V02 · 退款申请流程POLICY · perm=public
0.93 - 02
V06 · 退款到账时间FAQ · perm=public
0.81
✓ 可回答:top-1 同时包含退款条件和申请路径,并保留记录 id 与来源。
公开范围保留了正确政策片段,ANN 沿索引只访问 4 个格位就把 V02 排到第 1。 现在故意把 payload 过滤误设为 FAQ only,观察正确记录如何在检索前消失。
从货架和托盘,记住四件事
向量数据库不是只存一串数字;它把向量、索引、payload 与可追溯结果放进同一套检索契约。
- 记录 = 向量 + id + payload
- 向量用来比较语义距离;id 用于更新和删除;来源、权限、版本、时间等 payload 用来过滤和回链。
- ANN 索引让查询不必全表扫
- HNSW、IVF 等索引只访问一部分候选,把大规模近邻搜索的延迟压下来,代价是可能漏掉少量真近邻。
- payload 在检索前划边界
- 权限和租户过滤应进入数据库查询,避免不可见记录参与召回;但过滤条件写错也会像面板一样误伤正确结果。
- 返回的不只是分数
- top-k 应带 id、score 与 payload,方便上层引用、重排序、校验和删除;高相似度本身不是答案。
什么时候用,什么时候不必上向量库
当核心问题是“大规模找最像的几个”,向量库才值得承担额外索引和一致性成本。
适合大规模语义相似搜索RAG 召回、推荐、语义去重、以图搜图和语义缓存;查询与库记录都能转成同维向量。
不适合单用精确键、关系与范围查询订单号、外键联表、金额范围和强事务写入,关系数据库或倒排索引通常更准、更便宜。
怎么用:从写入到可解释取回
写入端和查询端要共享模型、维度、距离度量与 payload 约定。
- 1upsert 记录写入 id、固定维向量和 source / perm / version 等 payload。
- 2建立 ANN 索引选 HNSW / IVF 等结构并记录可调候选范围,不把默认参数当永恒答案。
- 3过滤后取 top-k把租户与权限条件放进查询,返回 id、score、payload 和访问范围。
- 4评测与维护用真实查询测延迟、召回和过滤误伤;文档删除或版本切换时同步更新向量。
同一查询,只改过滤范围
都检索「购买后怎么申请退款」;差别只在 payload 是否正确表达公开可见范围。
正例perm=public → ANN → top-kV02 公开政策进入候选并以 0.93 排第一,结果带 id、来源和分数,可继续交给 RAG。
反例source=faq 误当权限边界正确的 policy 记录被提前过滤,只剩“退款到账时间”这一条偏题 FAQ;降低阈值也救不回已移除的 V02。
快速自测
向量库里 V02 与查询最相似,却始终没有出现在结果中;日志显示 filter=source:faq。第一步该查什么?
继续查证
术语的技术定义和行为以这些一手或权威资料为准。