google-cloud-vector_search-v1 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 981d1b77e97d48db02cea8ba3157846fb2c77acd5e1426abc502ce7f0c0a52c5
4
- data.tar.gz: cc1555e5ee3b500a0ca97aa5d6458c31be5ad2f24e2a4d4a3fe241c0690fd615
3
+ metadata.gz: 74fa3e8b8f3d2df7fc014ea3ece2d5cb0b816d8a377ae854e0873d1aa525bbf3
4
+ data.tar.gz: 51fc57533fb74950da8e27fd3156e729414ae053fbaf9304d205219617ff75d1
5
5
  SHA512:
6
- metadata.gz: afc932b2142b3a2df30b308bcc720c98db0cc4ff46cb67437662b80f3827b409f05884a671e6c2a5b23c931b73671712ee49ddd144f661fae06ec84b4c63380e
7
- data.tar.gz: 8ec4c67c6826a6f54716f55cb2442401c6ca2c8ae1983c2e69e3da3043e1716c88d63825e29d18b123bdedefc550a534738517a2e45fd779bfe51a9c3aec6db3
6
+ metadata.gz: 85d70633a81ccc0837f7687b77759e5536d945591e5c1f74f1f3d96e9c533889d6db97340f6cd1fcdcdfb12059b0abe6bedc9c3c866b04da0c1d92c5113987b7
7
+ data.tar.gz: 384e782c4e8434afcaa8a1cbdccc321fecef974727c897f7ae82a6d72d194944864b15d2962aa3ae5a5351bd0e0e093380614178c2a1f44b20ef767ab7742ee7
data/README.md CHANGED
@@ -2,7 +2,6 @@
2
2
 
3
3
  The Vector Search API provides a fully-managed, highly performant, and scalable vector database designed to power next-generation search, recommendation, and generative AI applications. It allows you to store, index, and query your data and its corresponding vector embeddings through a simple, intuitive interface. With Vector Search, you can define custom schemas for your data, insert objects with associated metadata, automatically generate embeddings from your data, and perform fast approximate nearest neighbor (ANN) searches to find semantically similar items at scale.
4
4
 
5
- The Vector Search API provides a fully-managed, highly performant, and scalable vector database designed to power next-generation search, recommendation, and generative AI applications. It allows you to store, index, and query your data and its corresponding vector embeddings through a simple, intuitive interface. With Vector Search, you can define custom schemas for your data, insert objects with associated metadata, automatically generate embeddings from your data, and perform fast approximate nearest neighbor (ANN) searches to find semantically similar items at scale.
6
5
 
7
6
  https://github.com/googleapis/google-cloud-ruby
8
7
 
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module VectorSearch
23
23
  module V1
24
- VERSION = "0.1.0"
24
+ VERSION = "0.3.0"
25
25
  end
26
26
  end
27
27
  end
@@ -14,7 +14,7 @@ require 'google/cloud/vectorsearch/v1/embedding_config_pb'
14
14
  require 'google/protobuf/struct_pb'
15
15
 
16
16
 
