Hora 0.1.1, an blazingly fast AI Similarity search algorithm library

Hora 0.1.1, an blazingly fast AI Similarity search algorithm library


Hora is an approximate nearest neighbor search algorithm (wiki) library. We implement all code in Rust๐Ÿฆ€ for reliability, high level abstraction and high speeds comparable to C++.

Hora, ใ€Œใปใ‚‰ใ€in Japanese, sounds like [hลlษ™], and means Wow, You see!or Look at that!. The name is inspired by a famous Japanese song ใ€Œๅฐใ•ใชๆ‹ใฎใ†ใŸใ€ .



Python library:

Javascript library:

you can easily install horapy:

pip install -U horapy 

here is our online demo (you can find it on our homepage)

๐Ÿ‘ฉ Face-Match [online demo] (have a try!)

๐Ÿท Dream wine comments search [online demo] (have a try!)

Hora is blazingly fast, benchmark (compare with Faiss and Annoy)

usage is also very simple:

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)"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 {} nhas neighbors: {}".format( target, index,[target], 10))) # search 

we are pretty glad to have you participate, any contributions are welcome, including the documentation and tests. We use GitHub issues for tracking suggestions and bugs, you can do the Pull Requests, Issue on the github, and we will review it as soon as possible.


submitted by /u/aljun_invictus
[visit reddit] [comments]

Leave a Reply

Your email address will not be published. Required fields are marked *