rabitqlib 0.0.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,66 @@
1
+ Metadata-Version: 2.4
2
+ Name: rabitqlib
3
+ Version: 0.0.1
4
+ Summary: Reserved package name
5
+ Requires-Python: >=3.10
6
+ Description-Content-Type: text/markdown
7
+
8
+ # The RaBitQ Library
9
+
10
+ > **New:** We have recently open-sourced the GPU implementation of RaBitQ for high-dimensional vector search. See [cuvs_rabitq](https://github.com/Stardust-SJF/cuvs_rabitq/tree/cuvs_ivf_rabitq).
11
+
12
+ The RaBitQ Library provides efficient and lightweight implementations of the RaBitQ quantization algorithm ([1-bit version](https://arxiv.org/abs/2405.12497) and [multi-bit version](https://arxiv.org/abs/2409.09913)) and its applications in high-dimensional vector search. It also provides a [GPU implementation](https://github.com/Stardust-SJF/cuvs_rabitq/tree/cuvs_ivf_rabitq). The core algorithm RaBitQ is based on the research from [VectorDB group](https://vectordb-ntu.github.io/) at Nanyang Technological University, Singapore.
13
+
14
+ The library is developped by Yutong Gou, Jianyang Gao, Yuexuan Xu, Jifan Shi and Zhonghao Yang.
15
+
16
+ The library provides the following key features:
17
+
18
+ * **RaBitQ** - a vector quantization algorithm as a drop-in replacement of binary and scalar quantization, offering an optimal theoretical error bound
19
+ * **RaBitQ for Vector Search** - a reference implementation of RaBitQ's combination with popular vector search indexes
20
+
21
+ RaBitQLib supports estimating similarity metrics including Euclidean distance, inner product and cosine similarity.
22
+
23
+ ## RaBitQ
24
+
25
+ RaBitQ is a vector quantization algorithm as a drop-in replacement of binary and scalar quantization. The key advantages of RaBitQ include
26
+
27
+ - **High Accuracy with Tiny Space** - RaBitQ achieves the state-of-the-art accuracy under diverse bit-width for the estimation of similarity metrics. It produces promising accuracy with even **1-bit per dimension**.
28
+ - **Fast Distance Estimation** - RaBitQ supports to estimate the similarity metrics with high efficiency based on bitwise operations or [FastScan](https://arxiv.org/abs/1704.07355).
29
+ - **Theoretical Error Bound** - RaBitQ provides an asymptotically optimal error bound for the estimation of distances and inner product. The error bound can be used for reliable ordering and reranking.
30
+
31
+ In this library, we provide simple interfaces to support advanced features of RaBitQ. The details are presented in the documentation.
32
+
33
+ ## RaBitQ for Vector Search
34
+ In the library, RaBitQ is combined with IVF, HNSW and QG to deliever different trade-offs among time, space and accuracy.
35
+
36
+ Using RaBitQ with IVF and HNSW targets a balance between memory consumption and query performance. Only the quantization codes produced by RaBitQ are stored and the raw data vectors are not accessed during querying. Thus, these methods consume less memory than the raw dataset.
37
+ Using **4-bit, 5-bit and 7-bit** quantization usually suffices to produce **90%, 95% and 99% recall** respectively without reranking.
38
+
39
+ Using RaBitQ with QG targets the best query performance by using more memory. It creates multiple quantization codes for every vector to optimize the data access pattern. Thus, QG usually consumes 2x memory of the raw dataset.
40
+
41
+ ## RaBitQ in Industry
42
+
43
+ The RaBitQ algorithm has been implemented in many real-world systems in industry including
44
+
45
+ - [Milvus](https://github.com/milvus-io/milvus) - IVF + RaBitQ (C++)
46
+ - [Faiss](https://github.com/facebookresearch/faiss) - IVF + RaBitQ (C++)
47
+ - [VSAG](https://github.com/antgroup/vsag) - HGraph + RaBitQ (C++)
48
+ - [VectorChord](https://github.com/tensorchord/VectorChord) - IVF + RaBitQ (Rust)
49
+ - [Volcengine OpenSearch](https://www.volcengine.com/docs/6465/1553583) - DiskANN + RaBitQ
50
+ - [CockroachDB](https://github.com/cockroachdb/cockroach) - CSPANN + RaBitQ (Golang)
51
+ - [ElasticSearch](https://github.com/elastic/elasticsearch) - HNSW + RaBitQ (Java - the algorithm is adopted with some minor modifications and renamed as "BBQ")
52
+ - [Lucene](https://github.com/apache/lucene) - HNSW + RaBitQ (Java - the algorithm is adopted with some minor modifications and renamed as "BBQ")
53
+ - [turbopuffer](https://turbopuffer.com/blog/ann-v3#:~:text=ANN%20v3%20employs%20the%20RaBitQ) - SPFresh + RaBitQ
54
+
55
+ ## Acknowledgement
56
+
57
+ We acknowledge Alexandr Guzhva, Li Liu, Chao Gao, Silu Huang, Jiabao Jin, Xiaoyao Zhong and Jinjing Zhou for valuable feedbacks.
58
+
59
+ ## Reference
60
+ Please provide a reference of our paper if it helps in your systems or research projects.
61
+
62
+ <pre style="white-space: pre-wrap; word-break: break-word; font-family: monospace; background: #f5f5f5; padding: 1em; border-radius: 5px; font-size: 0.85em;">
63
+ Jianyang Gao, Yutong Gou, Yuexuan Xu, Yongyi Yang, Cheng Long, Raymond Chi-Wing Wong,
64
+ "Practical and Asymptotically Optimal Quantization of High-Dimensional Vectors in Euclidean Space for Approximate Nearest Neighbor Search",
65
+ SIGMOD 2025, available at https://arxiv.org/abs/2409.09913
66
+ </pre>
@@ -0,0 +1,59 @@
1
+ # The RaBitQ Library
2
+
3
+ > **New:** We have recently open-sourced the GPU implementation of RaBitQ for high-dimensional vector search. See [cuvs_rabitq](https://github.com/Stardust-SJF/cuvs_rabitq/tree/cuvs_ivf_rabitq).
4
+
5
+ The RaBitQ Library provides efficient and lightweight implementations of the RaBitQ quantization algorithm ([1-bit version](https://arxiv.org/abs/2405.12497) and [multi-bit version](https://arxiv.org/abs/2409.09913)) and its applications in high-dimensional vector search. It also provides a [GPU implementation](https://github.com/Stardust-SJF/cuvs_rabitq/tree/cuvs_ivf_rabitq). The core algorithm RaBitQ is based on the research from [VectorDB group](https://vectordb-ntu.github.io/) at Nanyang Technological University, Singapore.
6
+
7
+ The library is developped by Yutong Gou, Jianyang Gao, Yuexuan Xu, Jifan Shi and Zhonghao Yang.
8
+
9
+ The library provides the following key features:
10
+
11
+ * **RaBitQ** - a vector quantization algorithm as a drop-in replacement of binary and scalar quantization, offering an optimal theoretical error bound
12
+ * **RaBitQ for Vector Search** - a reference implementation of RaBitQ's combination with popular vector search indexes
13
+
14
+ RaBitQLib supports estimating similarity metrics including Euclidean distance, inner product and cosine similarity.
15
+
16
+ ## RaBitQ
17
+
18
+ RaBitQ is a vector quantization algorithm as a drop-in replacement of binary and scalar quantization. The key advantages of RaBitQ include
19
+
20
+ - **High Accuracy with Tiny Space** - RaBitQ achieves the state-of-the-art accuracy under diverse bit-width for the estimation of similarity metrics. It produces promising accuracy with even **1-bit per dimension**.
21
+ - **Fast Distance Estimation** - RaBitQ supports to estimate the similarity metrics with high efficiency based on bitwise operations or [FastScan](https://arxiv.org/abs/1704.07355).
22
+ - **Theoretical Error Bound** - RaBitQ provides an asymptotically optimal error bound for the estimation of distances and inner product. The error bound can be used for reliable ordering and reranking.
23
+
24
+ In this library, we provide simple interfaces to support advanced features of RaBitQ. The details are presented in the documentation.
25
+
26
+ ## RaBitQ for Vector Search
27
+ In the library, RaBitQ is combined with IVF, HNSW and QG to deliever different trade-offs among time, space and accuracy.
28
+
29
+ Using RaBitQ with IVF and HNSW targets a balance between memory consumption and query performance. Only the quantization codes produced by RaBitQ are stored and the raw data vectors are not accessed during querying. Thus, these methods consume less memory than the raw dataset.
30
+ Using **4-bit, 5-bit and 7-bit** quantization usually suffices to produce **90%, 95% and 99% recall** respectively without reranking.
31
+
32
+ Using RaBitQ with QG targets the best query performance by using more memory. It creates multiple quantization codes for every vector to optimize the data access pattern. Thus, QG usually consumes 2x memory of the raw dataset.
33
+
34
+ ## RaBitQ in Industry
35
+
36
+ The RaBitQ algorithm has been implemented in many real-world systems in industry including
37
+
38
+ - [Milvus](https://github.com/milvus-io/milvus) - IVF + RaBitQ (C++)
39
+ - [Faiss](https://github.com/facebookresearch/faiss) - IVF + RaBitQ (C++)
40
+ - [VSAG](https://github.com/antgroup/vsag) - HGraph + RaBitQ (C++)
41
+ - [VectorChord](https://github.com/tensorchord/VectorChord) - IVF + RaBitQ (Rust)
42
+ - [Volcengine OpenSearch](https://www.volcengine.com/docs/6465/1553583) - DiskANN + RaBitQ
43
+ - [CockroachDB](https://github.com/cockroachdb/cockroach) - CSPANN + RaBitQ (Golang)
44
+ - [ElasticSearch](https://github.com/elastic/elasticsearch) - HNSW + RaBitQ (Java - the algorithm is adopted with some minor modifications and renamed as "BBQ")
45
+ - [Lucene](https://github.com/apache/lucene) - HNSW + RaBitQ (Java - the algorithm is adopted with some minor modifications and renamed as "BBQ")
46
+ - [turbopuffer](https://turbopuffer.com/blog/ann-v3#:~:text=ANN%20v3%20employs%20the%20RaBitQ) - SPFresh + RaBitQ
47
+
48
+ ## Acknowledgement
49
+
50
+ We acknowledge Alexandr Guzhva, Li Liu, Chao Gao, Silu Huang, Jiabao Jin, Xiaoyao Zhong and Jinjing Zhou for valuable feedbacks.
51
+
52
+ ## Reference
53
+ Please provide a reference of our paper if it helps in your systems or research projects.
54
+
55
+ <pre style="white-space: pre-wrap; word-break: break-word; font-family: monospace; background: #f5f5f5; padding: 1em; border-radius: 5px; font-size: 0.85em;">
56
+ Jianyang Gao, Yutong Gou, Yuexuan Xu, Yongyi Yang, Cheng Long, Raymond Chi-Wing Wong,
57
+ "Practical and Asymptotically Optimal Quantization of High-Dimensional Vectors in Euclidean Space for Approximate Nearest Neighbor Search",
58
+ SIGMOD 2025, available at https://arxiv.org/abs/2409.09913
59
+ </pre>
@@ -0,0 +1,6 @@
1
+ [project]
2
+ name = "rabitqlib"
3
+ version = "0.0.1"
4
+ description = "Reserved package name"
5
+ readme = "README.md"
6
+ requires-python = ">=3.10"
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
File without changes
@@ -0,0 +1,66 @@
1
+ Metadata-Version: 2.4
2
+ Name: rabitqlib
3
+ Version: 0.0.1
4
+ Summary: Reserved package name
5
+ Requires-Python: >=3.10
6
+ Description-Content-Type: text/markdown
7
+
8
+ # The RaBitQ Library
9
+
10
+ > **New:** We have recently open-sourced the GPU implementation of RaBitQ for high-dimensional vector search. See [cuvs_rabitq](https://github.com/Stardust-SJF/cuvs_rabitq/tree/cuvs_ivf_rabitq).
11
+
12
+ The RaBitQ Library provides efficient and lightweight implementations of the RaBitQ quantization algorithm ([1-bit version](https://arxiv.org/abs/2405.12497) and [multi-bit version](https://arxiv.org/abs/2409.09913)) and its applications in high-dimensional vector search. It also provides a [GPU implementation](https://github.com/Stardust-SJF/cuvs_rabitq/tree/cuvs_ivf_rabitq). The core algorithm RaBitQ is based on the research from [VectorDB group](https://vectordb-ntu.github.io/) at Nanyang Technological University, Singapore.
13
+
14
+ The library is developped by Yutong Gou, Jianyang Gao, Yuexuan Xu, Jifan Shi and Zhonghao Yang.
15
+
16
+ The library provides the following key features:
17
+
18
+ * **RaBitQ** - a vector quantization algorithm as a drop-in replacement of binary and scalar quantization, offering an optimal theoretical error bound
19
+ * **RaBitQ for Vector Search** - a reference implementation of RaBitQ's combination with popular vector search indexes
20
+
21
+ RaBitQLib supports estimating similarity metrics including Euclidean distance, inner product and cosine similarity.
22
+
23
+ ## RaBitQ
24
+
25
+ RaBitQ is a vector quantization algorithm as a drop-in replacement of binary and scalar quantization. The key advantages of RaBitQ include
26
+
27
+ - **High Accuracy with Tiny Space** - RaBitQ achieves the state-of-the-art accuracy under diverse bit-width for the estimation of similarity metrics. It produces promising accuracy with even **1-bit per dimension**.
28
+ - **Fast Distance Estimation** - RaBitQ supports to estimate the similarity metrics with high efficiency based on bitwise operations or [FastScan](https://arxiv.org/abs/1704.07355).
29
+ - **Theoretical Error Bound** - RaBitQ provides an asymptotically optimal error bound for the estimation of distances and inner product. The error bound can be used for reliable ordering and reranking.
30
+
31
+ In this library, we provide simple interfaces to support advanced features of RaBitQ. The details are presented in the documentation.
32
+
33
+ ## RaBitQ for Vector Search
34
+ In the library, RaBitQ is combined with IVF, HNSW and QG to deliever different trade-offs among time, space and accuracy.
35
+
36
+ Using RaBitQ with IVF and HNSW targets a balance between memory consumption and query performance. Only the quantization codes produced by RaBitQ are stored and the raw data vectors are not accessed during querying. Thus, these methods consume less memory than the raw dataset.
37
+ Using **4-bit, 5-bit and 7-bit** quantization usually suffices to produce **90%, 95% and 99% recall** respectively without reranking.
38
+
39
+ Using RaBitQ with QG targets the best query performance by using more memory. It creates multiple quantization codes for every vector to optimize the data access pattern. Thus, QG usually consumes 2x memory of the raw dataset.
40
+
41
+ ## RaBitQ in Industry
42
+
43
+ The RaBitQ algorithm has been implemented in many real-world systems in industry including
44
+
45
+ - [Milvus](https://github.com/milvus-io/milvus) - IVF + RaBitQ (C++)
46
+ - [Faiss](https://github.com/facebookresearch/faiss) - IVF + RaBitQ (C++)
47
+ - [VSAG](https://github.com/antgroup/vsag) - HGraph + RaBitQ (C++)
48
+ - [VectorChord](https://github.com/tensorchord/VectorChord) - IVF + RaBitQ (Rust)
49
+ - [Volcengine OpenSearch](https://www.volcengine.com/docs/6465/1553583) - DiskANN + RaBitQ
50
+ - [CockroachDB](https://github.com/cockroachdb/cockroach) - CSPANN + RaBitQ (Golang)
51
+ - [ElasticSearch](https://github.com/elastic/elasticsearch) - HNSW + RaBitQ (Java - the algorithm is adopted with some minor modifications and renamed as "BBQ")
52
+ - [Lucene](https://github.com/apache/lucene) - HNSW + RaBitQ (Java - the algorithm is adopted with some minor modifications and renamed as "BBQ")
53
+ - [turbopuffer](https://turbopuffer.com/blog/ann-v3#:~:text=ANN%20v3%20employs%20the%20RaBitQ) - SPFresh + RaBitQ
54
+
55
+ ## Acknowledgement
56
+
57
+ We acknowledge Alexandr Guzhva, Li Liu, Chao Gao, Silu Huang, Jiabao Jin, Xiaoyao Zhong and Jinjing Zhou for valuable feedbacks.
58
+
59
+ ## Reference
60
+ Please provide a reference of our paper if it helps in your systems or research projects.
61
+
62
+ <pre style="white-space: pre-wrap; word-break: break-word; font-family: monospace; background: #f5f5f5; padding: 1em; border-radius: 5px; font-size: 0.85em;">
63
+ Jianyang Gao, Yutong Gou, Yuexuan Xu, Yongyi Yang, Cheng Long, Raymond Chi-Wing Wong,
64
+ "Practical and Asymptotically Optimal Quantization of High-Dimensional Vectors in Euclidean Space for Approximate Nearest Neighbor Search",
65
+ SIGMOD 2025, available at https://arxiv.org/abs/2409.09913
66
+ </pre>
@@ -0,0 +1,7 @@
1
+ README.md
2
+ pyproject.toml
3
+ src/__init__.py
4
+ src/rabitqlib.egg-info/PKG-INFO
5
+ src/rabitqlib.egg-info/SOURCES.txt
6
+ src/rabitqlib.egg-info/dependency_links.txt
7
+ src/rabitqlib.egg-info/top_level.txt
@@ -0,0 +1 @@
1
+ __init__