Skip to content

Commit 6da7ccf

Browse files
committed
Introduce DisableQuantizationBuilder
1 parent f70fcc3 commit 6da7ccf

File tree

5 files changed

+66
-30
lines changed

5 files changed

+66
-30
lines changed

examples/search.rs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
use qdrant_client::qdrant::{
2-
Condition, CreateCollectionBuilder, Distance, Filter, PointStruct, ScalarQuantizationBuilder,
3-
SearchParamsBuilder, SearchPointsBuilder, UpsertPointsBuilder, VectorParamsBuilder,
2+
Condition, CreateCollectionBuilder, DisabledQuantizationBuilder, Distance, Filter, PointStruct,
3+
ScalarQuantizationBuilder, SearchParamsBuilder, SearchPointsBuilder, UpdateCollectionBuilder,
4+
UpsertPointsBuilder, VectorParamsBuilder,
45
};
56
use qdrant_client::{Payload, Qdrant, QdrantError};
67

@@ -81,5 +82,13 @@ async fn main() -> Result<(), QdrantError> {
8182
println!("baz: {}", baz_payload);
8283
// baz: {"qux":"quux"}
8384

85+
// Disable quantization:
86+
client
87+
.update_collection(
88+
UpdateCollectionBuilder::new(collection_name)
89+
.quantization_config(DisabledQuantizationBuilder::new()),
90+
)
91+
.await?;
92+
8493
Ok(())
8594
}

src/builder_ext.rs

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,7 @@ use std::collections::HashMap;
22

33
use crate::qdrant::update_collection_cluster_setup_request::Operation;
44
use crate::qdrant::{
5-
shard_key, AbortShardTransferBuilder, BinaryQuantizationBuilder, ClearPayloadPointsBuilder,
6-
ContextExamplePair, CountPointsBuilder, CreateAliasBuilder, CreateCollectionBuilder,
7-
CreateFieldIndexCollectionBuilder, CreateShardKeyRequestBuilder, DeleteCollectionBuilder,
8-
DeleteFieldIndexCollectionBuilder, DeletePayloadPointsBuilder, DeletePointVectorsBuilder,
9-
DeletePointsBuilder, DeleteShardKey, DeleteShardKeyRequestBuilder,
10-
DeleteSnapshotRequestBuilder, DiscoverBatchPointsBuilder, DiscoverPoints,
11-
DiscoverPointsBuilder, Distance, FacetCountsBuilder, FieldType, GetPointsBuilder,
12-
LookupLocationBuilder, MoveShardBuilder, PayloadExcludeSelector, PayloadIncludeSelector,
13-
PointId, PointStruct, PointVectors, PointsUpdateOperation, ProductQuantizationBuilder,
14-
QuantizationType, QueryBatchPointsBuilder, QueryPointGroupsBuilder, QueryPoints,
15-
QueryPointsBuilder, RecommendBatchPointsBuilder, RecommendExample, RecommendPointGroupsBuilder,
16-
RecommendPoints, RecommendPointsBuilder, RenameAliasBuilder, ReplicaBuilder,
17-
ReplicateShardBuilder, ScalarQuantizationBuilder, ScrollPointsBuilder,
18-
SearchBatchPointsBuilder, SearchMatrixPointsBuilder, SearchPointGroupsBuilder, SearchPoints,
19-
SearchPointsBuilder, SetPayloadPointsBuilder, ShardKey, UpdateBatchPointsBuilder,
20-
UpdateCollectionBuilder, UpdateCollectionClusterSetupRequestBuilder, UpdatePointVectorsBuilder,
21-
UpsertPointsBuilder, Value, VectorParamsBuilder, VectorsSelector, WithLookupBuilder,
5+
shard_key, AbortShardTransferBuilder, BinaryQuantizationBuilder, ClearPayloadPointsBuilder, ContextExamplePair, CountPointsBuilder, CreateAliasBuilder, CreateCollectionBuilder, CreateFieldIndexCollectionBuilder, CreateShardKeyRequestBuilder, DeleteCollectionBuilder, DeleteFieldIndexCollectionBuilder, DeletePayloadPointsBuilder, DeletePointVectorsBuilder, DeletePointsBuilder, DeleteShardKey, DeleteShardKeyRequestBuilder, DeleteSnapshotRequestBuilder, DisabledQuantizationBuilder, DiscoverBatchPointsBuilder, DiscoverPoints, DiscoverPointsBuilder, Distance, FacetCountsBuilder, FieldType, GetPointsBuilder, LookupLocationBuilder, MoveShardBuilder, PayloadExcludeSelector, PayloadIncludeSelector, PointId, PointStruct, PointVectors, PointsUpdateOperation, ProductQuantizationBuilder, QuantizationType, QueryBatchPointsBuilder, QueryPointGroupsBuilder, QueryPoints, QueryPointsBuilder, RecommendBatchPointsBuilder, RecommendExample, RecommendPointGroupsBuilder, RecommendPoints, RecommendPointsBuilder, RenameAliasBuilder, ReplicaBuilder, ReplicateShardBuilder, ScalarQuantizationBuilder, ScrollPointsBuilder, SearchBatchPointsBuilder, SearchMatrixPointsBuilder, SearchPointGroupsBuilder, SearchPoints, SearchPointsBuilder, SetPayloadPointsBuilder, ShardKey, UpdateBatchPointsBuilder, UpdateCollectionBuilder, UpdateCollectionClusterSetupRequestBuilder, UpdatePointVectorsBuilder, UpsertPointsBuilder, Value, VectorParamsBuilder, VectorsSelector, WithLookupBuilder
226
};
237

