关于 vector-index-tuning
面向向量检索工程师的索引调优指南,介绍索引类型、HNSW 参数与量化方式,帮助权衡召回率、延迟和内存使用。
主要功能
- 01索引类型选择建议
- 02HNSW 参数说明
- 03量化类型对比
- 04模板与详细示例
- 05生产环境调优实践
适用场景
- 01降低向量搜索延迟
- 02减少索引内存占用
- 03权衡检索召回率与速度
- 04规划大规模向量索引
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ wshobson/ agents --skill vector-index-tuning安装后在 Claude Code 中输入/vector-index-tuning确认已加载。
附带文件references/details.md
详细介绍
向量索引调优
面向生产性能的向量索引优化指南。
何时使用本技能
- 调优 HNSW 参数
- 实现量化
- 优化内存占用
- 降低搜索延迟
- 平衡召回率与速度
- 扩展到数十亿向量
核心概念
1. 索引类型选择
Data Size Recommended Index
────────────────────────────────────────
< 10K vectors → Flat (exact search)
10K - 1M → HNSW
1M - 100M → HNSW + Quantization
> 100M → IVF + PQ or DiskANN
2. HNSW 参数
| 参数 | 默认值 | 作用 |
|---|---|---|
| M | 16 | 每个节点的连接数,↑ = 更好的召回率,更多内存 |
| efConstruction | 100 | 构建质量,↑ = 更好的索引,构建更慢 |
| efSearch | 50 | 搜索质量,↑ = 更好的召回率,搜索更慢 |
3. 量化类型
Full Precision (FP32): 4 bytes × dimensions
Half Precision (FP16): 2 bytes × dimensions
INT8 Scalar: 1 byte × dimensions
Product Quantization: ~32-64 bytes total
Binary: dimensions/8 bytes
模板与详细示例
完整的模板库和详细的示例位于 references/details.md。需要具体模板时请阅读该文件。
最佳实践
推荐做法
- 使用真实查询进行基准测试 - 合成查询可能无法代表生产环境
- 持续监控召回率 - 可能随数据漂移而下降
- 从默认值开始 - 仅在需要时调优
- 使用量化 - 可显著节省内存
- 考虑分层存储 - 冷热数据分离
避免做法
- 不要过早过度优化 - 先做性能分析
- 不要忽视构建时间 - 索引更新是有成本的
- 不要忘记重建索引 - 为维护做好规划
- 不要跳过预热 - 冷索引速度很慢
评论
支持 Markdown