nano-vector 是我为了彻底搞懂向量检索而写的一个从零实现的向量数据库。目标不是造轮子,而是把 HNSW、量化与持久化这些"黑盒"拆开,代码本身就是文档。
特性
- HNSW 近邻图索引:分层可导航小世界图,亚线性检索。
- 标量量化:把
f32压成u8,内存占用降到 1/4。 - mmap 持久化:索引直接内存映射磁盘文件,启动零反序列化。
- 零依赖核心:核心算法不依赖任何第三方 crate。
为什么做
市面上的向量库要么是黑盒,要么代码庞大到无法通读。我想要一个几千行、能一口气读完的实现,把每个设计决策都讲清楚。配套的深度文章见〔从零实现一个向量数据库〕。
状态
实验性项目,API 仍在演进。欢迎 issue 与 PR。