17
- descriptor_data = "\n=google/cloud/vectorsearch/v1/data_object_search_service.proto\x12\x1cgoogle.cloud.vectorsearch.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a)google/cloud/vectorsearch/v1/common.proto\x1a.google/cloud/vectorsearch/v1/data_object.proto\x1a\x33google/cloud/vectorsearch/v1/embedding_config.proto\x1a\x1cgoogle/protobuf/struct.proto\"b\n\x0cOutputFields\x12\x18\n\x0b\x64\x61ta_fields\x18\x01 \x03(\tB\x03\xe0\x41\x01\x12\x1a\n\rvector_fields\x18\x02 \x03(\tB\x03\xe0\x41\x01\x12\x1c\n\x0fmetadata_fields\x18\x03 \x03(\tB\x03\xe0\x41\x01\"\x85\x02\n\nSearchHint\x12I\n\x08knn_hint\x18\x03 \x01(\x0b\x32\x30.google.cloud.vectorsearch.v1.SearchHint.KnnHintB\x03\xe0\x41\x01H\x00\x12M\n\nindex_hint\x18\x04 \x01(\x0b\x32\x32.google.cloud.vectorsearch.v1.SearchHint.IndexHintB\x03\xe0\x41\x01H\x00\x1a\x44\n\tIndexHint\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!vectorsearch.googleapis.com/Index\x1a\t\n\x07KnnHintB\x0c\n\nindex_type\"\xe6\x01\n\x06Search\x12\x43\n\rvector_search\x18\x01 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.VectorSearchH\x00\x12G\n\x0fsemantic_search\x18\x02 \x01(\x0b\x32,.google.cloud.vectorsearch.v1.SemanticSearchH\x00\x12?\n\x0btext_search\x18\x03 \x01(\x0b\x32(.google.cloud.vectorsearch.v1.TextSearchH\x00\x42\r\n\x0bsearch_type\"\xe3\x03\n\x0cVectorSearch\x12;\n\x06vector\x18\x01 \x01(\x0b\x32).google.cloud.vectorsearch.v1.DenseVectorH\x00\x12\x43\n\rsparse_vector\x18\x02 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.SparseVectorH\x00\x12\x19\n\x0csearch_field\x18\x08 \x01(\tB\x03\xe0\x41\x02\x12,\n\x06\x66ilter\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructB\x03\xe0\x41\x01\x12\x17\n\x05top_k\x18\x05 \x01(\x05\x42\x03\xe0\x41\x01H\x01\x88\x01\x01\x12\x46\n\routput_fields\x18\x07 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.OutputFieldsB\x03\xe0\x41\x01\x12\x42\n\x0bsearch_hint\x18\t \x01(\x0b\x32(.google.cloud.vectorsearch.v1.SearchHintB\x03\xe0\x41\x01\x12J\n\x0f\x64istance_metric\x18\x0b \x01(\x0e\x32,.google.cloud.vectorsearch.v1.DistanceMetricB\x03\xe0\x41\x01\x42\r\n\x0bvector_typeB\x08\n\x06_top_k\"\xeb\x02\n\x0eSemanticSearch\x12\x18\n\x0bsearch_text\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x19\n\x0csearch_field\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12G\n\ttask_type\x18\x05 \x01(\x0e\x32/.google.cloud.vectorsearch.v1.EmbeddingTaskTypeB\x03\xe0\x41\x02\x12\x46\n\routput_fields\x18\x03 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.OutputFieldsB\x03\xe0\x41\x01\x12,\n\x06\x66ilter\x18\x06 \x01(\x0b\x32\x17.google.protobuf.StructB\x03\xe0\x41\x01\x12\x17\n\x05top_k\x18\x04 \x01(\x05\x42\x03\xe0\x41\x01H\x00\x88\x01\x01\x12\x42\n\x0bsearch_hint\x18\x07 \x01(\x0b\x32(.google.cloud.vectorsearch.v1.SearchHintB\x03\xe0\x41\x01\x42\x08\n\x06_top_k\"\xde\x01\n\nTextSearch\x12\x18\n\x0bsearch_text\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x1d\n\x10\x64\x61ta_field_names\x18\x02 \x03(\tB\x03\xe0\x41\x01\x12\x46\n\routput_fields\x18\x03 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.OutputFieldsB\x03\xe0\x41\x01\x12\x17\n\x05top_k\x18\x04 \x01(\x05\x42\x03\xe0\x41\x01H\x00\x88\x01\x01\x12,\n\x06\x66ilter\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructB\x03\xe0\x41\x01\x42\x08\n\x06_top_k\"\xee\x02\n\x18SearchDataObjectsRequest\x12\x43\n\rvector_search\x18\x02 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.VectorSearchH\x00\x12G\n\x0fsemantic_search\x18\x04 \x01(\x0b\x32,.google.cloud.vectorsearch.v1.SemanticSearchH\x00\x12\x44\n\x0btext_search\x18\x07 \x01(\x0b\x32(.google.cloud.vectorsearch.v1.TextSearchB\x03\xe0\x41\x01H\x00\x12>\n\x06parent\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\x12\x16\n\tpage_size\x18\x05 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x06 \x01(\tB\x03\xe0\x41\x01\x42\r\n\x0bsearch_type\"{\n\x0cSearchResult\x12\x42\n\x0b\x64\x61ta_object\x18\x01 \x01(\x0b\x32(.google.cloud.vectorsearch.v1.DataObjectB\x03\xe0\x41\x03\x12\x1a\n\x08\x64istance\x18\x02 \x01(\x01\x42\x03\xe0\x41\x03H\x00\x88\x01\x01\x42\x0b\n\t_distance\"{\n\x19SearchDataObjectsResponse\x12@\n\x07results\x18\x01 \x03(\x0b\x32*.google.cloud.vectorsearch.v1.SearchResultB\x03\xe0\x41\x03\x12\x1c\n\x0fnext_page_token\x18\x02 \x01(\tB\x03\xe0\x41\x03\"\xd4\x01\n\x1b\x41ggregateDataObjectsRequest\x12>\n\x06parent\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\x12,\n\x06\x66ilter\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructB\x03\xe0\x41\x01\x12G\n\taggregate\x18\x03 \x01(\x0e\x32/.google.cloud.vectorsearch.v1.AggregationMethodB\x03\xe0\x41\x02\"W\n\x1c\x41ggregateDataObjectsResponse\x12\x37\n\x11\x61ggregate_results\x18\x01 \x03(\x0b\x32\x17.google.protobuf.StructB\x03\xe0\x41\x03\"\x80\x02\n\x17QueryDataObjectsRequest\x12>\n\x06parent\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\x12,\n\x06\x66ilter\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructB\x03\xe0\x41\x01\x12\x46\n\routput_fields\x18\x07 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.OutputFieldsB\x03\xe0\x41\x01\x12\x16\n\tpage_size\x18\x05 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x06 \x01(\tB\x03\xe0\x41\x01\"}\n\x18QueryDataObjectsResponse\x12\x43\n\x0c\x64\x61ta_objects\x18\x04 \x03(\x0b\x32(.google.cloud.vectorsearch.v1.DataObjectB\x03\xe0\x41\x03\x12\x1c\n\x0fnext_page_token\x18\x03 \x01(\tB\x03\xe0\x41\x03\"\xb6\x03\n\x1d\x42\x61tchSearchDataObjectsRequest\x12>\n\x06parent\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\x12;\n\x08searches\x18\x02 \x03(\x0b\x32$.google.cloud.vectorsearch.v1.SearchB\x03\xe0\x41\x02\x12g\n\x07\x63ombine\x18\x03 \x01(\x0b\x32Q.google.cloud.vectorsearch.v1.BatchSearchDataObjectsRequest.CombineResultsOptionsB\x03\xe0\x41\x01\x1a\xae\x01\n\x15\x43ombineResultsOptions\x12\x39\n\x06ranker\x18\x01 \x01(\x0b\x32$.google.cloud.vectorsearch.v1.RankerB\x03\xe0\x41\x02\x12\x46\n\routput_fields\x18\x02 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.OutputFieldsB\x03\xe0\x41\x01\x12\x12\n\x05top_k\x18\x03 \x01(\x05\x42\x03\xe0\x41\x01\"U\n\x06Ranker\x12\x41\n\x03rrf\x18\x01 \x01(\x0b\x32\x32.google.cloud.vectorsearch.v1.ReciprocalRankFusionH\x00\x42\x08\n\x06ranker\",\n\x14ReciprocalRankFusion\x12\x14\n\x07weights\x18\x01 \x03(\x01\x42\x03\xe0\x41\x02\"o\n\x1e\x42\x61tchSearchDataObjectsResponse\x12M\n\x07results\x18\x01 \x03(\x0b\x32\x37.google.cloud.vectorsearch.v1.SearchDataObjectsResponseB\x03\xe0\x41\x03*B\n\x11\x41ggregationMethod\x12\"\n\x1e\x41GGREGATION_METHOD_UNSPECIFIED\x10\x00\x12\t\n\x05\x43OUNT\x10\x01\x32\xe6\x07\n\x17\x44\x61taObjectSearchService\x12\xd5\x01\n\x11SearchDataObjects\x12\x36.google.cloud.vectorsearch.v1.SearchDataObjectsRequest\x1a\x37.google.cloud.vectorsearch.v1.SearchDataObjectsResponse\"O\x82\xd3\xe4\x93\x02I\"D/v1/{parent=projects/*/locations/*/collections/*}/dataObjects:search:\x01*\x12\xd1\x01\n\x10QueryDataObjects\x12\x35.google.cloud.vectorsearch.v1.QueryDataObjectsRequest\x1a\x36.google.cloud.vectorsearch.v1.QueryDataObjectsResponse\"N\x82\xd3\xe4\x93\x02H\"C/v1/{parent=projects/*/locations/*/collections/*}/dataObjects:query:\x01*\x12\xe1\x01\n\x14\x41ggregateDataObjects\x12\x39.google.cloud.vectorsearch.v1.AggregateDataObjectsRequest\x1a:.google.cloud.vectorsearch.v1.AggregateDataObjectsResponse\"R\x82\xd3\xe4\x93\x02L\"G/v1/{parent=projects/*/locations/*/collections/*}/dataObjects:aggregate:\x01*\x12\xe9\x01\n\x16\x42\x61tchSearchDataObjects\x12;.google.cloud.vectorsearch.v1.BatchSearchDataObjectsRequest\x1a<.google.cloud.vectorsearch.v1.BatchSearchDataObjectsResponse\"T\x82\xd3\xe4\x93\x02N\"I/v1/{parent=projects/*/locations/*/collections/*}/dataObjects:batchSearch:\x01*\x1aO\xca\x41\x1bvectorsearch.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\xe8\x01\n com.google.cloud.vectorsearch.v1B\x1c\x44\x61taObjectSearchServiceProtoP\x01ZDcloud.google.com/go/vectorsearch/apiv1/vectorsearchpb;vectorsearchpb\xaa\x02\x1cGoogle.Cloud.VectorSearch.V1\xca\x02\x1cGoogle\\Cloud\\VectorSearch\\V1\xea\x02\x1fGoogle::Cloud::VectorSearch::V1b\x06proto3"
17
+ descriptor_data = "\n=google/cloud/vectorsearch/v1/data_object_search_service.proto\x12\x1cgoogle.cloud.vectorsearch.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a)google/cloud/vectorsearch/v1/common.proto\x1a.google/cloud/vectorsearch/v1/data_object.proto\x1a\x33google/cloud/vectorsearch/v1/embedding_config.proto\x1a\x1cgoogle/protobuf/struct.proto\"b\n\x0cOutputFields\x12\x18\n\x0b\x64\x61ta_fields\x18\x01 \x03(\tB\x03\xe0\x41\x01\x12\x1a\n\rvector_fields\x18\x02 \x03(\tB\x03\xe0\x41\x01\x12\x1c\n\x0fmetadata_fields\x18\x03 \x03(\tB\x03\xe0\x41\x01\"\xbf\x03\n\nSearchHint\x12I\n\x08knn_hint\x18\x03 \x01(\x0b\x32\x30.google.cloud.vectorsearch.v1.SearchHint.KnnHintB\x03\xe0\x41\x01H\x00\x12M\n\nindex_hint\x18\x04 \x01(\x0b\x32\x32.google.cloud.vectorsearch.v1.SearchHint.IndexHintB\x03\xe0\x41\x01H\x00\x1a\xfd\x01\n\tIndexHint\x12\x66\n\x12\x64\x65nse_scann_params\x18\x02 \x01(\x0b\x32\x43.google.cloud.vectorsearch.v1.SearchHint.IndexHint.DenseScannParamsB\x03\xe0\x41\x01H\x00\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!vectorsearch.googleapis.com/Index\x1a\x45\n\x10\x44\x65nseScannParams\x12\x1f\n\rtarget_recall\x18\x03 \x01(\x01\x42\x03\xe0\x41\x01H\x00\x88\x01\x01\x42\x10\n\x0e_target_recallB\x08\n\x06params\x1a\t\n\x07KnnHintB\x0c\n\nindex_type\"\xe6\x01\n\x06Search\x12\x43\n\rvector_search\x18\x01 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.VectorSearchH\x00\x12G\n\x0fsemantic_search\x18\x02 \x01(\x0b\x32,.google.cloud.vectorsearch.v1.SemanticSearchH\x00\x12?\n\x0btext_search\x18\x03 \x01(\x0b\x32(.google.cloud.vectorsearch.v1.TextSearchH\x00\x42\r\n\x0bsearch_type\"\xe3\x03\n\x0cVectorSearch\x12;\n\x06vector\x18\x01 \x01(\x0b\x32).google.cloud.vectorsearch.v1.DenseVectorH\x00\x12\x43\n\rsparse_vector\x18\x02 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.SparseVectorH\x00\x12\x19\n\x0csearch_field\x18\x08 \x01(\tB\x03\xe0\x41\x02\x12,\n\x06\x66ilter\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructB\x03\xe0\x41\x01\x12\x17\n\x05top_k\x18\x05 \x01(\x05\x42\x03\xe0\x41\x01H\x01\x88\x01\x01\x12\x46\n\routput_fields\x18\x07 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.OutputFieldsB\x03\xe0\x41\x01\x12\x42\n\x0bsearch_hint\x18\t \x01(\x0b\x32(.google.cloud.vectorsearch.v1.SearchHintB\x03\xe0\x41\x01\x12J\n\x0f\x64istance_metric\x18\x0b \x01(\x0e\x32,.google.cloud.vectorsearch.v1.DistanceMetricB\x03\xe0\x41\x01\x42\r\n\x0bvector_typeB\x08\n\x06_top_k\"\xeb\x02\n\x0eSemanticSearch\x12\x18\n\x0bsearch_text\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x19\n\x0csearch_field\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12G\n\ttask_type\x18\x05 \x01(\x0e\x32/.google.cloud.vectorsearch.v1.EmbeddingTaskTypeB\x03\xe0\x41\x01\x12\x46\n\routput_fields\x18\x03 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.OutputFieldsB\x03\xe0\x41\x01\x12,\n\x06\x66ilter\x18\x06 \x01(\x0b\x32\x17.google.protobuf.StructB\x03\xe0\x41\x01\x12\x17\n\x05top_k\x18\x04 \x01(\x05\x42\x03\xe0\x41\x01H\x00\x88\x01\x01\x12\x42\n\x0bsearch_hint\x18\x07 \x01(\x0b\x32(.google.cloud.vectorsearch.v1.SearchHintB\x03\xe0\x41\x01\x42\x08\n\x06_top_k\"\xde\x01\n\nTextSearch\x12\x18\n\x0bsearch_text\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x1d\n\x10\x64\x61ta_field_names\x18\x02 \x03(\tB\x03\xe0\x41\x01\x12\x46\n\routput_fields\x18\x03 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.OutputFieldsB\x03\xe0\x41\x01\x12\x17\n\x05top_k\x18\x04 \x01(\x05\x42\x03\xe0\x41\x01H\x00\x88\x01\x01\x12,\n\x06\x66ilter\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructB\x03\xe0\x41\x01\x42\x08\n\x06_top_k\"\xee\x02\n\x18SearchDataObjectsRequest\x12\x43\n\rvector_search\x18\x02 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.VectorSearchH\x00\x12G\n\x0fsemantic_search\x18\x04 \x01(\x0b\x32,.google.cloud.vectorsearch.v1.SemanticSearchH\x00\x12\x44\n\x0btext_search\x18\x07 \x01(\x0b\x32(.google.cloud.vectorsearch.v1.TextSearchB\x03\xe0\x41\x01H\x00\x12>\n\x06parent\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\x12\x16\n\tpage_size\x18\x05 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x06 \x01(\tB\x03\xe0\x41\x01\x42\r\n\x0bsearch_type\"{\n\x0cSearchResult\x12\x42\n\x0b\x64\x61ta_object\x18\x01 \x01(\x0b\x32(.google.cloud.vectorsearch.v1.DataObjectB\x03\xe0\x41\x03\x12\x1a\n\x08\x64istance\x18\x02 \x01(\x01\x42\x03\xe0\x41\x03H\x00\x88\x01\x01\x42\x0b\n\t_distance\"{\n\x19SearchDataObjectsResponse\x12@\n\x07results\x18\x01 \x03(\x0b\x32*.google.cloud.vectorsearch.v1.SearchResultB\x03\xe0\x41\x03\x12\x1c\n\x0fnext_page_token\x18\x02 \x01(\tB\x03\xe0\x41\x03\"\xd4\x01\n\x1b\x41ggregateDataObjectsRequest\x12>\n\x06parent\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\x12,\n\x06\x66ilter\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructB\x03\xe0\x41\x01\x12G\n\taggregate\x18\x03 \x01(\x0e\x32/.google.cloud.vectorsearch.v1.AggregationMethodB\x03\xe0\x41\x02\"W\n\x1c\x41ggregateDataObjectsResponse\x12\x37\n\x11\x61ggregate_results\x18\x01 \x03(\x0b\x32\x17.google.protobuf.StructB\x03\xe0\x41\x03\"\x80\x02\n\x17QueryDataObjectsRequest\x12>\n\x06parent\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\x12,\n\x06\x66ilter\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructB\x03\xe0\x41\x01\x12\x46\n\routput_fields\x18\x07 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.OutputFieldsB\x03\xe0\x41\x01\x12\x16\n\tpage_size\x18\x05 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x06 \x01(\tB\x03\xe0\x41\x01\"}\n\x18QueryDataObjectsResponse\x12\x43\n\x0c\x64\x61ta_objects\x18\x04 \x03(\x0b\x32(.google.cloud.vectorsearch.v1.DataObjectB\x03\xe0\x41\x03\x12\x1c\n\x0fnext_page_token\x18\x03 \x01(\tB\x03\xe0\x41\x03\"\xb6\x03\n\x1d\x42\x61tchSearchDataObjectsRequest\x12>\n\x06parent\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\x12;\n\x08searches\x18\x02 \x03(\x0b\x32$.google.cloud.vectorsearch.v1.SearchB\x03\xe0\x41\x02\x12g\n\x07\x63ombine\x18\x03 \x01(\x0b\x32Q.google.cloud.vectorsearch.v1.BatchSearchDataObjectsRequest.CombineResultsOptionsB\x03\xe0\x41\x01\x1a\xae\x01\n\x15\x43ombineResultsOptions\x12\x39\n\x06ranker\x18\x01 \x01(\x0b\x32$.google.cloud.vectorsearch.v1.RankerB\x03\xe0\x41\x02\x12\x46\n\routput_fields\x18\x02 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.OutputFieldsB\x03\xe0\x41\x01\x12\x12\n\x05top_k\x18\x03 \x01(\x05\x42\x03\xe0\x41\x01\"\xab\x01\n\x06Ranker\x12\x41\n\x03rrf\x18\x01 \x01(\x0b\x32\x32.google.cloud.vectorsearch.v1.ReciprocalRankFusionH\x00\x12H\n\rvertex_ranker\x18\x02 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.VertexRankerB\x03\xe0\x41\x01H\x01\x42\x08\n\x06rankerB\n\n\x08reranker\",\n\x14ReciprocalRankFusion\x12\x14\n\x07weights\x18\x01 \x03(\x01\x42\x03\xe0\x41\x02\"\xfe\x01\n\x0cVertexRanker\x12U\n\x10text_record_spec\x18\x06 \x01(\x0b\x32\x39.google.cloud.vectorsearch.v1.VertexRanker.TextRecordSpecH\x00\x12\x12\n\x05model\x18\x04 \x01(\tB\x03\xe0\x41\x02\x12\x12\n\x05top_n\x18\x05 \x01(\x05\x42\x03\xe0\x41\x02\x1a`\n\x0eTextRecordSpec\x12\x12\n\x05query\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x1b\n\x0etitle_template\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x1d\n\x10\x63ontent_template\x18\x03 \x01(\tB\x03\xe0\x41\x01\x42\r\n\x0brecord_spec\"o\n\x1e\x42\x61tchSearchDataObjectsResponse\x12M\n\x07results\x18\x01 \x03(\x0b\x32\x37.google.cloud.vectorsearch.v1.SearchDataObjectsResponseB\x03\xe0\x41\x03*B\n\x11\x41ggregationMethod\x12\"\n\x1e\x41GGREGATION_METHOD_UNSPECIFIED\x10\x00\x12\t\n\x05\x43OUNT\x10\x01\x32\xe6\x07\n\x17\x44\x61taObjectSearchService\x12\xd5\x01\n\x11SearchDataObjects\x12\x36.google.cloud.vectorsearch.v1.SearchDataObjectsRequest\x1a\x37.google.cloud.vectorsearch.v1.SearchDataObjectsResponse\"O\x82\xd3\xe4\x93\x02I\"D/v1/{parent=projects/*/locations/*/collections/*}/dataObjects:search:\x01*\x12\xd1\x01\n\x10QueryDataObjects\x12\x35.google.cloud.vectorsearch.v1.QueryDataObjectsRequest\x1a\x36.google.cloud.vectorsearch.v1.QueryDataObjectsResponse\"N\x82\xd3\xe4\x93\x02H\"C/v1/{parent=projects/*/locations/*/collections/*}/dataObjects:query:\x01*\x12\xe1\x01\n\x14\x41ggregateDataObjects\x12\x39.google.cloud.vectorsearch.v1.AggregateDataObjectsRequest\x1a:.google.cloud.vectorsearch.v1.AggregateDataObjectsResponse\"R\x82\xd3\xe4\x93\x02L\"G/v1/{parent=projects/*/locations/*/collections/*}/dataObjects:aggregate:\x01*\x12\xe9\x01\n\x16\x42\x61tchSearchDataObjects\x12;.google.cloud.vectorsearch.v1.BatchSearchDataObjectsRequest\x1a<.google.cloud.vectorsearch.v1.BatchSearchDataObjectsResponse\"T\x82\xd3\xe4\x93\x02N\"I/v1/{parent=projects/*/locations/*/collections/*}/dataObjects:batchSearch:\x01*\x1aO\xca\x41\x1bvectorsearch.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\xe8\x01\n com.google.cloud.vectorsearch.v1B\x1c\x44\x61taObjectSearchServiceProtoP\x01ZDcloud.google.com/go/vectorsearch/apiv1/vectorsearchpb;vectorsearchpb\xaa\x02\x1cGoogle.Cloud.VectorSearch.V1\xca\x02\x1cGoogle\\Cloud\\VectorSearch\\V1\xea\x02\x1fGoogle::Cloud::VectorSearch::V1b\x06proto3"
18
18
 
