Versions in this module Expand all Collapse all v2 v2.17.0 Apr 8, 2026 v2.16.0 Apr 1, 2026 v2.15.1 Mar 29, 2026 v2.15.0 Mar 29, 2026 v2.14.1 Mar 29, 2026 v2.14.0 Mar 29, 2026 v2.13.0 Mar 20, 2026 v2.12.0 Mar 13, 2026 v2.11.0 Mar 13, 2026 v2.10.0 Mar 8, 2026 v2.9.1 Mar 6, 2026 v2.9.0 Mar 6, 2026 v2.8.0 Mar 5, 2026 v2.7.0 Mar 5, 2026 Changes in this version + type BinaryQuantizer struct + Dimension int + Threshold []float32 + Trained bool + func NewBinaryQuantizer(dimension int) *BinaryQuantizer + func (bq *BinaryQuantizer) CompressionRatio() float32 + func (bq *BinaryQuantizer) Decode(encoded []byte) ([]float32, error) + func (bq *BinaryQuantizer) Encode(vector []float32) ([]byte, error) + func (bq *BinaryQuantizer) HammingDistance(a, b []byte) int + func (bq *BinaryQuantizer) Load(r io.Reader) error + func (bq *BinaryQuantizer) Save(w io.Writer) error + func (bq *BinaryQuantizer) SearchBinary(query []byte, database [][]byte, topK int) ([]int, []int) + func (bq *BinaryQuantizer) Train(vectors [][]float32) error + type OptimizedBinaryQuantizer struct + Projections [][]float32 + func NewOptimizedBinaryQuantizer(inputDim, outputDim int) *OptimizedBinaryQuantizer + func (obq *OptimizedBinaryQuantizer) Project(vector []float32) []float32 + type ProductQuantizer struct + Codebooks [][][]float32 + D int + K int + M int + SubDim int + TrainSize int + Trained bool + func NewProductQuantizer(dimension, numSubspaces, numCentroids int) (*ProductQuantizer, error) + func (pq *ProductQuantizer) CompressionRatio() float32 + func (pq *ProductQuantizer) ComputeDistance(codes []byte, query []float32) (float32, error) + func (pq *ProductQuantizer) Decode(codes []byte) ([]float32, error) + func (pq *ProductQuantizer) DeserializeCodebooks(data []byte) error + func (pq *ProductQuantizer) Encode(vector []float32) ([]byte, error) + func (pq *ProductQuantizer) SearchPQ(query []float32, codes [][]byte, topK int) ([]int, []float32) + func (pq *ProductQuantizer) SerializeCodebooks() []byte + func (pq *ProductQuantizer) Train(vectors [][]float32) error + type ScalarQuantizer struct + Dimension int + Max []float32 + Min []float32 + NBits int + Trained bool + func NewScalarQuantizer(dimension int, nbits int) (*ScalarQuantizer, error) + func (sq *ScalarQuantizer) CompressionRatio() float32 + func (sq *ScalarQuantizer) Decode(encoded []byte) ([]float32, error) + func (sq *ScalarQuantizer) Encode(vector []float32) ([]byte, error) + func (sq *ScalarQuantizer) Load(r io.Reader) error + func (sq *ScalarQuantizer) Save(w io.Writer) error + func (sq *ScalarQuantizer) Train(vectors [][]float32) error