Module: Pgvector::PG

Defined in:
lib/pgvector/pg.rb

Defined Under Namespace

Modules: BinaryDecoder, BinaryEncoder, TextDecoder, TextEncoder

Class Method Summary collapse

Class Method Details

.register_vector(registry) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/pgvector/pg.rb', line 5

def self.register_vector(registry)
  registry.register_type(0, "vector", TextEncoder::Vector, TextDecoder::Vector)
  registry.register_type(1, "vector", BinaryEncoder::Vector, BinaryDecoder::Vector)

  # no binary decoder for halfvec since unpack does not have directive for half-precision
  registry.register_type(0, "halfvec", TextEncoder::Halfvec, TextDecoder::Halfvec)

  registry.register_type(0, "bit", TextEncoder::Bit, TextDecoder::Bit)
  registry.register_type(1, "bit", BinaryEncoder::Bit, BinaryDecoder::Bit)

  registry.register_type(0, "sparsevec", TextEncoder::Sparsevec, TextDecoder::Sparsevec)
  registry.register_type(1, "sparsevec", BinaryEncoder::Sparsevec, BinaryDecoder::Sparsevec)
end