19
19
  pool = ::Google::Protobuf::DescriptorPool.generated_pool
20
20
  pool.add_serialized_file(descriptor_data)
@@ -26,6 +26,7 @@ module Google
26
26
  OutputFields = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vectorsearch.v1.OutputFields").msgclass
27
27
  SearchHint = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vectorsearch.v1.SearchHint").msgclass
28
28
  SearchHint::IndexHint = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vectorsearch.v1.SearchHint.IndexHint").msgclass
29
+ SearchHint::IndexHint::DenseScannParams = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vectorsearch.v1.SearchHint.IndexHint.DenseScannParams").msgclass
29
30
  SearchHint::KnnHint = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vectorsearch.v1.SearchHint.KnnHint").msgclass
30
31
  Search = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vectorsearch.v1.Search").msgclass
31
32
  VectorSearch = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vectorsearch.v1.VectorSearch").msgclass
@@ -42,6 +43,8 @@ module Google
42
43
  BatchSearchDataObjectsRequest::CombineResultsOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vectorsearch.v1.BatchSearchDataObjectsRequest.CombineResultsOptions").msgclass
43
44
  Ranker = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vectorsearch.v1.Ranker").msgclass
44
45
  ReciprocalRankFusion = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vectorsearch.v1.ReciprocalRankFusion").msgclass
