你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

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:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

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
str

A str using RestAPI structure. JSON by default.

content_type
str

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
str

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