248
impl VectorParamsBuilder {
@@ -54,6 +38,13 @@ impl BinaryQuantizationBuilder {
5438
}
5539
}
5640

41+
impl DisabledQuantizationBuilder {
42+
pub fn new() -> Self {
43+
let builder = Self::empty();
44+
builder
45+
}
46+
}
47+
5748
impl SearchPointsBuilder {
5849
pub fn new(
5950
collection_name: impl Into<String>,
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
use crate::qdrant::*;
2+
3+
#[derive(Clone)]
4+
pub struct DisabledQuantizationBuilder {}
5+
6+
impl DisabledQuantizationBuilder {
7+
pub fn empty() -> Self {
8+
Self {}
9+
}
10+
11+
fn build_inner(self) -> Disabled {
12+
Disabled {}
13+
}
14+
}
15+
16+
impl From<DisabledQuantizationBuilder> for Disabled {
17+
fn from(value: DisabledQuantizationBuilder) -> Self {
18+
value.build_inner()
19+
}
20+
}
21+
22+
impl DisabledQuantizationBuilder {
23+
/// Builds the desired type. Can often be omitted.
24+
pub fn build(self) -> Disabled {
25+
self.build_inner()
26+
}
27+
}

src/builders/mod.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ pub use wal_config_diff_builder::WalConfigDiffBuilder;
2222
mod optimizers_config_diff_builder;
2323
pub use optimizers_config_diff_builder::OptimizersConfigDiffBuilder;
2424

25+
mod disabled_quantization_builder;
26+
pub use disabled_quantization_builder::DisabledQuantizationBuilder;
27+
2528
mod scalar_quantization_builder;
2629
pub use scalar_quantization_builder::ScalarQuantizationBuilder;
2730

src/grpc_conversions/mod.rs

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,17 @@ use crate::qdrant::{
1111
update_collection_cluster_setup_request, vector_example, vectors_config, vectors_config_diff,
1212
with_payload_selector, with_vectors_selector, AbortShardTransfer, AbortShardTransferBuilder,
1313
AliasOperations, BinaryQuantization, BinaryQuantizationBuilder, Condition, CreateAlias,
14-
CreateShardKey, DeleteAlias, DeleteShardKey, Disabled, FieldCondition, Filter, GeoLineString,
15-
GeoPoint, GroupId, HasIdCondition, IsEmptyCondition, IsNullCondition, ListValue, Match,
16-
MoveShard, MoveShardBuilder, NestedCondition, PayloadExcludeSelector, PayloadIncludeSelector,
17-
PointId, PointsIdsList, PointsSelector, PointsUpdateOperation, ProductQuantization,
18-
ProductQuantizationBuilder, QuantizationConfig, QuantizationConfigDiff, ReadConsistency,
19-
RenameAlias, Replica, ReplicateShard, ReplicateShardBuilder, RestartTransfer,
20-
ScalarQuantization, ScalarQuantizationBuilder, ShardKey, ShardKeySelector, SparseIndexConfig,
21-
SparseVectorParams, StartFrom, Struct, TargetVector, Value, Vector, VectorExample,
22-
VectorParams, VectorParamsBuilder, VectorParamsDiff, VectorParamsDiffBuilder,
23-
VectorParamsDiffMap, VectorParamsMap, VectorsConfig, VectorsConfigDiff, VectorsSelector,
24-
WithPayloadSelector, WithVectorsSelector,
14+
CreateShardKey, DeleteAlias, DeleteShardKey, Disabled, DisabledQuantizationBuilder,
15+
FieldCondition, Filter, GeoLineString, GeoPoint, GroupId, HasIdCondition, IsEmptyCondition,
16+
IsNullCondition, ListValue, Match, MoveShard, MoveShardBuilder, NestedCondition,
17+
PayloadExcludeSelector, PayloadIncludeSelector, PointId, PointsIdsList, PointsSelector,
18+
PointsUpdateOperation, ProductQuantization, ProductQuantizationBuilder, QuantizationConfig,
19+
QuantizationConfigDiff, ReadConsistency, RenameAlias, Replica, ReplicateShard,
20+
ReplicateShardBuilder, RestartTransfer, ScalarQuantization, ScalarQuantizationBuilder,
21+
ShardKey, ShardKeySelector, SparseIndexConfig, SparseVectorParams, StartFrom, Struct,
22+
TargetVector, Value, Vector, VectorExample, VectorParams, VectorParamsBuilder,
23+
VectorParamsDiff, VectorParamsDiffBuilder, VectorParamsDiffMap, VectorParamsMap, VectorsConfig,
24+
VectorsConfigDiff, VectorsSelector, WithPayloadSelector, WithVectorsSelector,
2525
};
2626

2727
impl From<Vec<PointId>> for PointsSelector {
@@ -450,6 +450,12 @@ impl From<BinaryQuantizationBuilder> for quantization_config_diff::Quantization
450450
}
451451
}
452452

453+
impl From<DisabledQuantizationBuilder> for quantization_config_diff::Quantization {
454+
fn from(value: DisabledQuantizationBuilder) -> Self {
455+
Self::Disabled(value.build())
456+
}
457+
}
458+
453459
impl From<ScalarQuantizationBuilder> for quantization_config::Quantization {
454460
fn from(value: ScalarQuantizationBuilder) -> Self {
455461
Self::Scalar(value.build())

0 commit comments

Comments
 (0)