@google-cloud/vectorsearch 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.
- package/README.md +23 -0
- package/build/protos/google/cloud/vectorsearch/v1/common.proto +37 -0
- package/build/protos/google/cloud/vectorsearch/v1/data_object.proto +95 -0
- package/build/protos/google/cloud/vectorsearch/v1/data_object_search_service.proto +449 -0
- package/build/protos/google/cloud/vectorsearch/v1/data_object_service.proto +242 -0
- package/build/protos/google/cloud/vectorsearch/v1/embedding_config.proto +74 -0
- package/build/protos/google/cloud/vectorsearch/v1/vectorsearch_service.proto +707 -0
- package/build/protos/google/cloud/vectorsearch/v1beta/data_object.proto +6 -5
- package/build/protos/google/cloud/vectorsearch/v1beta/data_object_search_service.proto +16 -6
- package/build/protos/google/cloud/vectorsearch/v1beta/data_object_service.proto +2 -2
- package/build/protos/google/cloud/vectorsearch/v1beta/embedding_config.proto +2 -2
- package/build/protos/google/cloud/vectorsearch/v1beta/vectorsearch_service.proto +84 -8
- package/build/protos/protos.d.ts +8528 -956
- package/build/protos/protos.js +25433 -7045
- package/build/protos/protos.json +2235 -6
- package/build/src/index.d.ts +12 -10
- package/build/src/index.js +7 -5
- package/build/src/index.js.map +1 -1
- package/build/src/v1/data_object_search_service_client.d.ts +583 -0
- package/build/src/v1/data_object_search_service_client.js +855 -0
- package/build/src/v1/data_object_search_service_client.js.map +1 -0
- package/build/src/v1/data_object_search_service_client_config.json +58 -0
- package/build/src/v1/data_object_search_service_proto_list.json +8 -0
- package/build/src/v1/data_object_service_client.d.ts +490 -0
- package/build/src/v1/data_object_service_client.js +767 -0
- package/build/src/v1/data_object_service_client.js.map +1 -0
- package/build/src/v1/data_object_service_client_config.json +73 -0
- package/build/src/v1/data_object_service_proto_list.json +8 -0
- package/build/src/v1/gapic_metadata.json +277 -0
- package/build/src/v1/index.d.ts +3 -0
- package/build/src/v1/index.js +27 -0
- package/build/src/v1/index.js.map +1 -0
- package/build/src/v1/vector_search_service_client.d.ts +1021 -0
- package/build/src/v1/vector_search_service_client.js +1387 -0
- package/build/src/v1/vector_search_service_client.js.map +1 -0
- package/build/src/v1/vector_search_service_client_config.json +88 -0
- package/build/src/v1/vector_search_service_proto_list.json +8 -0
- package/build/src/v1beta/data_object_search_service_client.js +1 -1
- package/build/src/v1beta/data_object_service_client.d.ts +1 -1
- package/build/src/v1beta/data_object_service_client.js +1 -1
- package/build/src/v1beta/data_object_service_client_config.json +12 -12
- package/build/src/v1beta/gapic_metadata.json +10 -0
- package/build/src/v1beta/index.js +1 -1
- package/build/src/v1beta/vector_search_service_client.d.ts +45 -3
- package/build/src/v1beta/vector_search_service_client.js +54 -3
- package/build/src/v1beta/vector_search_service_client.js.map +1 -1
- package/build/src/v1beta/vector_search_service_client_config.json +14 -10
- package/package.json +1 -1
|
@@ -0,0 +1,707 @@
|
|
|
1
|
+
// Copyright 2026 Google LLC
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
|
|
15
|
+
syntax = "proto3";
|
|
16
|
+
|
|
17
|
+
package google.cloud.vectorsearch.v1;
|
|
18
|
+
|
|
19
|
+
import "google/api/annotations.proto";
|
|
20
|
+
import "google/api/client.proto";
|
|
21
|
+
import "google/api/field_behavior.proto";
|
|
22
|
+
import "google/api/field_info.proto";
|
|
23
|
+
import "google/api/resource.proto";
|
|
24
|
+
import "google/cloud/vectorsearch/v1/common.proto";
|
|
25
|
+
import "google/cloud/vectorsearch/v1/embedding_config.proto";
|
|
26
|
+
import "google/longrunning/operations.proto";
|
|
27
|
+
import "google/protobuf/empty.proto";
|
|
28
|
+
import "google/protobuf/field_mask.proto";
|
|
29
|
+
import "google/protobuf/struct.proto";
|
|
30
|
+
import "google/protobuf/timestamp.proto";
|
|
31
|
+
import "google/rpc/status.proto";
|
|
32
|
+
|
|
33
|
+
option csharp_namespace = "Google.Cloud.VectorSearch.V1";
|
|
34
|
+
option go_package = "cloud.google.com/go/vectorsearch/apiv1/vectorsearchpb;vectorsearchpb";
|
|
35
|
+
option java_multiple_files = true;
|
|
36
|
+
option java_outer_classname = "VectorSearchServiceProto";
|
|
37
|
+
option java_package = "com.google.cloud.vectorsearch.v1";
|
|
38
|
+
option php_namespace = "Google\\Cloud\\VectorSearch\\V1";
|
|
39
|
+
option ruby_package = "Google::Cloud::VectorSearch::V1";
|
|
40
|
+
|
|
41
|
+
// VectorSearchService provides methods for managing Collection resources, and
|
|
42
|
+
// Collection Index resources. The primary resources offered by this service are
|
|
43
|
+
// Collections which are a container for a set of related JSON data objects, and
|
|
44
|
+
// Collection Indexes which enable efficient ANN search across data objects
|
|
45
|
+
// within a Collection.
|
|
46
|
+
service VectorSearchService {
|
|
47
|
+
option (google.api.default_host) = "vectorsearch.googleapis.com";
|
|
48
|
+
option (google.api.oauth_scopes) =
|
|
49
|
+
"https://www.googleapis.com/auth/cloud-platform";
|
|
50
|
+
|
|
51
|
+
// Lists Collections in a given project and location.
|
|
52
|
+
rpc ListCollections(ListCollectionsRequest)
|
|
53
|
+
returns (ListCollectionsResponse) {
|
|
54
|
+
option (google.api.http) = {
|
|
55
|
+
get: "/v1/{parent=projects/*/locations/*}/collections"
|
|
56
|
+
};
|
|
57
|
+
option (google.api.method_signature) = "parent";
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// Gets details of a single Collection.
|
|
61
|
+
rpc GetCollection(GetCollectionRequest) returns (Collection) {
|
|
62
|
+
option (google.api.http) = {
|
|
63
|
+
get: "/v1/{name=projects/*/locations/*/collections/*}"
|
|
64
|
+
};
|
|
65
|
+
option (google.api.method_signature) = "name";
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// Creates a new Collection in a given project and location.
|
|
69
|
+
rpc CreateCollection(CreateCollectionRequest)
|
|
70
|
+
returns (google.longrunning.Operation) {
|
|
71
|
+
option (google.api.http) = {
|
|
72
|
+
post: "/v1/{parent=projects/*/locations/*}/collections"
|
|
73
|
+
body: "collection"
|
|
74
|
+
};
|
|
75
|
+
option (google.api.method_signature) = "parent,collection,collection_id";
|
|
76
|
+
option (google.longrunning.operation_info) = {
|
|
77
|
+
response_type: "Collection"
|
|
78
|
+
metadata_type: "OperationMetadata"
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// Updates the parameters of a single Collection.
|
|
83
|
+
rpc UpdateCollection(UpdateCollectionRequest)
|
|
84
|
+
returns (google.longrunning.Operation) {
|
|
85
|
+
option (google.api.http) = {
|
|
86
|
+
patch: "/v1/{collection.name=projects/*/locations/*/collections/*}"
|
|
87
|
+
body: "collection"
|
|
88
|
+
};
|
|
89
|
+
option (google.api.method_signature) = "collection,update_mask";
|
|
90
|
+
option (google.longrunning.operation_info) = {
|
|
91
|
+
response_type: "Collection"
|
|
92
|
+
metadata_type: "OperationMetadata"
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// Deletes a single Collection.
|
|
97
|
+
rpc DeleteCollection(DeleteCollectionRequest)
|
|
98
|
+
returns (google.longrunning.Operation) {
|
|
99
|
+
option (google.api.http) = {
|
|
100
|
+
delete: "/v1/{name=projects/*/locations/*/collections/*}"
|
|
101
|
+
};
|
|
102
|
+
option (google.api.method_signature) = "name";
|
|
103
|
+
option (google.longrunning.operation_info) = {
|
|
104
|
+
response_type: "google.protobuf.Empty"
|
|
105
|
+
metadata_type: "OperationMetadata"
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// Lists Indexes in a given project and location.
|
|
110
|
+
rpc ListIndexes(ListIndexesRequest) returns (ListIndexesResponse) {
|
|
111
|
+
option (google.api.http) = {
|
|
112
|
+
get: "/v1/{parent=projects/*/locations/*/collections/*}/indexes"
|
|
113
|
+
};
|
|
114
|
+
option (google.api.method_signature) = "parent";
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
// Gets details of a single Index.
|
|
118
|
+
rpc GetIndex(GetIndexRequest) returns (Index) {
|
|
119
|
+
option (google.api.http) = {
|
|
120
|
+
get: "/v1/{name=projects/*/locations/*/collections/*/indexes/*}"
|
|
121
|
+
};
|
|
122
|
+
option (google.api.method_signature) = "name";
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
// Creates a new Index in a given project and location.
|
|
126
|
+
rpc CreateIndex(CreateIndexRequest) returns (google.longrunning.Operation) {
|
|
127
|
+
option (google.api.http) = {
|
|
128
|
+
post: "/v1/{parent=projects/*/locations/*/collections/*}/indexes"
|
|
129
|
+
body: "index"
|
|
130
|
+
};
|
|
131
|
+
option (google.api.method_signature) = "parent,index,index_id";
|
|
132
|
+
option (google.longrunning.operation_info) = {
|
|
133
|
+
response_type: "Index"
|
|
134
|
+
metadata_type: "OperationMetadata"
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
// Deletes a single Index.
|
|
139
|
+
rpc DeleteIndex(DeleteIndexRequest) returns (google.longrunning.Operation) {
|
|
140
|
+
option (google.api.http) = {
|
|
141
|
+
delete: "/v1/{name=projects/*/locations/*/collections/*/indexes/*}"
|
|
142
|
+
};
|
|
143
|
+
option (google.api.method_signature) = "name";
|
|
144
|
+
option (google.longrunning.operation_info) = {
|
|
145
|
+
response_type: "google.protobuf.Empty"
|
|
146
|
+
metadata_type: "OperationMetadata"
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
// Initiates a Long-Running Operation to import DataObjects into a Collection.
|
|
151
|
+
rpc ImportDataObjects(ImportDataObjectsRequest)
|
|
152
|
+
returns (google.longrunning.Operation) {
|
|
153
|
+
option (google.api.http) = {
|
|
154
|
+
post: "/v1/{name=projects/*/locations/*/collections/*}:importDataObjects"
|
|
155
|
+
body: "*"
|
|
156
|
+
};
|
|
157
|
+
option (google.longrunning.operation_info) = {
|
|
158
|
+
response_type: "ImportDataObjectsResponse"
|
|
159
|
+
metadata_type: "ImportDataObjectsMetadata"
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
// Message describing Collection object
|
|
165
|
+
message Collection {
|
|
166
|
+
option (google.api.resource) = {
|
|
167
|
+
type: "vectorsearch.googleapis.com/Collection"
|
|
168
|
+
pattern: "projects/{project}/locations/{location}/collections/{collection}"
|
|
169
|
+
plural: "collections"
|
|
170
|
+
singular: "collection"
|
|
171
|
+
};
|
|
172
|
+
|
|
173
|
+
// Identifier. name of resource
|
|
174
|
+
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
|
|
175
|
+
|
|
176
|
+
// Optional. User-specified display name of the collection
|
|
177
|
+
string display_name = 8 [(google.api.field_behavior) = OPTIONAL];
|
|
178
|
+
|
|
179
|
+
// Optional. User-specified description of the collection
|
|
180
|
+
string description = 9 [(google.api.field_behavior) = OPTIONAL];
|
|
181
|
+
|
|
182
|
+
// Output only. [Output only] Create time stamp
|
|
183
|
+
google.protobuf.Timestamp create_time = 2
|
|
184
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
185
|
+
|
|
186
|
+
// Output only. [Output only] Update time stamp
|
|
187
|
+
google.protobuf.Timestamp update_time = 3
|
|
188
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
189
|
+
|
|
190
|
+
// Optional. Labels as key value pairs.
|
|
191
|
+
map<string, string> labels = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
192
|
+
|
|
193
|
+
// Optional. Schema for vector fields. Only vector fields in this schema will
|
|
194
|
+
// be searchable. Field names must contain only alphanumeric characters,
|
|
195
|
+
// underscores, and hyphens.
|
|
196
|
+
map<string, VectorField> vector_schema = 7
|
|
197
|
+
[(google.api.field_behavior) = OPTIONAL];
|
|
198
|
+
|
|
199
|
+
// Optional. JSON Schema for data.
|
|
200
|
+
// Field names must contain only alphanumeric characters,
|
|
201
|
+
// underscores, and hyphens.
|
|
202
|
+
google.protobuf.Struct data_schema = 10
|
|
203
|
+
[(google.api.field_behavior) = OPTIONAL];
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
// Message describing a vector field.
|
|
207
|
+
message VectorField {
|
|
208
|
+
// Vector type configuration.
|
|
209
|
+
oneof vector_type_config {
|
|
210
|
+
// Dense vector field.
|
|
211
|
+
DenseVectorField dense_vector = 3;
|
|
212
|
+
|
|
213
|
+
// Sparse vector field.
|
|
214
|
+
SparseVectorField sparse_vector = 4;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
// Message describing a dense vector field.
|
|
219
|
+
message DenseVectorField {
|
|
220
|
+
// Dimensionality of the vector field.
|
|
221
|
+
int32 dimensions = 1;
|
|
222
|
+
|
|
223
|
+
// Optional. Configuration for generating embeddings for the vector field. If
|
|
224
|
+
// not specified, the embedding field must be populated in the DataObject.
|
|
225
|
+
VertexEmbeddingConfig vertex_embedding_config = 3
|
|
226
|
+
[(google.api.field_behavior) = OPTIONAL];
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
// Message describing a sparse vector field.
|
|
230
|
+
message SparseVectorField {}
|
|
231
|
+
|
|
232
|
+
// Message for requesting list of Collections
|
|
233
|
+
message ListCollectionsRequest {
|
|
234
|
+
// Required. Parent value for ListCollectionsRequest
|
|
235
|
+
string parent = 1 [
|
|
236
|
+
(google.api.field_behavior) = REQUIRED,
|
|
237
|
+
(google.api.resource_reference) = {
|
|
238
|
+
child_type: "vectorsearch.googleapis.com/Collection"
|
|
239
|
+
}
|
|
240
|
+
];
|
|
241
|
+
|
|
242
|
+
// Optional. Requested page size. Server may return fewer items than
|
|
243
|
+
// requested. If unspecified, server will pick an appropriate default.
|
|
244
|
+
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
245
|
+
|
|
246
|
+
// Optional. A token identifying a page of results the server should return.
|
|
247
|
+
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
248
|
+
|
|
249
|
+
// Optional. Filtering results
|
|
250
|
+
string filter = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
251
|
+
|
|
252
|
+
// Optional. Hint for how to order the results
|
|
253
|
+
string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
// Message for response to listing Collections
|
|
257
|
+
message ListCollectionsResponse {
|
|
258
|
+
// The list of Collection
|
|
259
|
+
repeated Collection collections = 1;
|
|
260
|
+
|
|
261
|
+
// A token identifying a page of results the server should return.
|
|
262
|
+
string next_page_token = 2;
|
|
263
|
+
|
|
264
|
+
// Unordered list. Locations that could not be reached.
|
|
265
|
+
repeated string unreachable = 3
|
|
266
|
+
[(google.api.field_behavior) = UNORDERED_LIST];
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
// Message for getting a Collection
|
|
270
|
+
message GetCollectionRequest {
|
|
271
|
+
// Required. Name of the resource
|
|
272
|
+
string name = 1 [
|
|
273
|
+
(google.api.field_behavior) = REQUIRED,
|
|
274
|
+
(google.api.resource_reference) = {
|
|
275
|
+
type: "vectorsearch.googleapis.com/Collection"
|
|
276
|
+
}
|
|
277
|
+
];
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
// Message for creating a Collection
|
|
281
|
+
message CreateCollectionRequest {
|
|
282
|
+
// Required. Value for parent.
|
|
283
|
+
string parent = 1 [
|
|
284
|
+
(google.api.field_behavior) = REQUIRED,
|
|
285
|
+
(google.api.resource_reference) = {
|
|
286
|
+
child_type: "vectorsearch.googleapis.com/Collection"
|
|
287
|
+
}
|
|
288
|
+
];
|
|
289
|
+
|
|
290
|
+
// Required. ID of the Collection to create.
|
|
291
|
+
// The id must be 1-63 characters long, and comply with
|
|
292
|
+
// [RFC1035](https://www.ietf.org/rfc/rfc1035.txt).
|
|
293
|
+
// Specifically, it must be 1-63 characters long and match the regular
|
|
294
|
+
// expression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?`.
|
|
295
|
+
string collection_id = 2 [(google.api.field_behavior) = REQUIRED];
|
|
296
|
+
|
|
297
|
+
// Required. The resource being created
|
|
298
|
+
Collection collection = 3 [(google.api.field_behavior) = REQUIRED];
|
|
299
|
+
|
|
300
|
+
// Optional. An optional request ID to identify requests. Specify a unique
|
|
301
|
+
// request ID so that if you must retry your request, the server will know to
|
|
302
|
+
// ignore the request if it has already been completed. The server will
|
|
303
|
+
// guarantee that for at least 60 minutes since the first request.
|
|
304
|
+
//
|
|
305
|
+
// For example, consider a situation where you make an initial request and the
|
|
306
|
+
// request times out. If you make the request again with the same request
|
|
307
|
+
// ID, the server can check if original operation with the same request ID
|
|
308
|
+
// was received, and if so, will ignore the second request. This prevents
|
|
309
|
+
// clients from accidentally creating duplicate commitments.
|
|
310
|
+
//
|
|
311
|
+
// The request ID must be a valid UUID with the exception that zero UUID is
|
|
312
|
+
// not supported (00000000-0000-0000-0000-000000000000).
|
|
313
|
+
string request_id = 4 [
|
|
314
|
+
(google.api.field_info).format = UUID4,
|
|
315
|
+
(google.api.field_behavior) = OPTIONAL
|
|
316
|
+
];
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
// Message for updating a Collection
|
|
320
|
+
message UpdateCollectionRequest {
|
|
321
|
+
// Optional. Field mask is used to specify the fields to be overwritten in the
|
|
322
|
+
// Collection resource by the update.
|
|
323
|
+
// The fields specified in the update_mask are relative to the resource, not
|
|
324
|
+
// the full request. A field will be overwritten if it is in the mask. If the
|
|
325
|
+
// user does not provide a mask then all fields present in the request will be
|
|
326
|
+
// overwritten.
|
|
327
|
+
//
|
|
328
|
+
// The following fields support update: `display_name`, `description`,
|
|
329
|
+
// `labels`, `data_schema`, `vector_schema`.
|
|
330
|
+
// For `data_schema` and `vector_schema`, fields can only be added, not
|
|
331
|
+
// deleted, but `vertex_embedding_config` in `vector_schema` can be added or
|
|
332
|
+
// removed.
|
|
333
|
+
// Partial updates for `data_schema` and `vector_schema` are also supported
|
|
334
|
+
// by using sub-field paths in `update_mask`, e.g.
|
|
335
|
+
// `data_schema.properties.foo` or `vector_schema.my_vector_field`.
|
|
336
|
+
//
|
|
337
|
+
// If `*` is provided in the update_mask, full replacement will be performed.
|
|
338
|
+
google.protobuf.FieldMask update_mask = 1
|
|
339
|
+
[(google.api.field_behavior) = OPTIONAL];
|
|
340
|
+
|
|
341
|
+
// Required. The resource being updated
|
|
342
|
+
Collection collection = 2 [(google.api.field_behavior) = REQUIRED];
|
|
343
|
+
|
|
344
|
+
// Optional. An optional request ID to identify requests. Specify a unique
|
|
345
|
+
// request ID so that if you must retry your request, the server will know to
|
|
346
|
+
// ignore the request if it has already been completed. The server will
|
|
347
|
+
// guarantee that for at least 60 minutes since the first request.
|
|
348
|
+
//
|
|
349
|
+
// For example, consider a situation where you make an initial request and the
|
|
350
|
+
// request times out. If you make the request again with the same request
|
|
351
|
+
// ID, the server can check if original operation with the same request ID
|
|
352
|
+
// was received, and if so, will ignore the second request. This prevents
|
|
353
|
+
// clients from accidentally creating duplicate commitments.
|
|
354
|
+
//
|
|
355
|
+
// The request ID must be a valid UUID with the exception that zero UUID is
|
|
356
|
+
// not supported (00000000-0000-0000-0000-000000000000).
|
|
357
|
+
string request_id = 3 [
|
|
358
|
+
(google.api.field_info).format = UUID4,
|
|
359
|
+
(google.api.field_behavior) = OPTIONAL
|
|
360
|
+
];
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
// Message for deleting a Collection
|
|
364
|
+
message DeleteCollectionRequest {
|
|
365
|
+
// Required. Name of the resource
|
|
366
|
+
string name = 1 [
|
|
367
|
+
(google.api.field_behavior) = REQUIRED,
|
|
368
|
+
(google.api.resource_reference) = {
|
|
369
|
+
type: "vectorsearch.googleapis.com/Collection"
|
|
370
|
+
}
|
|
371
|
+
];
|
|
372
|
+
|
|
373
|
+
// Optional. An optional request ID to identify requests. Specify a unique
|
|
374
|
+
// request ID so that if you must retry your request, the server will know to
|
|
375
|
+
// ignore the request if it has already been completed. The server will
|
|
376
|
+
// guarantee that for at least 60 minutes after the first request.
|
|
377
|
+
//
|
|
378
|
+
// For example, consider a situation where you make an initial request and the
|
|
379
|
+
// request times out. If you make the request again with the same request
|
|
380
|
+
// ID, the server can check if original operation with the same request ID
|
|
381
|
+
// was received, and if so, will ignore the second request. This prevents
|
|
382
|
+
// clients from accidentally creating duplicate commitments.
|
|
383
|
+
//
|
|
384
|
+
// The request ID must be a valid UUID with the exception that zero UUID is
|
|
385
|
+
// not supported (00000000-0000-0000-0000-000000000000).
|
|
386
|
+
string request_id = 2 [
|
|
387
|
+
(google.api.field_info).format = UUID4,
|
|
388
|
+
(google.api.field_behavior) = OPTIONAL
|
|
389
|
+
];
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
// Message describing Index object
|
|
393
|
+
message Index {
|
|
394
|
+
option (google.api.resource) = {
|
|
395
|
+
type: "vectorsearch.googleapis.com/Index"
|
|
396
|
+
pattern: "projects/{project}/locations/{location}/collections/{collection}/indexes/{index}"
|
|
397
|
+
plural: "indexes"
|
|
398
|
+
singular: "index"
|
|
399
|
+
};
|
|
400
|
+
|
|
401
|
+
// The infrastructure type of the index.
|
|
402
|
+
oneof infra_type {
|
|
403
|
+
// Optional. Dedicated infrastructure for the index.
|
|
404
|
+
DedicatedInfrastructure dedicated_infrastructure = 11
|
|
405
|
+
[(google.api.field_behavior) = OPTIONAL];
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
// The type of the index.
|
|
409
|
+
oneof index_type {
|
|
410
|
+
// Optional. Dense ScaNN index.
|
|
411
|
+
DenseScannIndex dense_scann = 12 [(google.api.field_behavior) = OPTIONAL];
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
// Identifier. name of resource
|
|
415
|
+
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
|
|
416
|
+
|
|
417
|
+
// Optional. User-specified display name of the index
|
|
418
|
+
string display_name = 8 [(google.api.field_behavior) = OPTIONAL];
|
|
419
|
+
|
|
420
|
+
// Optional. User-specified description of the index
|
|
421
|
+
string description = 9 [(google.api.field_behavior) = OPTIONAL];
|
|
422
|
+
|
|
423
|
+
// Optional. Labels as key value pairs.
|
|
424
|
+
map<string, string> labels = 10 [(google.api.field_behavior) = OPTIONAL];
|
|
425
|
+
|
|
426
|
+
// Output only. [Output only] Create time stamp
|
|
427
|
+
google.protobuf.Timestamp create_time = 2
|
|
428
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
429
|
+
|
|
430
|
+
// Output only. [Output only] Update time stamp
|
|
431
|
+
google.protobuf.Timestamp update_time = 3
|
|
432
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
433
|
+
|
|
434
|
+
// Optional. Distance metric used for indexing. If not specified, will default
|
|
435
|
+
// to DOT_PRODUCT.
|
|
436
|
+
DistanceMetric distance_metric = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
437
|
+
|
|
438
|
+
// Required. The collection schema field to index.
|
|
439
|
+
string index_field = 5 [(google.api.field_behavior) = REQUIRED];
|
|
440
|
+
|
|
441
|
+
// Optional. The fields to push into the index to enable fast ANN inline
|
|
442
|
+
// filtering.
|
|
443
|
+
repeated string filter_fields = 6 [(google.api.field_behavior) = OPTIONAL];
|
|
444
|
+
|
|
445
|
+
// Optional. The fields to push into the index to enable inline data
|
|
446
|
+
// retrieval.
|
|
447
|
+
repeated string store_fields = 7 [(google.api.field_behavior) = OPTIONAL];
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
// Message for creating an Index.
|
|
451
|
+
message CreateIndexRequest {
|
|
452
|
+
// Required. The resource name of the Collection for which to create the
|
|
453
|
+
// Index. Format:
|
|
454
|
+
// `projects/{project}/locations/{location}/collections/{collection}`
|
|
455
|
+
string parent = 1 [
|
|
456
|
+
(google.api.field_behavior) = REQUIRED,
|
|
457
|
+
(google.api.resource_reference) = {
|
|
458
|
+
type: "vectorsearch.googleapis.com/Collection"
|
|
459
|
+
}
|
|
460
|
+
];
|
|
461
|
+
|
|
462
|
+
// Required. ID of the Index to create.
|
|
463
|
+
// The id must be 1-63 characters long, and comply with
|
|
464
|
+
// [RFC1035](https://www.ietf.org/rfc/rfc1035.txt).
|
|
465
|
+
// Specifically, it must be 1-63 characters long and match the regular
|
|
466
|
+
// expression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?`.
|
|
467
|
+
string index_id = 2 [(google.api.field_behavior) = REQUIRED];
|
|
468
|
+
|
|
469
|
+
// Required. The resource being created
|
|
470
|
+
Index index = 3 [(google.api.field_behavior) = REQUIRED];
|
|
471
|
+
|
|
472
|
+
// Optional. An optional request ID to identify requests. Specify a unique
|
|
473
|
+
// request ID so that if you must retry your request, the server will know to
|
|
474
|
+
// ignore the request if it has already been completed. The server will
|
|
475
|
+
// guarantee that for at least 60 minutes since the first request.
|
|
476
|
+
//
|
|
477
|
+
// For example, consider a situation where you make an initial request and the
|
|
478
|
+
// request times out. If you make the request again with the same request
|
|
479
|
+
// ID, the server can check if original operation with the same request ID
|
|
480
|
+
// was received, and if so, will ignore the second request. This prevents
|
|
481
|
+
// clients from accidentally creating duplicate commitments.
|
|
482
|
+
//
|
|
483
|
+
// The request ID must be a valid UUID with the exception that zero UUID is
|
|
484
|
+
// not supported (00000000-0000-0000-0000-000000000000).
|
|
485
|
+
string request_id = 4 [
|
|
486
|
+
(google.api.field_info).format = UUID4,
|
|
487
|
+
(google.api.field_behavior) = OPTIONAL
|
|
488
|
+
];
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
// Message for deleting an Index.
|
|
492
|
+
message DeleteIndexRequest {
|
|
493
|
+
// Required. The resource name of the Index to delete.
|
|
494
|
+
// Format:
|
|
495
|
+
// `projects/{project}/locations/{location}/collections/{collection}/indexes/{index}`
|
|
496
|
+
string name = 1 [
|
|
497
|
+
(google.api.field_behavior) = REQUIRED,
|
|
498
|
+
(google.api.resource_reference) = {
|
|
499
|
+
type: "vectorsearch.googleapis.com/Index"
|
|
500
|
+
}
|
|
501
|
+
];
|
|
502
|
+
|
|
503
|
+
// Optional. An optional request ID to identify requests. Specify a unique
|
|
504
|
+
// request ID so that if you must retry your request, the server will know to
|
|
505
|
+
// ignore the request if it has already been completed. The server will
|
|
506
|
+
// guarantee that for at least 60 minutes since the first request.
|
|
507
|
+
//
|
|
508
|
+
// For example, consider a situation where you make an initial request and the
|
|
509
|
+
// request times out. If you make the request again with the same request
|
|
510
|
+
// ID, the server can check if original operation with the same request ID
|
|
511
|
+
// was received, and if so, will ignore the second request. This prevents
|
|
512
|
+
// clients from accidentally creating duplicate commitments.
|
|
513
|
+
//
|
|
514
|
+
// The request ID must be a valid UUID with the exception that zero UUID is
|
|
515
|
+
// not supported (00000000-0000-0000-0000-000000000000).
|
|
516
|
+
string request_id = 2 [
|
|
517
|
+
(google.api.field_info).format = UUID4,
|
|
518
|
+
(google.api.field_behavior) = OPTIONAL
|
|
519
|
+
];
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
// Message for requesting list of Indexes
|
|
523
|
+
message ListIndexesRequest {
|
|
524
|
+
// Required. Parent value for ListIndexesRequest
|
|
525
|
+
string parent = 1 [
|
|
526
|
+
(google.api.field_behavior) = REQUIRED,
|
|
527
|
+
(google.api.resource_reference) = {
|
|
528
|
+
child_type: "vectorsearch.googleapis.com/Index"
|
|
529
|
+
}
|
|
530
|
+
];
|
|
531
|
+
|
|
532
|
+
// Optional. Requested page size. Server may return fewer items than
|
|
533
|
+
// requested. If unspecified, server will pick an appropriate default.
|
|
534
|
+
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
535
|
+
|
|
536
|
+
// Optional. A token identifying a page of results the server should return.
|
|
537
|
+
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
538
|
+
|
|
539
|
+
// Optional. Filtering results
|
|
540
|
+
string filter = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
541
|
+
|
|
542
|
+
// Optional. Hint for how to order the results
|
|
543
|
+
string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
// Message for response to listing Indexes
|
|
547
|
+
message ListIndexesResponse {
|
|
548
|
+
// The list of Index
|
|
549
|
+
repeated Index indexes = 1;
|
|
550
|
+
|
|
551
|
+
// A token identifying a page of results the server should return.
|
|
552
|
+
string next_page_token = 2;
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
// Message for getting an Index
|
|
556
|
+
message GetIndexRequest {
|
|
557
|
+
// Required. Name of the resource
|
|
558
|
+
string name = 1 [
|
|
559
|
+
(google.api.field_behavior) = REQUIRED,
|
|
560
|
+
(google.api.resource_reference) = {
|
|
561
|
+
type: "vectorsearch.googleapis.com/Index"
|
|
562
|
+
}
|
|
563
|
+
];
|
|
564
|
+
}
|
|
565
|
+
|
|
566
|
+
// Represents the metadata of the long-running operation.
|
|
567
|
+
message OperationMetadata {
|
|
568
|
+
// Output only. The time the operation was created.
|
|
569
|
+
google.protobuf.Timestamp create_time = 1
|
|
570
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
571
|
+
|
|
572
|
+
// Output only. The time the operation finished running.
|
|
573
|
+
google.protobuf.Timestamp end_time = 2
|
|
574
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
575
|
+
|
|
576
|
+
// Output only. Server-defined resource path for the target of the operation.
|
|
577
|
+
string target = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
578
|
+
|
|
579
|
+
// Output only. Name of the verb executed by the operation.
|
|
580
|
+
string verb = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
581
|
+
|
|
582
|
+
// Output only. Human-readable status of the operation, if any.
|
|
583
|
+
string status_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
584
|
+
|
|
585
|
+
// Output only. Identifies whether the user has requested cancellation
|
|
586
|
+
// of the operation. Operations that have been cancelled successfully
|
|
587
|
+
// have
|
|
588
|
+
// [google.longrunning.Operation.error][google.longrunning.Operation.error]
|
|
589
|
+
// value with a [google.rpc.Status.code][google.rpc.Status.code] of `1`,
|
|
590
|
+
// corresponding to `Code.CANCELLED`.
|
|
591
|
+
bool requested_cancellation = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
592
|
+
|
|
593
|
+
// Output only. API version used to start the operation.
|
|
594
|
+
string api_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
// Request message for
|
|
598
|
+
// [VectorSearchService.ImportDataObjects][google.cloud.vectorsearch.v1.VectorSearchService.ImportDataObjects].
|
|
599
|
+
message ImportDataObjectsRequest {
|
|
600
|
+
// Google Cloud Storage configuration for the import.
|
|
601
|
+
message GcsImportConfig {
|
|
602
|
+
// Required. URI prefix of the Cloud Storage DataObjects to import.
|
|
603
|
+
string contents_uri = 1 [(google.api.field_behavior) = REQUIRED];
|
|
604
|
+
|
|
605
|
+
// Required. URI prefix of the Cloud Storage location to write any errors
|
|
606
|
+
// encountered during the import.
|
|
607
|
+
string error_uri = 2 [(google.api.field_behavior) = REQUIRED];
|
|
608
|
+
|
|
609
|
+
// Optional. URI prefix of the Cloud Storage location to write DataObject
|
|
610
|
+
// `IDs` and `etags` of DataObjects that were successfully imported. The
|
|
611
|
+
// service will write the successfully imported DataObjects to sharded files
|
|
612
|
+
// under this prefix. If this field is empty, no output will be written.
|
|
613
|
+
string output_uri = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
614
|
+
}
|
|
615
|
+
|
|
616
|
+
// The configuration for the import data and error results.
|
|
617
|
+
oneof config {
|
|
618
|
+
// The Cloud Storage location of the input content.
|
|
619
|
+
GcsImportConfig gcs_import = 2;
|
|
620
|
+
}
|
|
621
|
+
|
|
622
|
+
// Required. The resource name of the Collection to import DataObjects into.
|
|
623
|
+
// Format: `projects/{project}/locations/{location}/collections/{collection}`.
|
|
624
|
+
string name = 1 [
|
|
625
|
+
(google.api.field_behavior) = REQUIRED,
|
|
626
|
+
(google.api.resource_reference) = {
|
|
627
|
+
type: "vectorsearch.googleapis.com/Collection"
|
|
628
|
+
}
|
|
629
|
+
];
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
// Metadata for
|
|
633
|
+
// [VectorSearchService.ImportDataObjects][google.cloud.vectorsearch.v1.VectorSearchService.ImportDataObjects].
|
|
634
|
+
message ImportDataObjectsMetadata {
|
|
635
|
+
// Output only. The time the operation was created.
|
|
636
|
+
google.protobuf.Timestamp create_time = 1
|
|
637
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
638
|
+
|
|
639
|
+
// Output only. The time the operation was last updated.
|
|
640
|
+
google.protobuf.Timestamp update_time = 2
|
|
641
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
642
|
+
|
|
643
|
+
// Output only. Number of DataObjects that were processed successfully.
|
|
644
|
+
int64 success_count = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
645
|
+
|
|
646
|
+
// Output only. Number of DataObjects that failed during processing.
|
|
647
|
+
int64 failure_count = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
648
|
+
}
|
|
649
|
+
|
|
650
|
+
// Response for
|
|
651
|
+
// [VectorSearchService.ImportDataObjects][google.cloud.vectorsearch.v1.VectorSearchService.ImportDataObjects].
|
|
652
|
+
message ImportDataObjectsResponse {
|
|
653
|
+
// Status of the LRO
|
|
654
|
+
google.rpc.Status status = 1;
|
|
655
|
+
}
|
|
656
|
+
|
|
657
|
+
// Represents dedicated infrastructure for the index.
|
|
658
|
+
message DedicatedInfrastructure {
|
|
659
|
+
// Specification for autoscaling.
|
|
660
|
+
message AutoscalingSpec {
|
|
661
|
+
// Optional. The minimum number of replicas. If not set or set to `0`,
|
|
662
|
+
// defaults to `2`. Must be >= `2` and <= `1000`.
|
|
663
|
+
int32 min_replica_count = 1 [(google.api.field_behavior) = OPTIONAL];
|
|
664
|
+
|
|
665
|
+
// Optional. The maximum number of replicas. If not set or set to `0`,
|
|
666
|
+
// defaults to the greater of `min_replica_count` and `5`. Must be >=
|
|
667
|
+
// `min_replica_count` and <= `1000`.
|
|
668
|
+
int32 max_replica_count = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
669
|
+
}
|
|
670
|
+
|
|
671
|
+
// Mode of the dedicated infrastructure.
|
|
672
|
+
enum Mode {
|
|
673
|
+
// Default will use `PERFORMANCE_OPTIMIZED`.
|
|
674
|
+
MODE_UNSPECIFIED = 0;
|
|
675
|
+
|
|
676
|
+
// This is storage optimized variation.
|
|
677
|
+
STORAGE_OPTIMIZED = 1;
|
|
678
|
+
|
|
679
|
+
// This is Performance optimized on E2 or equivalent family.
|
|
680
|
+
PERFORMANCE_OPTIMIZED = 2;
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
// Optional. Mode of the dedicated infrastructure.
|
|
684
|
+
optional Mode mode = 1 [(google.api.field_behavior) = OPTIONAL];
|
|
685
|
+
|
|
686
|
+
// Optional. Autoscaling specification.
|
|
687
|
+
AutoscalingSpec autoscaling_spec = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
688
|
+
}
|
|
689
|
+
|
|
690
|
+
// Dense ScaNN index configuration.
|
|
691
|
+
message DenseScannIndex {
|
|
692
|
+
// Feature norm type for ScaNN index.
|
|
693
|
+
enum FeatureNormType {
|
|
694
|
+
// Unspecified feature norm type.
|
|
695
|
+
FEATURE_NORM_TYPE_UNSPECIFIED = 0;
|
|
696
|
+
|
|
697
|
+
// No norm applied.
|
|
698
|
+
NONE = 1;
|
|
699
|
+
|
|
700
|
+
// Unit L2 norm.
|
|
701
|
+
UNIT_L2_NORM = 2;
|
|
702
|
+
}
|
|
703
|
+
|
|
704
|
+
// Optional. Feature norm type.
|
|
705
|
+
FeatureNormType feature_norm_type = 2
|
|
706
|
+
[(google.api.field_behavior) = OPTIONAL];
|
|
707
|
+
}
|