hora wasm
1.0.0
[หน้าแรก] [เอกสาร] [ตัวอย่าง] [Hora]
การเสนอราคา Javascript สำหรับ Hora Approximate Nearest Neighbor Search
ในลักษณะ WebAssembly
นักแสดง ⚡️
รองรับหลายดัชนี
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)ความน่าเชื่อถือ
Rust
รักษาความปลอดภัยโค้ดทั้งหมดRust
สำหรับ libs ทุกภาษา เช่น Python lib
รองรับหลายระยะทาง ?
Dot Product Distance
Euclidean Distance
Manhattan Distance
Cosine Similarity
มีประสิทธิผล
โดย aws t2.medium (CPU: Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz)
ข้อมูลเพิ่มเติม
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 ( ) ;
} ) ( ) ;
repo ทั้งหมดอยู่ภายใต้ Apache License