horapy
1.0.0
[Page d'accueil] [Document] [Exemples] [Hora]
Liaison Python pour la Hora Approximate Nearest Neighbor Search
Performant ⚡️
Prise en charge de plusieurs index
Hierarchical Navigable Small World Graph Index(HNSWIndex)
(détail)Satellite System Graph (SSGIndex)
(détail)Product Quantization Inverted File(PQIVFIndex)
(détail)Random Projection Tree(RPTIndex)
(LSH, WIP)BruteForce (BruteForceIndex)
(implémentation naïve avec SIMD)Portable
no_std
(WIP, partiel)Windows
, Linux
et OS X
IOS
et Android
(WIP)BLAS
Fiabilité
Rust
sécurise tout le codeRust
Prise en charge de plusieurs distances ?
Dot Product Distance
Euclidean Distance
Manhattan Distance
Cosine Similarity
Productif
par aws t2.medium (CPU: Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz)
plus d'informations
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
L'intégralité du dépôt est sous licence Apache.