horapy
1.0.0
[主页] [文档] [示例] [Hora]
用于Hora Approximate Nearest Neighbor Search
的 Python 绑定
表现出色⚡️
多索引支持
Hierarchical Navigable Small World Graph Index(HNSWIndex)
(详细)Satellite System Graph (SSGIndex)
(详细)Product Quantization Inverted File(PQIVFIndex)
(详细)Random Projection Tree(RPTIndex)
(LSH,WIP)BruteForce (BruteForceIndex)
(使用 SIMD 的简单实现)便携的
no_std
(WIP,部分)Windows
、 Linux
和OS X
IOS
和Android
(WIP)BLAS
可靠性
Rust
编译器保护所有代码Rust
管理的内存多距离支持?
Dot Product Distance
Euclidean Distance
Manhattan Distance
Cosine Similarity
富有成效
作者aws t2.medium (CPU: Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz)
更多信息
pip install horapy
import numpy as np
from horapy import HNSWIndex
dimension = 50
n = 1000
# init index instance
index = HNSWIndex ( dimension , "usize" )
samples = np . float32 ( np . random . rand ( n , dimension ))
for i in range ( 0 , len ( samples )):
# add node
index . add ( np . float32 ( samples [ i ]), i )
index . build ( "euclidean" ) # build index
target = np . random . randint ( 0 , n )
# 410 in Hora ANNIndex <HNSWIndexUsize> (dimension: 50, dtype: usize, max_item: 1000000, n_neigh: 32, n_neigh0: 64, ef_build: 20, ef_search: 500, has_deletion: False)
# has neighbors: [410, 736, 65, 36, 631, 83, 111, 254, 990, 161]
print ( "{} in {} n has neighbors: {}" . format (
target , index , index . search ( samples [ target ], 10 ))) # search
整个存储库均遵循 Apache 许可证。