WeaviateEx.API.Quantizer.SQConfig (WeaviateEx v0.7.4)

View Source

Scalar Quantization (SQ) configuration.

SQ quantizes each dimension independently, providing a good balance between compression ratio and search accuracy.

Fields

  • :enabled - Whether SQ is enabled (default: true)
  • :cache - Enable vector cache for faster rescoring
  • :rescore_limit - Number of candidates to rescore with original vectors
  • :training_limit - Number of vectors to use for training

Summary

Functions

Parse an SQ configuration from API response.

Create a new SQ configuration.

Convert an SQ configuration to API format.

Types

t()

@type t() :: %WeaviateEx.API.Quantizer.SQConfig{
  cache: boolean() | nil,
  enabled: boolean(),
  rescore_limit: non_neg_integer() | nil,
  training_limit: non_neg_integer() | nil
}

Functions

from_api(map)

@spec from_api(map()) :: t()

Parse an SQ configuration from API response.

Examples

iex> SQConfig.from_api(%{"sq" => %{"enabled" => true, "trainingLimit" => 50_000}})
%SQConfig{enabled: true, training_limit: 50_000}

new(opts \\ [])

@spec new(keyword()) :: t()

Create a new SQ configuration.

Options

  • :enabled - Enable SQ (default: true)
  • :cache - Enable vector cache
  • :rescore_limit - Number of candidates to rescore
  • :training_limit - Number of vectors to train on

Examples

iex> SQConfig.new()
%SQConfig{enabled: true}

iex> SQConfig.new(cache: true, training_limit: 50_000)
%SQConfig{enabled: true, cache: true, training_limit: 50_000}

to_api(config)

@spec to_api(t()) :: map()

Convert an SQ configuration to API format.

Examples

iex> config = SQConfig.new(cache: true, training_limit: 50_000)
iex> SQConfig.to_api(config)
%{"sq" => %{"enabled" => true, "cache" => true, "trainingLimit" => 50_000}}