model_service.proto 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693
  1. // Copyright 2022 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. syntax = "proto3";
  15. package google.cloud.aiplatform.v1beta1;
  16. import "google/api/annotations.proto";
  17. import "google/api/client.proto";
  18. import "google/api/field_behavior.proto";
  19. import "google/api/resource.proto";
  20. import "google/cloud/aiplatform/v1beta1/explanation.proto";
  21. import "google/cloud/aiplatform/v1beta1/io.proto";
  22. import "google/cloud/aiplatform/v1beta1/model.proto";
  23. import "google/cloud/aiplatform/v1beta1/model_evaluation.proto";
  24. import "google/cloud/aiplatform/v1beta1/model_evaluation_slice.proto";
  25. import "google/cloud/aiplatform/v1beta1/operation.proto";
  26. import "google/longrunning/operations.proto";
  27. import "google/protobuf/field_mask.proto";
  28. option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1";
  29. option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform";
  30. option java_multiple_files = true;
  31. option java_outer_classname = "ModelServiceProto";
  32. option java_package = "com.google.cloud.aiplatform.v1beta1";
  33. option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1";
  34. option ruby_package = "Google::Cloud::AIPlatform::V1beta1";
  35. // A service for managing Vertex AI's machine learning Models.
  36. service ModelService {
  37. option (google.api.default_host) = "aiplatform.googleapis.com";
  38. option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
  39. // Uploads a Model artifact into Vertex AI.
  40. rpc UploadModel(UploadModelRequest) returns (google.longrunning.Operation) {
  41. option (google.api.http) = {
  42. post: "/v1beta1/{parent=projects/*/locations/*}/models:upload"
  43. body: "*"
  44. };
  45. option (google.api.method_signature) = "parent,model";
  46. option (google.longrunning.operation_info) = {
  47. response_type: "UploadModelResponse"
  48. metadata_type: "UploadModelOperationMetadata"
  49. };
  50. }
  51. // Gets a Model.
  52. rpc GetModel(GetModelRequest) returns (Model) {
  53. option (google.api.http) = {
  54. get: "/v1beta1/{name=projects/*/locations/*/models/*}"
  55. };
  56. option (google.api.method_signature) = "name";
  57. }
  58. // Lists Models in a Location.
  59. rpc ListModels(ListModelsRequest) returns (ListModelsResponse) {
  60. option (google.api.http) = {
  61. get: "/v1beta1/{parent=projects/*/locations/*}/models"
  62. };
  63. option (google.api.method_signature) = "parent";
  64. }
  65. // Lists versions of the specified model.
  66. rpc ListModelVersions(ListModelVersionsRequest) returns (ListModelVersionsResponse) {
  67. option (google.api.http) = {
  68. get: "/v1beta1/{name=projects/*/locations/*/models/*}:listVersions"
  69. };
  70. option (google.api.method_signature) = "name";
  71. }
  72. // Updates a Model.
  73. rpc UpdateModel(UpdateModelRequest) returns (Model) {
  74. option (google.api.http) = {
  75. patch: "/v1beta1/{model.name=projects/*/locations/*/models/*}"
  76. body: "model"
  77. };
  78. option (google.api.method_signature) = "model,update_mask";
  79. }
  80. // Incrementally update the dataset used for an examples model.
  81. rpc UpdateExplanationDataset(UpdateExplanationDatasetRequest) returns (google.longrunning.Operation) {
  82. option (google.api.http) = {
  83. post: "/v1beta1/{model=projects/*/locations/*/models/*}:updateExplanationDataset"
  84. body: "*"
  85. };
  86. option (google.api.method_signature) = "model";
  87. option (google.longrunning.operation_info) = {
  88. response_type: "UpdateExplanationDatasetResponse"
  89. metadata_type: "UpdateExplanationDatasetOperationMetadata"
  90. };
  91. }
  92. // Deletes a Model.
  93. //
  94. // A model cannot be deleted if any [Endpoint][google.cloud.aiplatform.v1beta1.Endpoint] resource has a
  95. // [DeployedModel][google.cloud.aiplatform.v1beta1.DeployedModel] based on the model in its
  96. // [deployed_models][google.cloud.aiplatform.v1beta1.Endpoint.deployed_models] field.
  97. rpc DeleteModel(DeleteModelRequest) returns (google.longrunning.Operation) {
  98. option (google.api.http) = {
  99. delete: "/v1beta1/{name=projects/*/locations/*/models/*}"
  100. };
  101. option (google.api.method_signature) = "name";
  102. option (google.longrunning.operation_info) = {
  103. response_type: "google.protobuf.Empty"
  104. metadata_type: "DeleteOperationMetadata"
  105. };
  106. }
  107. // Deletes a Model version.
  108. //
  109. // Model version can only be deleted if there are no [DeployedModels][]
  110. // created from it. Deleting the only version in the Model is not allowed. Use
  111. // [DeleteModel][google.cloud.aiplatform.v1beta1.ModelService.DeleteModel] for deleting the Model instead.
  112. rpc DeleteModelVersion(DeleteModelVersionRequest) returns (google.longrunning.Operation) {
  113. option (google.api.http) = {
  114. delete: "/v1beta1/{name=projects/*/locations/*/models/*}:deleteVersion"
  115. };
  116. option (google.api.method_signature) = "name";
  117. option (google.longrunning.operation_info) = {
  118. response_type: "google.protobuf.Empty"
  119. metadata_type: "DeleteOperationMetadata"
  120. };
  121. }
  122. // Merges a set of aliases for a Model version.
  123. rpc MergeVersionAliases(MergeVersionAliasesRequest) returns (Model) {
  124. option (google.api.http) = {
  125. post: "/v1beta1/{name=projects/*/locations/*/models/*}:mergeVersionAliases"
  126. body: "*"
  127. };
  128. option (google.api.method_signature) = "name,version_aliases";
  129. }
  130. // Exports a trained, exportable Model to a location specified by the
  131. // user. A Model is considered to be exportable if it has at least one
  132. // [supported export format][google.cloud.aiplatform.v1beta1.Model.supported_export_formats].
  133. rpc ExportModel(ExportModelRequest) returns (google.longrunning.Operation) {
  134. option (google.api.http) = {
  135. post: "/v1beta1/{name=projects/*/locations/*/models/*}:export"
  136. body: "*"
  137. };
  138. option (google.api.method_signature) = "name,output_config";
  139. option (google.longrunning.operation_info) = {
  140. response_type: "ExportModelResponse"
  141. metadata_type: "ExportModelOperationMetadata"
  142. };
  143. }
  144. // Imports an externally generated ModelEvaluation.
  145. rpc ImportModelEvaluation(ImportModelEvaluationRequest) returns (ModelEvaluation) {
  146. option (google.api.http) = {
  147. post: "/v1beta1/{parent=projects/*/locations/*/models/*}/evaluations:import"
  148. body: "*"
  149. };
  150. option (google.api.method_signature) = "parent,model_evaluation";
  151. }
  152. // Imports a list of externally generated ModelEvaluationSlice.
  153. rpc BatchImportModelEvaluationSlices(BatchImportModelEvaluationSlicesRequest) returns (BatchImportModelEvaluationSlicesResponse) {
  154. option (google.api.http) = {
  155. post: "/v1beta1/{parent=projects/*/locations/*/models/*/evaluations/*}/slices:batchImport"
  156. body: "*"
  157. };
  158. option (google.api.method_signature) = "parent,model_evaluation_slices";
  159. }
  160. // Gets a ModelEvaluation.
  161. rpc GetModelEvaluation(GetModelEvaluationRequest) returns (ModelEvaluation) {
  162. option (google.api.http) = {
  163. get: "/v1beta1/{name=projects/*/locations/*/models/*/evaluations/*}"
  164. };
  165. option (google.api.method_signature) = "name";
  166. }
  167. // Lists ModelEvaluations in a Model.
  168. rpc ListModelEvaluations(ListModelEvaluationsRequest) returns (ListModelEvaluationsResponse) {
  169. option (google.api.http) = {
  170. get: "/v1beta1/{parent=projects/*/locations/*/models/*}/evaluations"
  171. };
  172. option (google.api.method_signature) = "parent";
  173. }
  174. // Gets a ModelEvaluationSlice.
  175. rpc GetModelEvaluationSlice(GetModelEvaluationSliceRequest) returns (ModelEvaluationSlice) {
  176. option (google.api.http) = {
  177. get: "/v1beta1/{name=projects/*/locations/*/models/*/evaluations/*/slices/*}"
  178. };
  179. option (google.api.method_signature) = "name";
  180. }
  181. // Lists ModelEvaluationSlices in a ModelEvaluation.
  182. rpc ListModelEvaluationSlices(ListModelEvaluationSlicesRequest) returns (ListModelEvaluationSlicesResponse) {
  183. option (google.api.http) = {
  184. get: "/v1beta1/{parent=projects/*/locations/*/models/*/evaluations/*}/slices"
  185. };
  186. option (google.api.method_signature) = "parent";
  187. }
  188. }
  189. // Request message for [ModelService.UploadModel][google.cloud.aiplatform.v1beta1.ModelService.UploadModel].
  190. message UploadModelRequest {
  191. // Required. The resource name of the Location into which to upload the Model.
  192. // Format: `projects/{project}/locations/{location}`
  193. string parent = 1 [
  194. (google.api.field_behavior) = REQUIRED,
  195. (google.api.resource_reference) = {
  196. type: "locations.googleapis.com/Location"
  197. }
  198. ];
  199. // Optional. The resource name of the model into which to upload the version. Only
  200. // specify this field when uploading a new version.
  201. string parent_model = 4 [(google.api.field_behavior) = OPTIONAL];
  202. // Optional. The ID to use for the uploaded Model, which will become the final
  203. // component of the model resource name.
  204. //
  205. // This value may be up to 63 characters, and valid characters are
  206. // `[a-z0-9_-]`. The first character cannot be a number or hyphen.
  207. string model_id = 5 [(google.api.field_behavior) = OPTIONAL];
  208. // Required. The Model to create.
  209. Model model = 2 [(google.api.field_behavior) = REQUIRED];
  210. }
  211. // Details of [ModelService.UploadModel][google.cloud.aiplatform.v1beta1.ModelService.UploadModel] operation.
  212. message UploadModelOperationMetadata {
  213. // The common part of the operation metadata.
  214. GenericOperationMetadata generic_metadata = 1;
  215. }
  216. // Response message of [ModelService.UploadModel][google.cloud.aiplatform.v1beta1.ModelService.UploadModel] operation.
  217. message UploadModelResponse {
  218. // The name of the uploaded Model resource.
  219. // Format: `projects/{project}/locations/{location}/models/{model}`
  220. string model = 1 [(google.api.resource_reference) = {
  221. type: "aiplatform.googleapis.com/Model"
  222. }];
  223. // Output only. The version ID of the model that is uploaded.
  224. string model_version_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
  225. }
  226. // Request message for [ModelService.GetModel][google.cloud.aiplatform.v1beta1.ModelService.GetModel].
  227. message GetModelRequest {
  228. // Required. The name of the Model resource.
  229. // Format: `projects/{project}/locations/{location}/models/{model}`
  230. //
  231. // In order to retrieve a specific version of the model, also provide
  232. // the version ID or version alias.
  233. // Example: `projects/{project}/locations/{location}/models/{model}@2`
  234. // or
  235. // `projects/{project}/locations/{location}/models/{model}@golden`
  236. // If no version ID or alias is specified, the "default" version will be
  237. // returned. The "default" version alias is created for the first version of
  238. // the model, and can be moved to other versions later on. There will be
  239. // exactly one default version.
  240. string name = 1 [
  241. (google.api.field_behavior) = REQUIRED,
  242. (google.api.resource_reference) = {
  243. type: "aiplatform.googleapis.com/Model"
  244. }
  245. ];
  246. }
  247. // Request message for [ModelService.ListModels][google.cloud.aiplatform.v1beta1.ModelService.ListModels].
  248. message ListModelsRequest {
  249. // Required. The resource name of the Location to list the Models from.
  250. // Format: `projects/{project}/locations/{location}`
  251. string parent = 1 [
  252. (google.api.field_behavior) = REQUIRED,
  253. (google.api.resource_reference) = {
  254. type: "locations.googleapis.com/Location"
  255. }
  256. ];
  257. // An expression for filtering the results of the request. For field names
  258. // both snake_case and camelCase are supported.
  259. //
  260. // * `model` supports = and !=. `model` represents the Model ID,
  261. // i.e. the last segment of the Model's [resource name][google.cloud.aiplatform.v1beta1.Model.name].
  262. // * `display_name` supports = and !=
  263. // * `labels` supports general map functions that is:
  264. // * `labels.key=value` - key:value equality
  265. // * `labels.key:* or labels:key - key existence
  266. // * A key including a space must be quoted. `labels."a key"`.
  267. //
  268. // Some examples:
  269. //
  270. // * `model=1234`
  271. // * `displayName="myDisplayName"`
  272. // * `labels.myKey="myValue"`
  273. string filter = 2;
  274. // The standard list page size.
  275. int32 page_size = 3;
  276. // The standard list page token.
  277. // Typically obtained via
  278. // [ListModelsResponse.next_page_token][google.cloud.aiplatform.v1beta1.ListModelsResponse.next_page_token] of the previous
  279. // [ModelService.ListModels][google.cloud.aiplatform.v1beta1.ModelService.ListModels] call.
  280. string page_token = 4;
  281. // Mask specifying which fields to read.
  282. google.protobuf.FieldMask read_mask = 5;
  283. }
  284. // Response message for [ModelService.ListModels][google.cloud.aiplatform.v1beta1.ModelService.ListModels]
  285. message ListModelsResponse {
  286. // List of Models in the requested page.
  287. repeated Model models = 1;
  288. // A token to retrieve next page of results.
  289. // Pass to [ListModelsRequest.page_token][google.cloud.aiplatform.v1beta1.ListModelsRequest.page_token] to obtain that page.
  290. string next_page_token = 2;
  291. }
  292. // Request message for [ModelService.ListModelVersions][google.cloud.aiplatform.v1beta1.ModelService.ListModelVersions].
  293. message ListModelVersionsRequest {
  294. // Required. The name of the model to list versions for.
  295. string name = 1 [
  296. (google.api.field_behavior) = REQUIRED,
  297. (google.api.resource_reference) = {
  298. type: "aiplatform.googleapis.com/Model"
  299. }
  300. ];
  301. // The standard list page size.
  302. int32 page_size = 2;
  303. // The standard list page token.
  304. // Typically obtained via
  305. // [ListModelVersionsResponse.next_page_token][google.cloud.aiplatform.v1beta1.ListModelVersionsResponse.next_page_token] of the previous
  306. // [ModelService.ListModelversions][] call.
  307. string page_token = 3;
  308. // An expression for filtering the results of the request. For field names
  309. // both snake_case and camelCase are supported.
  310. //
  311. // * `labels` supports general map functions that is:
  312. // * `labels.key=value` - key:value equality
  313. // * `labels.key:* or labels:key - key existence
  314. // * A key including a space must be quoted. `labels."a key"`.
  315. //
  316. // Some examples:
  317. //
  318. // * `labels.myKey="myValue"`
  319. string filter = 4;
  320. // Mask specifying which fields to read.
  321. google.protobuf.FieldMask read_mask = 5;
  322. }
  323. // Response message for [ModelService.ListModelVersions][google.cloud.aiplatform.v1beta1.ModelService.ListModelVersions]
  324. message ListModelVersionsResponse {
  325. // List of Model versions in the requested page.
  326. // In the returned Model name field, version ID instead of regvision tag will
  327. // be included.
  328. repeated Model models = 1;
  329. // A token to retrieve the next page of results.
  330. // Pass to [ListModelVersionsRequest.page_token][google.cloud.aiplatform.v1beta1.ListModelVersionsRequest.page_token] to obtain that page.
  331. string next_page_token = 2;
  332. }
  333. // Request message for [ModelService.UpdateModel][google.cloud.aiplatform.v1beta1.ModelService.UpdateModel].
  334. message UpdateModelRequest {
  335. // Required. The Model which replaces the resource on the server.
  336. // When Model Versioning is enabled, the model.name will be used to determine
  337. // whether to update the model or model version.
  338. // 1. model.name with the @ value, e.g. models/123@1, refers to a version
  339. // specific update.
  340. // 2. model.name without the @ value, e.g. models/123, refers to a model
  341. // update.
  342. // 3. model.name with @-, e.g. models/123@-, refers to a model update.
  343. // 4. Supported model fields: display_name, description; supported
  344. // version-specific fields: version_description. Labels are supported in both
  345. // scenarios. Both the model labels and the version labels are merged when a
  346. // model is returned. When updating labels, if the request is for
  347. // model-specific update, model label gets updated. Otherwise, version labels
  348. // get updated.
  349. // 5. A model name or model version name fields update mismatch will cause a
  350. // precondition error.
  351. // 6. One request cannot update both the model and the version fields. You
  352. // must update them separately.
  353. Model model = 1 [(google.api.field_behavior) = REQUIRED];
  354. // Required. The update mask applies to the resource.
  355. // For the `FieldMask` definition, see [google.protobuf.FieldMask][google.protobuf.FieldMask].
  356. google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
  357. }
  358. // Request message for
  359. // [ModelService.UpdateExplanationDataset][google.cloud.aiplatform.v1beta1.ModelService.UpdateExplanationDataset].
  360. message UpdateExplanationDatasetRequest {
  361. // Required. The resource name of the Model to update.
  362. // Format: `projects/{project}/locations/{location}/models/{model}`
  363. string model = 1 [
  364. (google.api.field_behavior) = REQUIRED,
  365. (google.api.resource_reference) = {
  366. type: "aiplatform.googleapis.com/Model"
  367. }
  368. ];
  369. // The example config containing the location of the dataset.
  370. Examples examples = 2;
  371. }
  372. // Runtime operation information for
  373. // [ModelService.UpdateExplanationDataset][google.cloud.aiplatform.v1beta1.ModelService.UpdateExplanationDataset].
  374. message UpdateExplanationDatasetOperationMetadata {
  375. // The common part of the operation metadata.
  376. GenericOperationMetadata generic_metadata = 1;
  377. }
  378. // Request message for [ModelService.DeleteModel][google.cloud.aiplatform.v1beta1.ModelService.DeleteModel].
  379. message DeleteModelRequest {
  380. // Required. The name of the Model resource to be deleted.
  381. // Format: `projects/{project}/locations/{location}/models/{model}`
  382. string name = 1 [
  383. (google.api.field_behavior) = REQUIRED,
  384. (google.api.resource_reference) = {
  385. type: "aiplatform.googleapis.com/Model"
  386. }
  387. ];
  388. }
  389. // Request message for [ModelService.DeleteModelVersion][google.cloud.aiplatform.v1beta1.ModelService.DeleteModelVersion].
  390. message DeleteModelVersionRequest {
  391. // Required. The name of the model version to be deleted, with a version ID explicitly
  392. // included.
  393. //
  394. // Example: `projects/{project}/locations/{location}/models/{model}@1234`
  395. string name = 1 [
  396. (google.api.field_behavior) = REQUIRED,
  397. (google.api.resource_reference) = {
  398. type: "aiplatform.googleapis.com/Model"
  399. }
  400. ];
  401. }
  402. // Request message for [ModelService.MergeVersionAliases][google.cloud.aiplatform.v1beta1.ModelService.MergeVersionAliases].
  403. message MergeVersionAliasesRequest {
  404. // Required. The name of the model version to merge aliases, with a version ID
  405. // explicitly included.
  406. //
  407. // Example: `projects/{project}/locations/{location}/models/{model}@1234`
  408. string name = 1 [
  409. (google.api.field_behavior) = REQUIRED,
  410. (google.api.resource_reference) = {
  411. type: "aiplatform.googleapis.com/Model"
  412. }
  413. ];
  414. // Required. The set of version aliases to merge.
  415. // The alias should be at most 128 characters, and match
  416. // `[a-z][a-zA-Z0-9-]{0,126}[a-z-0-9]`.
  417. // Add the `-` prefix to an alias means removing that alias from the version.
  418. // `-` is NOT counted in the 128 characters. Example: `-golden` means removing
  419. // the `golden` alias from the version.
  420. //
  421. // There is NO ordering in aliases, which means
  422. // 1) The aliases returned from GetModel API might not have the exactly same
  423. // order from this MergeVersionAliases API. 2) Adding and deleting the same
  424. // alias in the request is not recommended, and the 2 operations will be
  425. // cancelled out.
  426. repeated string version_aliases = 2 [(google.api.field_behavior) = REQUIRED];
  427. }
  428. // Request message for [ModelService.ExportModel][google.cloud.aiplatform.v1beta1.ModelService.ExportModel].
  429. message ExportModelRequest {
  430. // Output configuration for the Model export.
  431. message OutputConfig {
  432. // The ID of the format in which the Model must be exported. Each Model
  433. // lists the [export formats it supports][google.cloud.aiplatform.v1beta1.Model.supported_export_formats].
  434. // If no value is provided here, then the first from the list of the Model's
  435. // supported formats is used by default.
  436. string export_format_id = 1;
  437. // The Cloud Storage location where the Model artifact is to be
  438. // written to. Under the directory given as the destination a new one with
  439. // name "`model-export-<model-display-name>-<timestamp-of-export-call>`",
  440. // where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format,
  441. // will be created. Inside, the Model and any of its supporting files
  442. // will be written.
  443. // This field should only be set when the `exportableContent` field of the
  444. // [Model.supported_export_formats] object contains `ARTIFACT`.
  445. GcsDestination artifact_destination = 3;
  446. // The Google Container Registry or Artifact Registry uri where the
  447. // Model container image will be copied to.
  448. // This field should only be set when the `exportableContent` field of the
  449. // [Model.supported_export_formats] object contains `IMAGE`.
  450. ContainerRegistryDestination image_destination = 4;
  451. }
  452. // Required. The resource name of the Model to export.
  453. // The resource name may contain version id or version alias to specify the
  454. // version, if no version is specified, the default version will be exported.
  455. string name = 1 [
  456. (google.api.field_behavior) = REQUIRED,
  457. (google.api.resource_reference) = {
  458. type: "aiplatform.googleapis.com/Model"
  459. }
  460. ];
  461. // Required. The desired output location and configuration.
  462. OutputConfig output_config = 2 [(google.api.field_behavior) = REQUIRED];
  463. }
  464. // Details of [ModelService.ExportModel][google.cloud.aiplatform.v1beta1.ModelService.ExportModel] operation.
  465. message ExportModelOperationMetadata {
  466. // Further describes the output of the ExportModel. Supplements
  467. // [ExportModelRequest.OutputConfig][google.cloud.aiplatform.v1beta1.ExportModelRequest.OutputConfig].
  468. message OutputInfo {
  469. // Output only. If the Model artifact is being exported to Google Cloud Storage this is
  470. // the full path of the directory created, into which the Model files are
  471. // being written to.
  472. string artifact_output_uri = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
  473. // Output only. If the Model image is being exported to Google Container Registry or
  474. // Artifact Registry this is the full path of the image created.
  475. string image_output_uri = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
  476. }
  477. // The common part of the operation metadata.
  478. GenericOperationMetadata generic_metadata = 1;
  479. // Output only. Information further describing the output of this Model export.
  480. OutputInfo output_info = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
  481. }
  482. // Response message of [ModelService.UpdateExplanationDataset][google.cloud.aiplatform.v1beta1.ModelService.UpdateExplanationDataset] operation.
  483. message UpdateExplanationDatasetResponse {
  484. }
  485. // Response message of [ModelService.ExportModel][google.cloud.aiplatform.v1beta1.ModelService.ExportModel] operation.
  486. message ExportModelResponse {
  487. }
  488. // Request message for [ModelService.ImportModelEvaluation][google.cloud.aiplatform.v1beta1.ModelService.ImportModelEvaluation]
  489. message ImportModelEvaluationRequest {
  490. // Required. The name of the parent model resource.
  491. // Format: `projects/{project}/locations/{location}/models/{model}`
  492. string parent = 1 [
  493. (google.api.field_behavior) = REQUIRED,
  494. (google.api.resource_reference) = {
  495. type: "aiplatform.googleapis.com/Model"
  496. }
  497. ];
  498. // Required. Model evaluation resource to be imported.
  499. ModelEvaluation model_evaluation = 2 [(google.api.field_behavior) = REQUIRED];
  500. }
  501. // Request message for [ModelService.BatchImportModelEvaluationSlices][google.cloud.aiplatform.v1beta1.ModelService.BatchImportModelEvaluationSlices]
  502. message BatchImportModelEvaluationSlicesRequest {
  503. // Required. The name of the parent ModelEvaluation resource.
  504. // Format:
  505. // `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}`
  506. string parent = 1 [
  507. (google.api.field_behavior) = REQUIRED,
  508. (google.api.resource_reference) = {
  509. type: "aiplatform.googleapis.com/ModelEvaluation"
  510. }
  511. ];
  512. // Required. Model evaluation slice resource to be imported.
  513. repeated ModelEvaluationSlice model_evaluation_slices = 2 [(google.api.field_behavior) = REQUIRED];
  514. }
  515. // Response message for [ModelService.BatchImportModelEvaluationSlices][google.cloud.aiplatform.v1beta1.ModelService.BatchImportModelEvaluationSlices]
  516. message BatchImportModelEvaluationSlicesResponse {
  517. // Output only. List of imported [ModelEvaluationSlice.name][google.cloud.aiplatform.v1beta1.ModelEvaluationSlice.name].
  518. repeated string imported_model_evaluation_slices = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
  519. }
  520. // Request message for [ModelService.GetModelEvaluation][google.cloud.aiplatform.v1beta1.ModelService.GetModelEvaluation].
  521. message GetModelEvaluationRequest {
  522. // Required. The name of the ModelEvaluation resource.
  523. // Format:
  524. // `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}`
  525. string name = 1 [
  526. (google.api.field_behavior) = REQUIRED,
  527. (google.api.resource_reference) = {
  528. type: "aiplatform.googleapis.com/ModelEvaluation"
  529. }
  530. ];
  531. }
  532. // Request message for [ModelService.ListModelEvaluations][google.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluations].
  533. message ListModelEvaluationsRequest {
  534. // Required. The resource name of the Model to list the ModelEvaluations from.
  535. // Format: `projects/{project}/locations/{location}/models/{model}`
  536. string parent = 1 [
  537. (google.api.field_behavior) = REQUIRED,
  538. (google.api.resource_reference) = {
  539. type: "aiplatform.googleapis.com/Model"
  540. }
  541. ];
  542. // The standard list filter.
  543. string filter = 2;
  544. // The standard list page size.
  545. int32 page_size = 3;
  546. // The standard list page token.
  547. // Typically obtained via
  548. // [ListModelEvaluationsResponse.next_page_token][google.cloud.aiplatform.v1beta1.ListModelEvaluationsResponse.next_page_token] of the previous
  549. // [ModelService.ListModelEvaluations][google.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluations] call.
  550. string page_token = 4;
  551. // Mask specifying which fields to read.
  552. google.protobuf.FieldMask read_mask = 5;
  553. }
  554. // Response message for [ModelService.ListModelEvaluations][google.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluations].
  555. message ListModelEvaluationsResponse {
  556. // List of ModelEvaluations in the requested page.
  557. repeated ModelEvaluation model_evaluations = 1;
  558. // A token to retrieve next page of results.
  559. // Pass to [ListModelEvaluationsRequest.page_token][google.cloud.aiplatform.v1beta1.ListModelEvaluationsRequest.page_token] to obtain that page.
  560. string next_page_token = 2;
  561. }
  562. // Request message for [ModelService.GetModelEvaluationSlice][google.cloud.aiplatform.v1beta1.ModelService.GetModelEvaluationSlice].
  563. message GetModelEvaluationSliceRequest {
  564. // Required. The name of the ModelEvaluationSlice resource.
  565. // Format:
  566. // `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}/slices/{slice}`
  567. string name = 1 [
  568. (google.api.field_behavior) = REQUIRED,
  569. (google.api.resource_reference) = {
  570. type: "aiplatform.googleapis.com/ModelEvaluationSlice"
  571. }
  572. ];
  573. }
  574. // Request message for [ModelService.ListModelEvaluationSlices][google.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluationSlices].
  575. message ListModelEvaluationSlicesRequest {
  576. // Required. The resource name of the ModelEvaluation to list the ModelEvaluationSlices
  577. // from. Format:
  578. // `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}`
  579. string parent = 1 [
  580. (google.api.field_behavior) = REQUIRED,
  581. (google.api.resource_reference) = {
  582. type: "aiplatform.googleapis.com/ModelEvaluation"
  583. }
  584. ];
  585. // The standard list filter.
  586. //
  587. // * `slice.dimension` - for =.
  588. string filter = 2;
  589. // The standard list page size.
  590. int32 page_size = 3;
  591. // The standard list page token.
  592. // Typically obtained via
  593. // [ListModelEvaluationSlicesResponse.next_page_token][google.cloud.aiplatform.v1beta1.ListModelEvaluationSlicesResponse.next_page_token] of the previous
  594. // [ModelService.ListModelEvaluationSlices][google.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluationSlices] call.
  595. string page_token = 4;
  596. // Mask specifying which fields to read.
  597. google.protobuf.FieldMask read_mask = 5;
  598. }
  599. // Response message for [ModelService.ListModelEvaluationSlices][google.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluationSlices].
  600. message ListModelEvaluationSlicesResponse {
  601. // List of ModelEvaluations in the requested page.
  602. repeated ModelEvaluationSlice model_evaluation_slices = 1;
  603. // A token to retrieve next page of results.
  604. // Pass to [ListModelEvaluationSlicesRequest.page_token][google.cloud.aiplatform.v1beta1.ListModelEvaluationSlicesRequest.page_token] to obtain that
  605. // page.
  606. string next_page_token = 2;
  607. }