14 个稳定版本
2.2.2 | 2024年5月18日 |
---|---|
2.1.6 | 2023年12月8日 |
2.1.5 | 2023年11月22日 |
1.14.8 | 2022年9月3日 |
1.11.6 | 2020年5月27日 |
#549 in 科学
41 每月下载量
用于 ngt
2MB
13K SLoC
ngt-rs
Rust 对 NGT 的封装,该库提供了在高度维度的向量数据空间(几十到几千维)中对大量数据进行高速近似最近邻搜索的功能。向量数据可以是 f32
、u8
或 f16。
此 crate 提供以下索引
通过 quantized
Cargo 功能可以访问这两种量化索引。请注意,它们依赖于 BLAS
和 LAPACK
,因此必须本地安装。此外,通过使用 qg_optim
Cargo 功能,可以 提高 QgIndex
的性能。
NgtIndex
默认实现是 ANNG。可以通过 optim
模块进行优化[^3] 或转换为 ONNG。
默认情况下,ngt-rs
将动态构建,这需要使用 CMake
构建NGT。这意味着您需要将构建工件 libngt.so
可用于您的最终二进制文件(参见CI中的示例)。然而,静态
功能将静态构建和链接NGT。请注意,OpenMP
也将被静态链接。如果使用 量化
功能,那么 BLAS
和 LAPACK
库也将被静态链接。
NGT的共享内存和大数据集功能分别通过Cargo功能shared_mem
和large_data
提供。
[^1]: 图和树方法说明
[^2]: 基于量化的图方法说明
[^3]: Python中的NGT索引优化示例