46
+ VertexRanker = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vectorsearch.v1.VertexRanker").msgclass
47
+ VertexRanker::TextRecordSpec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vectorsearch.v1.VertexRanker.TextRecordSpec").msgclass
45
48
  BatchSearchDataObjectsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vectorsearch.v1.BatchSearchDataObjectsResponse").msgclass
46
49
  AggregationMethod = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vectorsearch.v1.AggregationMethod").enummodule
47
50
  end
@@ -7,7 +7,7 @@ require 'google/protobuf'
7
7
  require 'google/api/field_behavior_pb'
8
8
 
9
9
 
10
- descriptor_data = "\n3google/cloud/vectorsearch/v1/embedding_config.proto\x12\x1cgoogle.cloud.vectorsearch.v1\x1a\x1fgoogle/api/field_behavior.proto\"\x93\x01\n\x15VertexEmbeddingConfig\x12\x15\n\x08model_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x1a\n\rtext_template\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12G\n\ttask_type\x18\x03 \x01(\x0e\x32/.google.cloud.vectorsearch.v1.EmbeddingTaskTypeB\x03\xe0\x41\x02*\xeb\x01\n\x11\x45mbeddingTaskType\x12#\n\x1f\x45MBEDDING_TASK_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fRETRIEVAL_QUERY\x10\x01\x12\x16\n\x12RETRIEVAL_DOCUMENT\x10\x02\x12\x17\n\x13SEMANTIC_SIMILARITY\x10\x03\x12\x12\n\x0e\x43LASSIFICATION\x10\x04\x12\x0e\n\nCLUSTERING\x10\x05\x12\x16\n\x12QUESTION_ANSWERING\x10\x06\x12\x15\n\x11\x46\x41\x43T_VERIFICATION\x10\x07\x12\x18\n\x14\x43ODE_RETRIEVAL_QUERY\x10\x08\x42\xe0\x01\n com.google.cloud.vectorsearch.v1B\x14\x45mbeddingConfigProtoP\x01ZDcloud.google.com/go/vectorsearch/apiv1/vectorsearchpb;vectorsearchpb\xaa\x02\x1cGoogle.Cloud.VectorSearch.V1\xca\x02\x1cGoogle\\Cloud\\VectorSearch\\V1\xea\x02\x1fGoogle::Cloud::VectorSearch::V1b\x06proto3"
10
+ descriptor_data = "\n3google/cloud/vectorsearch/v1/embedding_config.proto\x12\x1cgoogle.cloud.vectorsearch.v1\x1a\x1fgoogle/api/field_behavior.proto\"\x93\x01\n\x15VertexEmbeddingConfig\x12\x15\n\x08model_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x1a\n\rtext_template\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12G\n\ttask_type\x18\x03 \x01(\x0e\x32/.google.cloud.vectorsearch.v1.EmbeddingTaskTypeB\x03\xe0\x41\x01*\xeb\x01\n\x11\x45mbeddingTaskType\x12#\n\x1f\x45MBEDDING_TASK_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fRETRIEVAL_QUERY\x10\x01\x12\x16\n\x12RETRIEVAL_DOCUMENT\x10\x02\x12\x17\n\x13SEMANTIC_SIMILARITY\x10\x03\x12\x12\n\x0e\x43LASSIFICATION\x10\x04\x12\x0e\n\nCLUSTERING\x10\x05\x12\x16\n\x12QUESTION_ANSWERING\x10\x06\x12\x15\n\x11\x46\x41\x43T_VERIFICATION\x10\x07\x12\x18\n\x14\x43ODE_RETRIEVAL_QUERY\x10\x08\x42\xe0\x01\n com.google.cloud.vectorsearch.v1B\x14\x45mbeddingConfigProtoP\x01ZDcloud.google.com/go/vectorsearch/apiv1/vectorsearchpb;vectorsearchpb\xaa\x02\x1cGoogle.Cloud.VectorSearch.V1\xca\x02\x1cGoogle\\Cloud\\VectorSearch\\V1\xea\x02\x1fGoogle::Cloud::VectorSearch::V1b\x06proto3"
11
11
 
