View Source Vettore.Encoding.Muvera (Vettore v0.3.1)

MUVERA-style fixed dimensional encodings for multi-vector retrieval.

This implements the public FDE boundary: query encodings sum vectors in each partition, document encodings average vectors in each partition, and both use the same deterministic partition configuration.

Link to this section Summary

Functions

Encodes document vectors by averaging projected vectors in each partition.

Encodes query vectors by summing projected vectors in each partition.

Link to this section Types

@type config() :: keyword()
@type normalized_config() :: %{
  dimension: pos_integer(),
  num_repetitions: pos_integer(),
  num_simhash_projections: non_neg_integer(),
  seed: non_neg_integer(),
  projection_dimension: pos_integer(),
  final_projection_dimension: pos_integer() | nil
}
@type vector() :: [number()]

Link to this section Functions

Link to this function

encode_document(vectors, config \\ [])

View Source
@spec encode_document([vector()], config()) :: {:ok, [float()]} | {:error, term()}

Encodes document vectors by averaging projected vectors in each partition.

Link to this function

encode_query(vectors, config \\ [])

View Source
@spec encode_query([vector()], config()) :: {:ok, [float()]} | {:error, term()}

Encodes query vectors by summing projected vectors in each partition.