grpc 第三方依赖 就是grpc的 third_party 文件夹
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

429 lines
17 KiB

// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto3";
package google.cloud.aiplatform.v1beta1;
import "google/api/annotations.proto";
import "google/api/client.proto";
import "google/api/field_behavior.proto";
import "google/api/resource.proto";
import "google/cloud/aiplatform/v1beta1/io.proto";
import "google/cloud/aiplatform/v1beta1/model.proto";
import "google/cloud/aiplatform/v1beta1/model_evaluation.proto";
import "google/cloud/aiplatform/v1beta1/model_evaluation_slice.proto";
import "google/cloud/aiplatform/v1beta1/operation.proto";
import "google/longrunning/operations.proto";
import "google/protobuf/field_mask.proto";
option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1";
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform";
option java_multiple_files = true;
option java_outer_classname = "ModelServiceProto";
option java_package = "com.google.cloud.aiplatform.v1beta1";
option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1";
option ruby_package = "Google::Cloud::AIPlatform::V1beta1";
// A service for managing Vertex AI's machine learning Models.
service ModelService {
option (google.api.default_host) = "aiplatform.googleapis.com";
option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
// Uploads a Model artifact into Vertex AI.
rpc UploadModel(UploadModelRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v1beta1/{parent=projects/*/locations/*}/models:upload"
body: "*"
};
option (google.api.method_signature) = "parent,model";
option (google.longrunning.operation_info) = {
response_type: "UploadModelResponse"
metadata_type: "UploadModelOperationMetadata"
};
}
// Gets a Model.
rpc GetModel(GetModelRequest) returns (Model) {
option (google.api.http) = {
get: "/v1beta1/{name=projects/*/locations/*/models/*}"
};
option (google.api.method_signature) = "name";
}
// Lists Models in a Location.
rpc ListModels(ListModelsRequest) returns (ListModelsResponse) {
option (google.api.http) = {
get: "/v1beta1/{parent=projects/*/locations/*}/models"
};
option (google.api.method_signature) = "parent";
}
// Updates a Model.
rpc UpdateModel(UpdateModelRequest) returns (Model) {
option (google.api.http) = {
patch: "/v1beta1/{model.name=projects/*/locations/*/models/*}"
body: "model"
};
option (google.api.method_signature) = "model,update_mask";
}
// Deletes a Model.
// Note: Model can only be deleted if there are no DeployedModels created
// from it.
rpc DeleteModel(DeleteModelRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
delete: "/v1beta1/{name=projects/*/locations/*/models/*}"
};
option (google.api.method_signature) = "name";
option (google.longrunning.operation_info) = {
response_type: "google.protobuf.Empty"
metadata_type: "DeleteOperationMetadata"
};
}
// Exports a trained, exportable, Model to a location specified by the
// user. A Model is considered to be exportable if it has at least one
// [supported export format][google.cloud.aiplatform.v1beta1.Model.supported_export_formats].
rpc ExportModel(ExportModelRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v1beta1/{name=projects/*/locations/*/models/*}:export"
body: "*"
};
option (google.api.method_signature) = "name,output_config";
option (google.longrunning.operation_info) = {
response_type: "ExportModelResponse"
metadata_type: "ExportModelOperationMetadata"
};
}
// Gets a ModelEvaluation.
rpc GetModelEvaluation(GetModelEvaluationRequest) returns (ModelEvaluation) {
option (google.api.http) = {
get: "/v1beta1/{name=projects/*/locations/*/models/*/evaluations/*}"
};
option (google.api.method_signature) = "name";
}
// Lists ModelEvaluations in a Model.
rpc ListModelEvaluations(ListModelEvaluationsRequest) returns (ListModelEvaluationsResponse) {
option (google.api.http) = {
get: "/v1beta1/{parent=projects/*/locations/*/models/*}/evaluations"
};
option (google.api.method_signature) = "parent";
}
// Gets a ModelEvaluationSlice.
rpc GetModelEvaluationSlice(GetModelEvaluationSliceRequest) returns (ModelEvaluationSlice) {
option (google.api.http) = {
get: "/v1beta1/{name=projects/*/locations/*/models/*/evaluations/*/slices/*}"
};
option (google.api.method_signature) = "name";
}
// Lists ModelEvaluationSlices in a ModelEvaluation.
rpc ListModelEvaluationSlices(ListModelEvaluationSlicesRequest) returns (ListModelEvaluationSlicesResponse) {
option (google.api.http) = {
get: "/v1beta1/{parent=projects/*/locations/*/models/*/evaluations/*}/slices"
};
option (google.api.method_signature) = "parent";
}
}
// Request message for [ModelService.UploadModel][google.cloud.aiplatform.v1beta1.ModelService.UploadModel].
message UploadModelRequest {
// Required. The resource name of the Location into which to upload the Model.
// Format: `projects/{project}/locations/{location}`
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "locations.googleapis.com/Location"
}
];
// Required. The Model to create.
Model model = 2 [(google.api.field_behavior) = REQUIRED];
}
// Details of [ModelService.UploadModel][google.cloud.aiplatform.v1beta1.ModelService.UploadModel] operation.
message UploadModelOperationMetadata {
// The common part of the operation metadata.
GenericOperationMetadata generic_metadata = 1;
}
// Response message of [ModelService.UploadModel][google.cloud.aiplatform.v1beta1.ModelService.UploadModel] operation.
message UploadModelResponse {
// The name of the uploaded Model resource.
// Format: `projects/{project}/locations/{location}/models/{model}`
string model = 1 [(google.api.resource_reference) = {
type: "aiplatform.googleapis.com/Model"
}];
}
// Request message for [ModelService.GetModel][google.cloud.aiplatform.v1beta1.ModelService.GetModel].
message GetModelRequest {
// Required. The name of the Model resource.
// Format: `projects/{project}/locations/{location}/models/{model}`
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "aiplatform.googleapis.com/Model"
}
];
}
// Request message for [ModelService.ListModels][google.cloud.aiplatform.v1beta1.ModelService.ListModels].
message ListModelsRequest {
// Required. The resource name of the Location to list the Models from.
// Format: `projects/{project}/locations/{location}`
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "locations.googleapis.com/Location"
}
];
// An expression for filtering the results of the request. For field names
// both snake_case and camelCase are supported.
//
// * `model` supports = and !=. `model` represents the Model ID,
// i.e. the last segment of the Model's [resource name][google.cloud.aiplatform.v1beta1.Model.name].
// * `display_name` supports = and !=
// * `labels` supports general map functions that is:
// * `labels.key=value` - key:value equality
// * `labels.key:* or labels:key - key existence
// * A key including a space must be quoted. `labels."a key"`.
//
// Some examples:
// * `model=1234`
// * `displayName="myDisplayName"`
// * `labels.myKey="myValue"`
string filter = 2;
// The standard list page size.
int32 page_size = 3;
// The standard list page token.
// Typically obtained via
// [ListModelsResponse.next_page_token][google.cloud.aiplatform.v1beta1.ListModelsResponse.next_page_token] of the previous
// [ModelService.ListModels][google.cloud.aiplatform.v1beta1.ModelService.ListModels] call.
string page_token = 4;
// Mask specifying which fields to read.
google.protobuf.FieldMask read_mask = 5;
}
// Response message for [ModelService.ListModels][google.cloud.aiplatform.v1beta1.ModelService.ListModels]
message ListModelsResponse {
// List of Models in the requested page.
repeated Model models = 1;
// A token to retrieve next page of results.
// Pass to [ListModelsRequest.page_token][google.cloud.aiplatform.v1beta1.ListModelsRequest.page_token] to obtain that page.
string next_page_token = 2;
}
// Request message for [ModelService.UpdateModel][google.cloud.aiplatform.v1beta1.ModelService.UpdateModel].
message UpdateModelRequest {
// Required. The Model which replaces the resource on the server.
Model model = 1 [(google.api.field_behavior) = REQUIRED];
// Required. The update mask applies to the resource.
// For the `FieldMask` definition, see [google.protobuf.FieldMask][google.protobuf.FieldMask].
google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
}
// Request message for [ModelService.DeleteModel][google.cloud.aiplatform.v1beta1.ModelService.DeleteModel].
message DeleteModelRequest {
// Required. The name of the Model resource to be deleted.
// Format: `projects/{project}/locations/{location}/models/{model}`
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "aiplatform.googleapis.com/Model"
}
];
}
// Request message for [ModelService.ExportModel][google.cloud.aiplatform.v1beta1.ModelService.ExportModel].
message ExportModelRequest {
// Output configuration for the Model export.
message OutputConfig {
// The ID of the format in which the Model must be exported. Each Model
// lists the [export formats it supports][google.cloud.aiplatform.v1beta1.Model.supported_export_formats].
// If no value is provided here, then the first from the list of the Model's
// supported formats is used by default.
string export_format_id = 1;
// The Cloud Storage location where the Model artifact is to be
// written to. Under the directory given as the destination a new one with
// name "`model-export-<model-display-name>-<timestamp-of-export-call>`",
// where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format,
// will be created. Inside, the Model and any of its supporting files
// will be written.
// This field should only be set when the `exportableContent` field of the
// [Model.supported_export_formats] object contains `ARTIFACT`.
GcsDestination artifact_destination = 3;
// The Google Container Registry or Artifact Registry uri where the
// Model container image will be copied to.
// This field should only be set when the `exportableContent` field of the
// [Model.supported_export_formats] object contains `IMAGE`.
ContainerRegistryDestination image_destination = 4;
}
// Required. The resource name of the Model to export.
// Format: `projects/{project}/locations/{location}/models/{model}`
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "aiplatform.googleapis.com/Model"
}
];
// Required. The desired output location and configuration.
OutputConfig output_config = 2 [(google.api.field_behavior) = REQUIRED];
}
// Details of [ModelService.ExportModel][google.cloud.aiplatform.v1beta1.ModelService.ExportModel] operation.
message ExportModelOperationMetadata {
// Further describes the output of the ExportModel. Supplements
// [ExportModelRequest.OutputConfig][google.cloud.aiplatform.v1beta1.ExportModelRequest.OutputConfig].
message OutputInfo {
// Output only. If the Model artifact is being exported to Google Cloud Storage this is
// the full path of the directory created, into which the Model files are
// being written to.
string artifact_output_uri = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. If the Model image is being exported to Google Container Registry or
// Artifact Registry this is the full path of the image created.
string image_output_uri = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// The common part of the operation metadata.
GenericOperationMetadata generic_metadata = 1;
// Output only. Information further describing the output of this Model export.
OutputInfo output_info = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// Response message of [ModelService.ExportModel][google.cloud.aiplatform.v1beta1.ModelService.ExportModel] operation.
message ExportModelResponse {
}
// Request message for [ModelService.GetModelEvaluation][google.cloud.aiplatform.v1beta1.ModelService.GetModelEvaluation].
message GetModelEvaluationRequest {
// Required. The name of the ModelEvaluation resource.
// Format:
// `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}`
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "aiplatform.googleapis.com/ModelEvaluation"
}
];
}
// Request message for [ModelService.ListModelEvaluations][google.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluations].
message ListModelEvaluationsRequest {
// Required. The resource name of the Model to list the ModelEvaluations from.
// Format: `projects/{project}/locations/{location}/models/{model}`
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "aiplatform.googleapis.com/Model"
}
];
// The standard list filter.
string filter = 2;
// The standard list page size.
int32 page_size = 3;
// The standard list page token.
// Typically obtained via
// [ListModelEvaluationsResponse.next_page_token][google.cloud.aiplatform.v1beta1.ListModelEvaluationsResponse.next_page_token] of the previous
// [ModelService.ListModelEvaluations][google.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluations] call.
string page_token = 4;
// Mask specifying which fields to read.
google.protobuf.FieldMask read_mask = 5;
}
// Response message for [ModelService.ListModelEvaluations][google.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluations].
message ListModelEvaluationsResponse {
// List of ModelEvaluations in the requested page.
repeated ModelEvaluation model_evaluations = 1;
// A token to retrieve next page of results.
// Pass to [ListModelEvaluationsRequest.page_token][google.cloud.aiplatform.v1beta1.ListModelEvaluationsRequest.page_token] to obtain that page.
string next_page_token = 2;
}
// Request message for [ModelService.GetModelEvaluationSlice][google.cloud.aiplatform.v1beta1.ModelService.GetModelEvaluationSlice].
message GetModelEvaluationSliceRequest {
// Required. The name of the ModelEvaluationSlice resource.
// Format:
// `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}/slices/{slice}`
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "aiplatform.googleapis.com/ModelEvaluationSlice"
}
];
}
// Request message for [ModelService.ListModelEvaluationSlices][google.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluationSlices].
message ListModelEvaluationSlicesRequest {
// Required. The resource name of the ModelEvaluation to list the ModelEvaluationSlices
// from. Format:
// `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}`
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "aiplatform.googleapis.com/ModelEvaluation"
}
];
// The standard list filter.
//
// * `slice.dimension` - for =.
string filter = 2;
// The standard list page size.
int32 page_size = 3;
// The standard list page token.
// Typically obtained via
// [ListModelEvaluationSlicesResponse.next_page_token][google.cloud.aiplatform.v1beta1.ListModelEvaluationSlicesResponse.next_page_token] of the previous
// [ModelService.ListModelEvaluationSlices][google.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluationSlices] call.
string page_token = 4;
// Mask specifying which fields to read.
google.protobuf.FieldMask read_mask = 5;
}
// Response message for [ModelService.ListModelEvaluationSlices][google.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluationSlices].
message ListModelEvaluationSlicesResponse {
// List of ModelEvaluations in the requested page.
repeated ModelEvaluationSlice model_evaluation_slices = 1;
// A token to retrieve next page of results.
// Pass to [ListModelEvaluationSlicesRequest.page_token][google.cloud.aiplatform.v1beta1.ListModelEvaluationSlicesRequest.page_token] to obtain that
// page.
string next_page_token = 2;
}