12
12
  pool = ::Google::Protobuf::DescriptorPool.generated_pool
13
13
  pool.add_serialized_file(descriptor_data)
@@ -53,6 +53,9 @@ module Google
53
53
  extend ::Google::Protobuf::MessageExts::ClassMethods
54
54
 
55
55
  # Message to specify the index to use for the search.
56
+ # @!attribute [rw] dense_scann_params
57
+ # @return [::Google::Cloud::VectorSearch::V1::SearchHint::IndexHint::DenseScannParams]
58
+ # Optional. Dense ScaNN parameters.
56
59
  # @!attribute [rw] name
57
60
  # @return [::String]
58
61
  # Required. The resource name of the index to use for the search.
@@ -62,6 +65,17 @@ module Google
62
65
  class IndexHint
63
66
  include ::Google::Protobuf::MessageExts
64
67
  extend ::Google::Protobuf::MessageExts::ClassMethods
68
+
69
+ # Parameters for dense ScaNN.
70
+ # @!attribute [rw] target_recall
71
+ # @return [::Float]
72
+ # Optional. The target recall for the search. Must be a double in the
73
+ # range [0, 1]. While the search aims to achieve this level of recall, it
74
+ # is not guaranteed.
75
+ class DenseScannParams
76
+ include ::Google::Protobuf::MessageExts
77
+ extend ::Google::Protobuf::MessageExts::ClassMethods
78
+ end
65
79
  end
