class AnndbApi::VectorDataset
Public Class Methods
new(server_addr, rpc_metadata)
click to toggle source
# File lib/anndb_api/vector_dataset.rb, line 10 def initialize(server_addr, rpc_metadata) @rpc_metadata = rpc_metadata @stub = AnndbApiPb::VectorDataset::Stub.new(server_addr, GRPC::Core::ChannelCredentials.new()) end
Public Instance Methods
insert(vector, metadata = {})
click to toggle source
# File lib/anndb_api/vector_dataset.rb, line 15 def insert(vector, metadata = {}) format_dataset_op_result_single @stub.insert(AnndbApiPb::VectorDatasetRequest.new(items: [ AnndbApiPb::VectorItem.new( vector: AnndbApiPb::Vector.new(values: vector), metadata: format_req_metadata(metadata) ) ]), { metadata: @rpc_metadata }) end
insert_batch(items)
click to toggle source
# 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: format_req_metadata(item.fetch(:metadata, {})) ) }), { metadata: @rpc_metadata }) end
search(query, n)
click to toggle source
# 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 = {})
click to toggle source
# File lib/anndb_api/vector_dataset.rb, line 34 def update(id, vector, metadata = {}) 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: format_req_metadata(metadata) ) ]), { metadata: @rpc_metadata }) end
update_batch(items)
click to toggle source
# 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: format_req_metadata(item.fetch(:metadata, {})) ) }), { metadata: @rpc_metadata }) end