Class: AnndbApi::ImageDataset

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

Instance Method Summary collapse

Methods inherited from Dataset

#delete, #delete_batch

Constructor Details

#initialize(server_addr, rpc_metadata) ⇒ ImageDataset

Returns a new instance of ImageDataset.



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

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

Instance Method Details

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



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

def insert(image,  = {})
    format_dataset_op_result_single @stub.insert(AnndbApiPb::ImageDatasetRequest.new(items: [
        AnndbApiPb::ImageItem.new(
            image: image_proto(image),
            metadata: ()
            )
        ]), { metadata: @rpc_metadata })
end

#insert_batch(items) ⇒ Object



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

def insert_batch(items)
    format_dataset_op_result @stub.insert(AnndbApiPb::ImageDatasetRequest.new(items: items.map { |item|
        AnndbApiPb::ImageItem.new(
            image: image_proto(item[:image]),
            metadata: (item.fetch(:metadata, {}))
            )
        }), { metadata: @rpc_metadata })
end

#search_image(query, n) ⇒ Object



53
54
55
56
57
58
# File 'lib/anndb_api/image_dataset.rb', line 53

def search_image(query, n)
    format_search_result @stub.search_image(AnndbApiPb::ImageSearchImageRequest.new(
        query: image_proto(query),
        n: n.to_i
        ), { metadata: @rpc_metadata })
end

#search_text(query, n) ⇒ Object



60
61
62
63
64
65
# File 'lib/anndb_api/image_dataset.rb', line 60

def search_text(query, n)
    format_search_result @stub.search_text(AnndbApiPb::ImageSearchTextRequest.new(
        query: query.to_s,
        n: n.to_i
        ), { metadata: @rpc_metadata })
end

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



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

def update(id, image,  = {})
    format_dataset_op_result_single @stub.update(AnndbApiPb::ImageDatasetRequest.new(items: [
        AnndbApiPb::ImageItem.new(
            id: AnndbApiPb::UUID.new(data: AnndbApi::Util.uuid_string_to_bytes(id)),
            image: image_proto(image),
            metadata: ()
            )
        ]), { metadata: @rpc_metadata })
end

#update_batch(items) ⇒ Object



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

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