66
80
 
67
81
  # KnnHint will be used if search should be explicitly done on system's
@@ -134,14 +148,20 @@ module Google
134
148
  # Defines a semantic search operation.
135
149
  # @!attribute [rw] search_text
136
150
  # @return [::String]
137
- # Required. The query text, which is used to generate an embedding according
151
+ # Optional. The query text, which is used to generate an embedding according
138
152
  # to the embedding model specified in the collection config.
153
+ #
154
+ # Required when using the text search mode.
139
155
  # @!attribute [rw] search_field
140
156
  # @return [::String]
141
157
  # Required. The vector field to search.
142
158
  # @!attribute [rw] task_type
143
159
  # @return [::Google::Cloud::VectorSearch::V1::EmbeddingTaskType]
144
- # Required. The task type of the query embedding.
160
+ # Optional. The task type of the query embedding. Must be specified for
161
+ # text-only embedding models, see
162
+ # <https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/embeddings/task-types>
163
+ # Not needed for multi modal embedding models, see
164
+ # <https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/embeddings/get-multimodal-embeddings#specify-task-instructions>
145
165
  # @!attribute [rw] output_fields
146
166
  # @return [::Google::Cloud::VectorSearch::V1::OutputFields]
147
167
  # Optional. The fields to return in the search results.
