ANN search engine library for industrial deployment
Top 78.7% on sourcepulse
Puck is a high-performance Approximate Nearest Neighbor (ANN) search engine designed for industrial deployment scenarios with memory and resource constraints. It offers two algorithms, Puck and Tinker, targeting large-scale and smaller datasets respectively, with Python wrappers for ease of use.
How It Works
Puck employs a two-layered inverted index architecture combined with multi-level quantization, compressing vectors to approximately 1/4 of their original size for significant memory savings. Tinker, optimized for smaller datasets, prioritizes search performance by storing similarity relationships, though it requires more memory than Puck. Both algorithms support cosine similarity, L2, and Inner Product distances.
Quick Start & Requirements
make
. Python wrappers are available via setup.py install
(refer to Dockerfile for details).cmake -DCMAKE_BUILD_TYPE=Release -DMKLROOT=${MKLROOT} -DBLA_VENDOR=Intel10_64lp_seq -DBLA_STATIC=ON -B build . && cd build && make && make install
Highlighted Details
Maintenance & Community
Licensing & Compatibility
Limitations & Caveats
2 months ago
1 week