Discover HNSW (Hierarchical Navigable Small World) vector search with hnsw-scala. This repository provides a range of implementations, parameter tuning examples, and benchmarks, enabling you to efficiently integrate advanced vector search capabilities into your Scala applications.
Explore powerful vector search capabilities with hnsw-scala, featuring advanced implementations of the HNSW algorithm. Designed for efficiency and high performance, this repository includes thorough components to help you harness the potential of approximate nearest neighbor search.
With hnsw-scala, you have access to different implementations of the HNSW algorithm:
| Implementation | Description | Path |
|---|---|---|
| Ref | The reference implementation from HNSW paper | RefHnsw.scala |
Enhance your search capabilities by fine-tuning parameters. Refer to the tuning example provided in ExampleIntVecL2DF.scala for insights on how to optimize performance based on your specific use cases.
Experience exceptional performance with our benchmarks conducted on a MacBook Pro with an Apple M1 Pro and 16GB RAM:
bin/sbt "bench/Jmh/run -i 10 -wi 2 -f1 -t10 -rf text"
The results from these benchmarks demonstrate impressive throughput:
Benchmark Mode Cnt Score Error Units
RefHnswBench100000Vectors5Neighbors.query thrpt 10 8483.214 ± 240.390 ops/s
With hnsw-scala, you are equipped with reliable tools for implementing efficient and scalable vector search algorithms. Dive into the project, enhance your applications, and leverage the power of HNSW for your nearest neighbor search tasks!
No comments yet.
Sign in to be the first to comment.