Class: AnndbApi::TextDataset

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

Instance Method Summary collapse

Methods inherited from Dataset

#delete, #delete_batch

Constructor Details

#initialize(server_addr, rpc_metadata) ⇒ TextDataset

Returns a new instance of TextDataset.



9
10
11
12
# File 'lib/anndb_api/text_dataset.rb', line 9

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

Instance Method Details

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



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

def insert(text,  = {})
    format_dataset_op_result_single @stub.insert(AnndbApiPb::TextDatasetRequest.new(items: [
        AnndbApiPb::TextItem.new(
            text: text,
            metadata: ()
            )
        ]), { metadata: @rpc_metadata })
end

#insert_batch(items) ⇒ Object



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

def insert_batch(items)
    format_dataset_op_result @stub.insert(AnndbApiPb::TextDatasetRequest.new(items: items.map { |item|
        AnndbApiPb::TextItem.new(
            text: item[:text],
            metadata: (item.fetch(:metadata, {}))
            )

        }), { metadata: @rpc_metadata })
end

#search(query, n) ⇒ Object



53
54
55
# File 'lib/anndb_api/text_dataset.rb', line 53

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

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



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

def update(id, text,  = {})
    format_dataset_op_result_single @stub.update(AnndbApiPb::TextDatasetRequest.new(items: [
        AnndbApiPb::TextItem.new(
            id: AnndbApiPb::UUID.new(data: AnndbApi::Util.uuid_string_to_bytes(id)),
            text: text,
            metadata: ()
            )
        ]), { metadata: @rpc_metadata })
end

#update_batch(items) ⇒ Object



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

def update_batch(items)
    format_dataset_op_result @stub.update(AnndbApiPb::TextDatasetRequest.new(items: items.map { |item|
        AnndbApiPb::TextItem.new(
            id: AnndbApiPb::UUID.new(data: AnndbApi::Util.uuid_string_to_bytes(item[:id])),
            text: item[:text],
            metadata: (item.fetch(:metadata, {}))
            )
        }), { metadata: @rpc_metadata })
end