QualityRankembedMustangMustangRankEmbedInfo

GoogleApi.ContentWarehouse.V1.Model.QualityRankembedMustangMustangRankEmbedInfo


Table of Contents ▼

Jump to a specific part of the page:

Description

Used as Mustang attachment DO NOT: - ACCESS THE PROTO FIELDS DIRECTLY - USE THE DECODING LIBRARY IN quality/rankembed/mustang/fixed_point_decoding_helpers.h INSTEAD. - USE HARDCODED MustangRankEmbedInfo TEXT PROTOS IN TESTS! USE quality/rankembed/test_utils/mustang_rankembed_info_utils.h INSTEAD.

Attributes List

This module has the following attributes (case-insensitive ascending order):

View Attributes

Attributes

  1. additionalFixedPointEncodings (type: list(String.t), default: nil)
    - Each of the repeated elements in this field has the same scheme as 'fixed_point_encoding'; See go/rankembed-astro-rule-set-dd
  2. compressedDocumentEmbedding (type: GoogleApi.ContentWarehouse.V1.Model.QualityRankembedMustangMustangRankEmbedInfoCompressedEmbedding, default: nil)
    - Each uint64 encodes 8 8-bit values for the quantized document embedding
  3. fixedPointEncoding (type: String.t, default: nil)
    - This field replaces the above 3 "per-encoding-type-fields", where the encoding type (and the embedding type) are part of the encoding, and is stored in the first byte. The remaining bytes are the same as the previous 3 fields, but shifted by 1 byte. - byte[0]: encoding type & embedding type - byte[1....]: similar to the above depending on the encoding type.
  4. scaledFixedPoint4Encoding (type: String.t, default: nil)
    - - byte[0]: version - bytes[1...4]: scalar - bytes[5,...]: the values, one byte per 2 values
  5. scaledFixedPoint8Encoding (type: String.t, default: nil)
    - - byte[0]: version - bytes[1...4]: scalar - bytes[5,...]: the values, one byte per value
  6. scaledShiftedFixedPoint4Encoding (type: String.t, default: nil)
    - - byte[0]: version - bytes[1...4]: scalar - bytes[5...8]: shift - bytes[9,...]: the values, one byte per 2 values
  7. versionAndImprovInfo (type: integer(), default: nil)
    - First 7 bits encode the version, then each chunk of 5 bits encode the index of a potential improv query (lsb to msb)
    -------|-----|-----|-----|-----|----- version| id1 | id2 | id3 | id4 | id5 where id1 is the index of the first improv query in the improv debug table. As of cl/270008220, this field only contains the version info. For backward compatibility, version still only uses the first 7 bits, and is still prepended by 5 1 bits.

Type

@type t() :: %GoogleApi.ContentWarehouse.V1.Model.QualityRankembedMustangMustangRankEmbedInfo{
additionalFixedPointEncodings: [String.t()] | nil,
compressedDocumentEmbedding: GoogleApi.ContentWarehouse.V1.Model.QualityRankembedMustangMustangRankEmbedInfoCompressedEmbedding.t() | nil,
fixedPointEncoding: String.t() | nil,
scaledFixedPoint4Encoding: String.t() | nil,
scaledFixedPoint8Encoding: String.t() | nil,
scaledShiftedFixedPoint4Encoding: String.t() | nil,
versionAndImprovInfo: integer() | nil
}

Function

@spec decode(struct(), keyword()) :: struct()

Data sourced from HexDocs : GoogleApi.ContentWarehouse.V1.Model.QualityRankembedMustangMustangRankEmbedInfo