hora wasm
1.0.0
[Beranda] [Dokumen] [Contoh] [Hora]
Penawaran Javascript untuk Hora Approximate Nearest Neighbor Search
, dengan cara WebAssembly .
Berkinerja ⚡️
Dukungan Banyak Indeks
Hierarchical Navigable Small World Graph Index(HNSWIndex)
(detail)Satellite System Graph (SSGIndex)
(detail)Product Quantization Inverted File(PQIVFIndex)
(detail)Random Projection Tree(RPTIndex)
(LSH, WIP)BruteForce (BruteForceIndex)
(implementasi naif dengan SIMD)Keandalan
Rust
mengamankan semua kodeRust
untuk semua lib bahasa seperti Python lib
Dukungan Beberapa Jarak ?
Dot Product Distance
Euclidean Distance
Manhattan Distance
Cosine Similarity
Produktif
oleh aws t2.medium (CPU: Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz)
informasi lebih lanjut
npm i horajs
import * as horajs from "horajs" ;
const demo = ( ) => {
const dimension = 50 ;
var bf_idx = horajs . BruteForceIndexUsize . new ( dimension ) ;
// var hnsw_idx = horajs.HNSWIndexUsize.new(dimension, 1000000, 32, 64, 20, 500, 16, false);
for ( var i = 0 ; i < 1000 ; i ++ ) {
var feature = [ ] ;
for ( var j = 0 ; j < dimension ; j ++ ) {
feature . push ( Math . random ( ) ) ;
}
bf_idx . add ( feature , i ) ; // add point
}
bf_idx . build ( "euclidean" ) ; // build index
var feature = [ ] ;
for ( var j = 0 ; j < dimension ; j ++ ) {
feature . push ( Math . random ( ) ) ;
}
console . log ( "bf result" , bf_idx . search ( feature , 10 ) ) ; //bf result Uint32Array(10) [704, 113, 358, 835, 408, 379, 117, 414, 808, 826]
}
( async ( ) => {
await horajs . default ( ) ;
await horajs . init_env ( ) ;
demo ( ) ;
} ) ( ) ;
Seluruh repo berada di bawah Lisensi Apache.