@@ -359,6 +379,9 @@ module Google
359
379
  # @!attribute [rw] rrf
360
380
  # @return [::Google::Cloud::VectorSearch::V1::ReciprocalRankFusion]
361
381
  # Reciprocal Rank Fusion ranking.
382
+ # @!attribute [rw] vertex_ranker
383
+ # @return [::Google::Cloud::VectorSearch::V1::VertexRanker]
384
+ # Optional. Vertex AI ranking.
362
385
  class Ranker
363
386
  include ::Google::Protobuf::MessageExts
364
387
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -373,6 +396,41 @@ module Google
373
396
  extend ::Google::Protobuf::MessageExts::ClassMethods
374
397
  end
375
398
 
399
+ # Defines a ranker using the Vertex AI ranking service.
400
+ # See <https://cloud.google.com/generative-ai-app-builder/docs/ranking> for
401
+ # details.
402
+ # @!attribute [rw] text_record_spec
403
+ # @return [::Google::Cloud::VectorSearch::V1::VertexRanker::TextRecordSpec]
404
+ # The record spec for text search.
405
+ # @!attribute [rw] model
406
+ # @return [::String]
407
+ # Required. The model used for ranking documents. The list of available
408
+ # models is described in
409
+ # <https://docs.cloud.google.com/generative-ai-app-builder/docs/ranking#models>.
410
+ # Currently, only `semantic-ranker-fast@latest` is supported.
411
+ # @!attribute [rw] top_n
412
+ # @return [::Integer]
413
+ # Required. The number of documents to be processed for ranking.
414
+ class VertexRanker
415
+ include ::Google::Protobuf::MessageExts
416
+ extend ::Google::Protobuf::MessageExts::ClassMethods
417
+
418
+ # The record spec for text search.
419
+ # @!attribute [rw] query
420
+ # @return [::String]
421
+ # Required. The query against which the records are ranked and scored.
422
+ # @!attribute [rw] title_template
423
+ # @return [::String]
424
+ # Optional. The template used to generate the record's title.
425
+ # @!attribute [rw] content_template
426
+ # @return [::String]
427
+ # Optional. The template used to generate the record's content.
428
+ class TextRecordSpec
429
+ include ::Google::Protobuf::MessageExts
430
+ extend ::Google::Protobuf::MessageExts::ClassMethods
431
+ end
432
+ end
433
+
376
434
  # A response from a batch search operation.
