选型指南 架构设计 含可复制代码

向量索引怎么选:HNSW、IVF 与量化索引的取舍

目录层用 SSG 加 ISR 拿收录,工具层用一份 JSON Schema 承接 91 个站内工具,密钥、计费与限流全部收口在国内业务后端,模型调用统一走一层薄适配。这篇把我们真实的目录结构、Schema 字段定义、路由闸门、预扣结算伪代码和合规清单完整摊开。

陈
陈默架构组
2026-09-28 · 14 分钟阅读 · 8,432 次浏览

选索引就是选一种取舍:要快、要准、要省,最多同时满足两个。

三类主流索引在取舍什么

HNSW(图索引)

· 特点:把向量连成多层邻居图,检索时沿图跳转;

· 优点:召回率高、延迟低,最省心;

· 代价:内存占用大(图结构本身要常驻内存),构建慢,删除/更新代价高。

IVF(倒排 + 聚类)

· 特点:先用聚类把向量分桶,检索时只扫最相近的几个桶;

· 优点:内存友好、可按桶并行,数据量大时成本可控;

· 代价:桶边界附近的向量容易被漏掉 → 需要调 nprobe(扫几个桶),召回率与延迟直接对冲。

量化索引(PQ / SQ / 二值)

· 特点:把向量压缩成更短的编码(乘积量化/标量量化);

· 优点:内存能降一个数量级,适合千万级以上;

· 代价:距离是近似的,通常要配合「先粗筛再精排」两段式,否则精度损失明显。

按数据规模的判断顺序

1. 十万以内:直接用 HNSW(或数据库默认索引),别过早优化;

2. 百万级:HNSW + 标量量化(SQ)通常是性价比最高的组合;

3. 千万级以上或内存受限:IVF-PQ 或磁盘型索引,并接受「粗筛 + 精排」的两段式结构;

4. 更新非常频繁:优先选支持增量更新的方案,不要为了召回率选一个「重建一次要几小时」的索引。

三个容易踩的坑

· 先过滤再检索:带业务条件(时间、租户、类目)的查询,如果先过滤再向量检索,过滤后的集合可能很小,图索引会退化成近似全扫;正确做法通常是「向量检索取较多候选 → 再按条件过滤 → 精排」;

· 只看平均延迟:要看 P95/P99。图索引的尾延迟受入口点选择影响,均值好看不代表用户不卡;

· 用错相似度:索引是按某种距离构建的(内积或余弦),查询时换成另一种距离,结果会明显变差。建索引与查询必须同一种度量。

怎么验证选型是否合适

准备一份带标注的「查询 → 正确文档」集合(几百条即可),比较三个指标:召回率@K(该出现的有没有出现)、P95 延迟、内存占用。三者与你业务的优先级对齐后,再决定要不要上更复杂的索引——先有度量,再谈调参。

本文由云枢 AI导航整理,内容以官方来源为准。

相关文章

顺序阅读

← 上一篇:模型为什么会「编」:三类幻觉成因与可落地的抑制手段
下一篇:提示词注入是怎么回事:把用户输入当「数据」而不是「指令」 →

第 5 / 171 篇

术语速查 · 本页出现的 12 个词展开看中文名与一句话解释,点术语看完整条目
  • token词元:模型处理文本的最小单位,中文约 1–2 个汉字;计费与上下文长度都按它算。
  • 转写 / 字幕Transcription:把音视频人声逐句变成带时间戳的文字稿,便于做字幕与章节切分。
  • SSE服务器发送事件:服务器通过长连接持续推送增量文本,是对白逐字出现的常见实现。
  • API应用编程接口:程序之间约定的调用方式;站内工具由服务端调用,浏览器里不出现密钥。
  • CDN内容分发网络:把静态资源缓存到离用户更近的节点,缩短加载时间。
  • 缓存Cache:把结果暂存复用,复用得越多平均耗时越低;需要约定过期与刷新策略。
  • 限流Rate Limit:限制单位时间内的请求次数,防止单用户或异常流量打满服务端。
  • SSG静态站点生成:构建阶段就生成 HTML,访问时直接返回,不必每次请求都渲染。
  • ISR增量静态再生:先返回静态页,再在后台按需重新生成,兼顾速度与更新时效。
  • 灰度发布Canary Release:先让一小部分用户用新版本,确认无误再放量,出问题的爆炸半径最小。
  • 提示词Prompt:交给模型的指令文本;写清角色、任务、输入与输出格式比反复试更省。
  • 积分Credits:站内计费单位:按工具单价预扣,调用失败自动退还;单价以定价页为准。

完整解释与站内出现处见 AI 术语表(40 条)。