ScalarQuantizationCompression Class
Contains configuration options specific to the scalar quantization compression method used during indexing and querying.
All required parameters must be populated in order to send to server.
ivar compression_name: The name to associate with this particular configuration. Required.
vartype compression_name: str
ivar kind: The name of the kind of compression method being configured for use with vector search. Required. Known values are: "scalarQuantization" and "binaryQuantization".
vartype kind: str or ~azure.search.documents.indexes.models.VectorSearchCompressionKind
ivar rescoring_options: Contains the options for rescoring.
vartype rescoring_options: ~azure.search.documents.indexes.models.RescoringOptions
ivar truncation_dimension: The number of dimensions to truncate the vectors to. Truncating the vectors reduces the size of the vectors and the amount of data that needs to be transferred during search. This can save storage cost and improve search performance at the expense of recall. It should be only used for embeddings trained with Matryoshka Representation Learning (MRL) such as OpenAI text-embedding-3-large (small). The default value is null, which means no truncation.
vartype truncation_dimension: int
ivar rerank_with_original_vectors: If set to true, once the ordered set of results calculated using compressed vectors are obtained, they will be reranked again by recalculating the full-precision similarity scores. This will improve recall at the expense of latency.
For use with only service version 2024-07-01. If using 2025-09-01 or later, use RescoringOptions.rescoringEnabled.
vartype rerank_with_original_vectors: bool
ivar default_oversampling: Default oversampling factor. Oversampling will internally request more documents (specified by this multiplier) in the initial search. This increases the set of results that will be reranked using recomputed similarity scores from full-precision vectors. Minimum value is 1, meaning no oversampling (1x). This parameter can only be set when rerankWithOriginalVectors is true. Higher values improve recall at the expense of latency.
For use with only service version 2024-07-01. If using 2025-09-01 or later, use RescoringOptions.defaultOversampling.
vartype default_oversampling: float
ivar parameters: Contains the parameters specific to Scalar Quantization.
vartype parameters: ~azure.search.documents.indexes.models.ScalarQuantizationParameters
keyword compression_name:
The name to associate with this particular configuration. Required.
paramtype compression_name:
str
keyword rescoring_options:
Contains the options for rescoring.
paramtype rescoring_options:
~azure.search.documents.indexes.models.RescoringOptions
keyword truncation_dimension:
The number of dimensions to truncate the vectors to. Truncating
the vectors reduces the size of the vectors and the amount of data that needs to be transferred
during search. This can save storage cost and improve search performance at the expense of
recall. It should be only used for embeddings trained with Matryoshka Representation Learning
(MRL) such as OpenAI text-embedding-3-large (small). The default value is null, which means no
truncation.
paramtype truncation_dimension:
int
keyword rerank_with_original_vectors:
If set to true, once the ordered set of results
calculated using compressed vectors are obtained, they will be reranked again by recalculating
the full-precision similarity scores. This will improve recall at the expense of latency.
For use with only service version 2024-07-01. If using 2025-09-01 or later, use RescoringOptions.rescoringEnabled.
paramtype rerank_with_original_vectors: bool
keyword default_oversampling: Default oversampling factor. Oversampling will internally request more documents (specified by this multiplier) in the initial search. This increases the set of results that will be reranked using recomputed similarity scores from full-precision vectors. Minimum value is 1, meaning no oversampling (1x). This parameter can only be set when rerankWithOriginalVectors is true. Higher values improve recall at the expense of latency.
For use with only service version 2024-07-01. If using 2025-09-01 or later, use RescoringOptions.defaultOversampling.
paramtype default_oversampling: float
keyword parameters: Contains the parameters specific to Scalar Quantization.
paramtype parameters: ~azure.search.documents.indexes.models.ScalarQuantizationParameters
Constructor
ScalarQuantizationCompression(*, compression_name: str, rescoring_options: _models.RescoringOptions | None = None, truncation_dimension: int | None = None, rerank_with_original_vectors: bool | None = None, default_oversampling: float | None = None, parameters: _models.ScalarQuantizationParameters | None = None, **kwargs: Any)
Keyword-Only Parameters
| Name | Description |
|---|---|
|
compression_name
Required
|
|
|
rescoring_options
|
Default value: None
|
|
truncation_dimension
|
Default value: None
|
|
rerank_with_original_vectors
|
Default value: None
|
|
default_oversampling
|
Default value: None
|
|
parameters
|
Default value: None
|
Methods
| as_dict |
Return a dict that can be serialized using json.dump. Advanced usage might optionally use a callback as parameter: Key is the attribute name used in Python. Attr_desc is a dict of metadata. Currently contains 'type' with the msrest type and 'key' with the RestAPI encoded key. Value is the current value in this object. The string returned will be used to serialize the key. If the return type is a list, this is considered hierarchical result dict. See the three examples in this file:
If you want XML serialization, you can pass the kwargs is_xml=True. |
| deserialize |
Parse a str using the RestAPI syntax and return a model. |
| enable_additional_properties_sending | |
| from_dict |
Parse a dict using given key extractor return a model. By default consider key extractors (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor and last_rest_key_case_insensitive_extractor) |
| is_xml_model | |
| serialize |
Return the JSON that would be sent to server from this model. This is an alias to as_dict(full_restapi_key_transformer, keep_readonly=False). If you want XML serialization, you can pass the kwargs is_xml=True. |
as_dict
Return a dict that can be serialized using json.dump.
Advanced usage might optionally use a callback as parameter:
Key is the attribute name used in Python. Attr_desc is a dict of metadata. Currently contains 'type' with the msrest type and 'key' with the RestAPI encoded key. Value is the current value in this object.
The string returned will be used to serialize the key. If the return type is a list, this is considered hierarchical result dict.
See the three examples in this file:
attribute_transformer
full_restapi_key_transformer
last_restapi_key_transformer
If you want XML serialization, you can pass the kwargs is_xml=True.
as_dict(keep_readonly: bool = True, key_transformer: ~typing.Callable[[str, dict[str, typing.Any], ~typing.Any], ~typing.Any] = <function attribute_transformer>, **kwargs: ~typing.Any) -> MutableMapping[str, Any]
Parameters
| Name | Description |
|---|---|
|
keep_readonly
|
If you want to serialize the readonly attributes Default value: True
|
|
key_transformer
|
<xref:function>
A key transformer function. |
Returns
| Type | Description |
|---|---|
|
A dict JSON compatible object |
deserialize
Parse a str using the RestAPI syntax and return a model.
deserialize(data: Any, content_type: str | None = None) -> Self
Parameters
| Name | Description |
|---|---|
|
data
Required
|
A str using RestAPI structure. JSON by default. |
|
content_type
|
JSON by default, set application/xml if XML. Default value: None
|
Returns
| Type | Description |
|---|---|
|
An instance of this model |
Exceptions
| Type | Description |
|---|---|
|
DeserializationError
|
if something went wrong |
enable_additional_properties_sending
enable_additional_properties_sending() -> None
from_dict
Parse a dict using given key extractor return a model.
By default consider key extractors (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor and last_rest_key_case_insensitive_extractor)
from_dict(data: Any, key_extractors: Callable[[str, dict[str, Any], Any], Any] | None = None, content_type: str | None = None) -> Self
Parameters
| Name | Description |
|---|---|
|
data
Required
|
A dict using RestAPI structure |
|
key_extractors
|
<xref:function>
A key extractor function. Default value: None
|
|
content_type
|
JSON by default, set application/xml if XML. Default value: None
|
Returns
| Type | Description |
|---|---|
|
An instance of this model |
Exceptions
| Type | Description |
|---|---|
|
DeserializationError
|
if something went wrong |
is_xml_model
is_xml_model() -> bool
serialize
Return the JSON that would be sent to server from this model.
This is an alias to as_dict(full_restapi_key_transformer, keep_readonly=False).
If you want XML serialization, you can pass the kwargs is_xml=True.
serialize(keep_readonly: bool = False, **kwargs: Any) -> MutableMapping[str, Any]
Parameters
| Name | Description |
|---|---|
|
keep_readonly
|
If you want to serialize the readonly attributes Default value: False
|
Returns
| Type | Description |
|---|---|
|
A dict JSON compatible object |