Class: AnndbApi::VectorDataset
- Defined in:
- lib/anndb_api/vector_dataset.rb
Instance Method Summary collapse
-
#initialize(server_addr, rpc_metadata) ⇒ VectorDataset
constructor
A new instance of VectorDataset.
- #insert(vector, metadata = {}) ⇒ Object
- #insert_batch(items) ⇒ Object
- #search(query, n) ⇒ Object
- #update(id, vector, metadata = {}) ⇒ Object
- #update_batch(items) ⇒ Object
Methods inherited from Dataset
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 |