Sooua
登录
返回项目列表
个人项目·

nano-vector

一个用 Rust 写的极简向量数据库,支持 HNSW 索引与磁盘持久化。

#Rust#向量检索#HNSW#数据库
nano-vector

nano-vector 是我为了彻底搞懂向量检索而写的一个从零实现的向量数据库。目标不是造轮子,而是把 HNSW、量化与持久化这些"黑盒"拆开,代码本身就是文档。

特性

  • HNSW 近邻图索引:分层可导航小世界图,亚线性检索。
  • 标量量化:把 f32 压成 u8,内存占用降到 1/4。
  • mmap 持久化:索引直接内存映射磁盘文件,启动零反序列化。
  • 零依赖核心:核心算法不依赖任何第三方 crate。

为什么做

市面上的向量库要么是黑盒,要么代码庞大到无法通读。我想要一个几千行、能一口气读完的实现,把每个设计决策都讲清楚。配套的深度文章见〔从零实现一个向量数据库〕。

状态

实验性项目,API 仍在演进。欢迎 issue 与 PR。