class Qdrant::Api::VectorParams

Overview

Params of single vector data storage

Included Modules

Defined in:

qdrant-api/models/vector_params.cr

Constructors

Instance Method Summary

Macros inherited from module Qdrant::Api::Validation

validates(name, klass, nilable, **rules) validates

Instance methods inherited from module Qdrant::Api::Serializable

eql?(other) eql?, to_body : Hash(String, JSON::Any) to_body, to_h : Hash(String, JSON::Any) to_h, to_s(io : IO) : Nil to_s

Constructor Detail

def self.new(ctx : YAML::ParseContext, node : YAML::Nodes::Node) #

[View source]
def self.new(size : Int32, distance : Distance, hnsw_config : HnswConfigDiff | Nil = nil, quantization_config : QuantizationConfig | Nil = nil, on_disk : Bool | Nil = nil, datatype : Datatype | Nil = nil, multivector_config : MultiVectorConfig | Nil = nil) #

Initializes the object @param [Hash] attributes Model attributes in the form of hash


[View source]
def self.new(pull : JSON::PullParser) #

[View source]
def self.new(*, __pull_for_json_serializable pull : JSON::PullParser) #

[View source]
def self.new(*, __context_for_yaml_serializable ctx : YAML::ParseContext, __node_for_yaml_serializable node : YAML::Nodes::Node) #

[View source]

Instance Method Detail

def ==(other : self) #
Description copied from class Reference

Returns true if this reference is the same as other. Invokes same?.


def datatype : Datatype | Nil #

Defines which datatype should be used to represent vectors in the storage. Choosing different datatypes allows to optimize memory usage and performance vs accuracy. - For float32 datatype - vectors are stored as single-precision floating point numbers, 4 bytes. - For float16 datatype - vectors are stored as half-precision floating point numbers, 2 bytes. - For uint8 datatype - vectors are stored as unsigned 8-bit integers, 1 byte. It expects vector elements to be in range [0, 255]. - For turbo4 datatype - vectors are quantized to 4 bits per element using the TurboQuant algorithm.


[View source]
def datatype=(datatype : Datatype | Nil) #

Defines which datatype should be used to represent vectors in the storage. Choosing different datatypes allows to optimize memory usage and performance vs accuracy. - For float32 datatype - vectors are stored as single-precision floating point numbers, 4 bytes. - For float16 datatype - vectors are stored as half-precision floating point numbers, 2 bytes. - For uint8 datatype - vectors are stored as unsigned 8-bit integers, 1 byte. It expects vector elements to be in range [0, 255]. - For turbo4 datatype - vectors are quantized to 4 bits per element using the TurboQuant algorithm.


[View source]
def distance : Distance #

[View source]
def distance=(distance : Distance) #

[View source]
def hash(hasher) #
Description copied from class Reference

See Object#hash(hasher)


def hnsw_config : HnswConfigDiff | Nil #

Optional properties Custom params for HNSW index. If none - values from collection configuration are used.


[View source]
def hnsw_config=(hnsw_config : HnswConfigDiff | Nil) #

Optional properties Custom params for HNSW index. If none - values from collection configuration are used.


[View source]
def list_invalid_properties #

Show invalid properties with the reasons. Usually used together with valid? @return Array for valid properties with the reasons


[View source]
def multivector_config : MultiVectorConfig | Nil #

[View source]
def multivector_config=(multivector_config : MultiVectorConfig | Nil) #

[View source]
def on_disk : Bool | Nil #

If true, vectors are served from disk, improving RAM usage at the cost of latency Default: false


[View source]
def on_disk=(on_disk : Bool | Nil) #

If true, vectors are served from disk, improving RAM usage at the cost of latency Default: false


[View source]
def quantization_config : QuantizationConfig | Nil #

Custom params for quantization. If none - values from collection configuration are used.


[View source]
def quantization_config=(quantization_config : QuantizationConfig | Nil) #

Custom params for quantization. If none - values from collection configuration are used.


[View source]
def size : Int32 #

Required properties Size of a vectors used


[View source]
def size=(value : Int32) #

Required properties Size of a vectors used


[View source]
def size_validation_error(value) : String | Nil #

[View source]
def valid? #

Check to see if the all the properties in the model are valid @return true if the model is valid


[View source]