Expand description
Temperature-tiered vector quantization for the RuVector Format (RVF).
Provides three quantization levels mapped to temperature tiers:
| Tier | Quantization | Compression |
|---|---|---|
| Hot | Scalar (int8) | 4x |
| Warm | Product (PQ) | 8-16x |
| Cold | Binary (1-bit) | 32x |
The rabitq module provides a RaBitQ-style 1-bit codec (centroid
centering + seeded random rotation + correction scalars) with an
asymmetric distance estimator, intended for two-stage
(scan-then-rescore) search at ~32x code compression.
A Count-Min Sketch tracks per-block access frequency to drive promotion/demotion decisions.
Re-exports§
pub use binary::decode_binary;pub use binary::encode_binary;pub use binary::hamming_distance;pub use product::ProductQuantizer;pub use rabitq::RabitqCode;pub use rabitq::RabitqQuantizer;pub use rabitq::RabitqQuery;pub use scalar::ScalarQuantizer;pub use sketch::CountMinSketch;pub use tier::TemperatureTier;pub use traits::Quantizer;
Modules§
- binary
- Binary Quantization — 32x compression (1 bit per dimension).
- codec
- QUANT_SEG and SKETCH_SEG wire format codec.
- product
- Product Quantization (PQ) — 8-16x compression.
- rabitq
- RaBitQ-style binary quantization (Gao & Long, SIGMOD 2024).
- scalar
- Scalar Quantization (SQ) — fp32 to u8, 4x compression.
- sketch
- Count-Min Sketch for temperature tracking.
- tier
- Temperature tier assignment for vector blocks.
- traits
- Common quantization trait shared by all quantizer types.