首页/AI/RAG 与向量库速查/FAISS HNSW 使用与保存
本包目录(229 条)
架构与流程30 条解析与切分33 条Embedding 与检索50 条
向量数据库49 条
重排与生成32 条评估与优化35 条

FAISS HNSW 使用与保存

FAISS 的 IndexHNSWFlat 在进程内提供图索引检索:构建后可在查询时调 efSearch;索引通过 write_index / read_index 保存与加载,注意保存的是索引结构而非原始数据源。

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

构建、保存、加载

构建、保存、加载
import faiss, numpy as np

d = 384
index = faiss.IndexHNSWFlat(d, 32)
index.hnsw.efConstruction = 200
xb = np.random.rand(200000, d).astype("float32")
index.add(xb)
index.hnsw.efSearch = 64
faiss.write_index(index, "kb_hnsw.faiss")

loaded = faiss.read_index("kb_hnsw.faiss")
print(loaded.ntotal)
索引文件与库版本强相关:升级 faiss 前先在测试环境验证可加载性。

易错点

  • 保存索引前未 add 全部数据,恢复后数量对不上
  • 跨版本直接加载索引文件,兼容性问题可能在运行时报错

数据来源与参考

  • FAISS wiki(HNSW / write_index)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