377
435
  # @!attribute [r] results
378
436
  # @return [::Array<::Google::Cloud::VectorSearch::V1::SearchDataObjectsResponse>]
@@ -30,12 +30,18 @@ module Google
30
30
  # for the list of supported models.
31
31
  # @!attribute [rw] text_template
32
32
  # @return [::String]
33
- # Required. Required: Text template for the input to the model. The template
34
- # must contain one or more references to fields in the DataObject, e.g.:
35
- # "Movie Title: \\{title} ---- Movie Plot: \\{plot}".
33
+ # Optional. Text template for the input to the model. The template must
34
+ # contain one or more references to fields in the DataObject, e.g.: "Movie
35
+ # Title: \\{title} ---- Movie Plot: \\{plot}".
36
+ #
37
+ # Required when using the text-only path.
36
38
  # @!attribute [rw] task_type
37
39
  # @return [::Google::Cloud::VectorSearch::V1::EmbeddingTaskType]
38
- # Required. Required: Task type for the embeddings.
40
+ # Optional. Optional: Task type for the embeddings. Required for text-only
41
+ # embedding models, see
42
+ # https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/embeddings/task-types
43
+ # Not needed for multi modal embedding models, see
44
+ # https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/embeddings/get-multimodal-embeddings#specify-task-instructions
39
45
  class VertexEmbeddingConfig
40
46
  include ::Google::Protobuf::MessageExts
41
47
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -110,14 +110,15 @@ module Google
110
110
  # ) to obtain a formatter capable of generating timestamps in this format.
111
111
  # @!attribute [rw] seconds
112
112
  # @return [::Integer]
113
- # Represents seconds of UTC time since Unix epoch
114
- # 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
115
- # 9999-12-31T23:59:59Z inclusive.
113
+ # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must
114
+ # be between -315576000000 and 315576000000 inclusive (which corresponds to
115
+ # 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z).
116
116
  # @!attribute [rw] nanos
117
117
  # @return [::Integer]
118
- # Non-negative fractions of a second at nanosecond resolution. Negative
119
- # second values with fractions must still have non-negative nanos values
120
- # that count forward in time. Must be from 0 to 999,999,999
118
+ # Non-negative fractions of a second at nanosecond resolution. This field is
119
+ # the nanosecond portion of the duration, not an alternative to seconds.
120
+ # Negative second values with fractions must still have non-negative nanos
121
+ # values that count forward in time. Must be between 0 and 999,999,999
121
122
  # inclusive.
122
123
  class Timestamp
123
124
  include ::Google::Protobuf::MessageExts
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-vector_search-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC