Class: AnndbApi::VectorDataset

Inherits:
Dataset
  • Object
show all
Defined in:
lib/anndb_api/vector_dataset.rb

Instance Method Summary collapse

Methods inherited from Dataset

#delete, #delete_batch

Constructor Details

#initialize(server_addr, rpc_metadata) ⇒ VectorDataset

Returns a new instance of VectorDataset.



10
11
12
13
# File 'lib/anndb_api/vector_dataset.rb', line 10

def initialize(server_addr, )
    @rpc_metadata = 
    @stub = AnndbApiPb::VectorDataset::Stub.new(server_addr, GRPC::Core::ChannelCredentials.new())
end

Instance Method Details

#insert(vector, metadata = {}) ⇒ Object



15
16
17
18
19
20
21
22
# File 'lib/anndb_api/vector_dataset.rb', line 15

def insert(vector,  = {})
    format_dataset_op_result_single @stub.insert(AnndbApiPb::VectorDatasetRequest.new(items: [
        AnndbApiPb::VectorItem.new(
            vector: AnndbApiPb::Vector.new(values: vector),
            metadata: ()
            )
        ]), { metadata: @rpc_metadata })
end

#insert_batch(items) ⇒ Object



24
25
26
27
28
29
30
31
32
# File 'lib/anndb_api/vector_dataset.rb', line 24

def insert_batch(items)
    format_dataset_op_result @stub.insert(AnndbApiPb::VectorDatasetRequest.new(items: items.map { |item|
        AnndbApiPb::VectorItem.new(
            vector: AnndbApiPb::Vector.new(values: item[:vector]),
            metadata: (item.fetch(:metadata, {}))
            )

        }), { metadata: @rpc_metadata })
end

#search(query, n) ⇒ Object



54
55
56
57
58
59
# File 'lib/anndb_api/vector_dataset.rb', line 54

def search(query, n)
    format_search_result @stub.search(AnndbApiPb::VectorSearchRequest.new(
        query: AnndbApiPb::Vector.new(values: query),
        n: n
        ), { metadata: @rpc_metadata })
end

#update(id, vector, metadata = {}) ⇒ Object



34
35
36
37
38
39
40
41
42
# File 'lib/anndb_api/vector_dataset.rb', line 34

def update(id, vector,  = {})
    format_dataset_op_result_single @stub.update(AnndbApiPb::VectorDatasetRequest.new(items: [
        AnndbApiPb::VectorItem.new(
            id: AnndbApiPb::UUID.new(data: AnndbApi::Util.uuid_string_to_bytes(id)),
            vector: AnndbApiPb::Vector.new(values: vector),
            metadata: ()
            )
        ]), { metadata: @rpc_metadata })
end

#update_batch(items) ⇒ Object



44
45
46
47
48
49
50
51
52
# File 'lib/anndb_api/vector_dataset.rb', line 44

def update_batch(items)
    format_dataset_op_result @stub.update(AnndbApiPb::VectorDatasetRequest.new(items: items.map { |item|
        AnndbApiPb::VectorItem.new(
            id: AnndbApiPb::UUID.new(data: AnndbApi::Util.uuid_string_to_bytes(item[:id])),
            vector: AnndbApiPb::Vector.new(values: item[:vector]),
            metadata: (item.fetch(:metadata, {}))
            )
        }), { metadata: @rpc_metadata })
end