Skip to content

refactor: integrate configurable RaBitQ quantization into standard HNSW - #38

Open
richyreachy wants to merge 26 commits into
mainfrom
refactor/integrate_rabitq_in_hnsw
Open

richyreachy wants to merge 26 commits into
mainfrom
refactor/integrate_rabitq_in_hnsw

Conversation

@richyreachy

Copy link
Copy Markdown
Owner

Summary

Add RaBitQ as a quantizer option for the standard HNSW index, using the existing original-vector provider for graph construction. This allows HNSW to build from original FP32 vectors while storing RaBitQ-encoded vectors.

  • Support configurable 1–8 bit encoding, defaulting to 7 bits, for L2, inner product, and cosine.
  • Persist quantizer configuration and rotation state for save/reopen.
  • Require an original-vector provider for insertion; reopened indexes can serve queries without one.
  • Add an optional-OpenMP compatibility patch and document configuration and usage.

The existing standalone HNSW-RaBitQ index remains unchanged. This implementation uses zero-centered, training-free quantization and scalar distance kernels.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant