google-cloud-pipeline-components 2.19.0__py3-none-any.whl → 2.20.1__py3-none-any.whl
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.
Potentially problematic release.
This version of google-cloud-pipeline-components might be problematic. Click here for more details.
- google_cloud_pipeline_components/_implementation/starry_net/get_training_artifacts/component.py +2 -2
- google_cloud_pipeline_components/_implementation/starry_net/set_test_set/component.py +1 -1
- google_cloud_pipeline_components/_implementation/starry_net/upload_decomposition_plots/component.py +7 -4
- google_cloud_pipeline_components/_implementation/starry_net/version.py +3 -3
- google_cloud_pipeline_components/container/v1/aiplatform/remote_runner.py +1 -1
- google_cloud_pipeline_components/preview/model_evaluation/__init__.py +0 -7
- google_cloud_pipeline_components/proto/README.md +49 -0
- google_cloud_pipeline_components/proto/gcp_resources.proto +25 -0
- google_cloud_pipeline_components/proto/task_error.proto +11 -0
- google_cloud_pipeline_components/proto/template_metadata.proto +323 -0
- google_cloud_pipeline_components/version.py +1 -1
- {google_cloud_pipeline_components-2.19.0.dist-info → google_cloud_pipeline_components-2.20.1.dist-info}/METADATA +32 -22
- {google_cloud_pipeline_components-2.19.0.dist-info → google_cloud_pipeline_components-2.20.1.dist-info}/RECORD +16 -20
- {google_cloud_pipeline_components-2.19.0.dist-info → google_cloud_pipeline_components-2.20.1.dist-info}/WHEEL +1 -1
- google_cloud_pipeline_components/_implementation/model_evaluation/import_evaluation/__init__.py +0 -14
- google_cloud_pipeline_components/_implementation/model_evaluation/import_evaluation/component.py +0 -208
- google_cloud_pipeline_components/preview/model_evaluation/evaluation_llm_classification_pipeline.py +0 -180
- google_cloud_pipeline_components/preview/model_evaluation/evaluation_llm_text_generation_pipeline.py +0 -178
- google_cloud_pipeline_components/preview/model_evaluation/model_based_llm_evaluation/__init__.py +0 -20
- google_cloud_pipeline_components/preview/model_evaluation/model_based_llm_evaluation/autosxs/__init__.py +0 -13
- google_cloud_pipeline_components/preview/model_evaluation/model_based_llm_evaluation/autosxs/autosxs_pipeline.py +0 -109
- google_cloud_pipeline_components/proto/preflight_validations_pb2.py +0 -58
- {google_cloud_pipeline_components-2.19.0.dist-info → google_cloud_pipeline_components-2.20.1.dist-info/licenses}/LICENSE +0 -0
- {google_cloud_pipeline_components-2.19.0.dist-info → google_cloud_pipeline_components-2.20.1.dist-info}/top_level.txt +0 -0
google_cloud_pipeline_components/_implementation/starry_net/get_training_artifacts/component.py
CHANGED
|
@@ -18,7 +18,7 @@ from typing import NamedTuple
|
|
|
18
18
|
from kfp import dsl
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
@dsl.component(packages_to_install=['tensorflow==2.
|
|
21
|
+
@dsl.component(packages_to_install=['tensorflow==2.16.1'])
|
|
22
22
|
def get_training_artifacts(
|
|
23
23
|
docker_region: str,
|
|
24
24
|
trainer_dir: dsl.InputPath(),
|
|
@@ -55,7 +55,7 @@ def get_training_artifacts(
|
|
|
55
55
|
instance_schema_uri=str,
|
|
56
56
|
)
|
|
57
57
|
return outputs(
|
|
58
|
-
f'{docker_region}-docker.pkg.dev/vertex-ai/starryn/predictor:
|
|
58
|
+
f'{docker_region}-docker.pkg.dev/vertex-ai/starryn/predictor:20250411_0542_RC00', # pylint: disable=too-many-function-args
|
|
59
59
|
private_dir, # pylint: disable=too-many-function-args
|
|
60
60
|
os.path.join(private_dir, 'predict_schema.yaml'), # pylint: disable=too-many-function-args
|
|
61
61
|
os.path.join(private_dir, 'instance_schema.yaml'), # pylint: disable=too-many-function-args
|
|
@@ -18,7 +18,7 @@ from typing import NamedTuple
|
|
|
18
18
|
from kfp import dsl
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
@dsl.component(packages_to_install=['tensorflow==2.
|
|
21
|
+
@dsl.component(packages_to_install=['tensorflow==2.16.1'])
|
|
22
22
|
def set_test_set(
|
|
23
23
|
dataprep_dir: dsl.InputPath(),
|
|
24
24
|
) -> NamedTuple('TestSetArtifact', uri=str, artifact=dsl.Artifact):
|
google_cloud_pipeline_components/_implementation/starry_net/upload_decomposition_plots/component.py
CHANGED
|
@@ -18,7 +18,7 @@ from kfp import dsl
|
|
|
18
18
|
|
|
19
19
|
@dsl.component(
|
|
20
20
|
packages_to_install=[
|
|
21
|
-
'google-cloud-aiplatform[tensorboard]',
|
|
21
|
+
'google-cloud-aiplatform[tensorboard]==1.87.0',
|
|
22
22
|
'protobuf==3.20.*',
|
|
23
23
|
]
|
|
24
24
|
)
|
|
@@ -44,14 +44,17 @@ def upload_decomposition_plots(
|
|
|
44
44
|
viewed.
|
|
45
45
|
"""
|
|
46
46
|
import os # pylint: disable=g-import-not-at-top
|
|
47
|
+
import uuid # pylint: disable=g-import-not-at-top
|
|
47
48
|
from google.cloud import aiplatform # pylint: disable=g-import-not-at-top
|
|
48
49
|
|
|
49
50
|
log_dir = os.path.join(trainer_dir, 'tensorboard', 'r=1:gc=0')
|
|
50
51
|
project_number = os.environ['CLOUD_ML_PROJECT_ID']
|
|
51
|
-
|
|
52
|
+
experiment_name = str(uuid.uuid4())
|
|
53
|
+
aiplatform.init(
|
|
54
|
+
experiment=experiment_name, project=project, location=location)
|
|
52
55
|
aiplatform.upload_tb_log(
|
|
53
56
|
tensorboard_id=tensorboard_id,
|
|
54
|
-
tensorboard_experiment_name=
|
|
57
|
+
tensorboard_experiment_name=experiment_name,
|
|
55
58
|
logdir=log_dir,
|
|
56
59
|
experiment_display_name=display_name,
|
|
57
60
|
description=f'Tensorboard for {display_name}',
|
|
@@ -59,6 +62,6 @@ def upload_decomposition_plots(
|
|
|
59
62
|
uri = (
|
|
60
63
|
f'https://{location}.tensorboard.googleusercontent.com/experiment/'
|
|
61
64
|
f'projects+{project_number}+locations+{location}+tensorboards+'
|
|
62
|
-
f'{tensorboard_id}+experiments+{
|
|
65
|
+
f'{tensorboard_id}+experiments+{experiment_name}/#images'
|
|
63
66
|
)
|
|
64
67
|
return dsl.Artifact(uri=uri)
|
|
@@ -13,6 +13,6 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
"""Version constants for starry net components."""
|
|
15
15
|
|
|
16
|
-
DATAPREP_VERSION = '
|
|
17
|
-
PREDICTOR_VERSION = '
|
|
18
|
-
TRAINER_VERSION = '
|
|
16
|
+
DATAPREP_VERSION = '20250410_2225_RC00'
|
|
17
|
+
PREDICTOR_VERSION = '20250411_0542_RC00'
|
|
18
|
+
TRAINER_VERSION = '20250410_0542_RC00'
|
|
@@ -18,15 +18,8 @@ from google_cloud_pipeline_components.preview.model_evaluation.feature_attributi
|
|
|
18
18
|
from google_cloud_pipeline_components.preview.model_evaluation.feature_attribution_graph_component import feature_attribution_graph_component as FeatureAttributionGraphComponentOp
|
|
19
19
|
from google_cloud_pipeline_components.preview.model_evaluation.model_bias_component import detect_model_bias as DetectModelBiasOp
|
|
20
20
|
from google_cloud_pipeline_components.preview.model_evaluation.model_evaluation_import_component import model_evaluation_import as ModelImportEvaluationOp
|
|
21
|
-
from google_cloud_pipeline_components.v1.model_evaluation.evaluation_llm_classification_pipeline import evaluation_llm_classification_pipeline
|
|
22
|
-
from google_cloud_pipeline_components.v1.model_evaluation.evaluation_llm_text_generation_pipeline import evaluation_llm_text_generation_pipeline
|
|
23
|
-
from google_cloud_pipeline_components.v1.model_evaluation.model_based_llm_evaluation.autosxs.autosxs_pipeline import autosxs_pipeline
|
|
24
|
-
|
|
25
21
|
|
|
26
22
|
__all__ = [
|
|
27
|
-
'autosxs_pipeline',
|
|
28
|
-
'evaluation_llm_classification_pipeline',
|
|
29
|
-
'evaluation_llm_text_generation_pipeline',
|
|
30
23
|
'ModelEvaluationFeatureAttributionOp',
|
|
31
24
|
'FeatureAttributionGraphComponentOp',
|
|
32
25
|
'DetectModelBiasOp',
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# GCP Resource Proto
|
|
2
|
+
The gcp_resource is a special parameter that if a component adopts it, the component can take advantage of better supports in Vertex Pipelines in the following ways
|
|
3
|
+
* Better UI experience. Vertex Pipelines UI can recognize this parameter, and provide a customized view of the resource's logs and status in the Pipeline console.
|
|
4
|
+
* Better cancellation. The resource will be automatically cancelled when the Pipeline is cancelled.
|
|
5
|
+
* More cost-effective execution. Supported by dataflow only. See [wait_gcp_resources](https://github.com/kubeflow/pipelines/blob/master/components/google-cloud/google_cloud_pipeline_components/experimental/wait_gcp_resources/component.yaml) for details.
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
```shell
|
|
10
|
+
pip install -U google-cloud-pipeline-components
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
To write a resource as an output parameter
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
from google_cloud_pipeline_components.proto.gcp_resources_pb2 import GcpResources
|
|
18
|
+
from google.protobuf.json_format import MessageToJson
|
|
19
|
+
|
|
20
|
+
dataflow_resources = GcpResources()
|
|
21
|
+
dr = dataflow_resources.resources.add()
|
|
22
|
+
dr.resource_type='DataflowJob'
|
|
23
|
+
dr.resource_uri='https://dataflow.googleapis.com/v1b3/projects/[your-project]/locations/us-east1/jobs/[dataflow-job-id]'
|
|
24
|
+
|
|
25
|
+
with open(gcp_resources, 'w') as f:
|
|
26
|
+
f.write(MessageToJson(dataflow_resources))
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
To deserialize the resource
|
|
31
|
+
```
|
|
32
|
+
from google.protobuf.json_format import Parse
|
|
33
|
+
|
|
34
|
+
input_gcp_resources = Parse(payload, GcpResources())
|
|
35
|
+
# input_gcp_resources is ready to be used. For example, input_gcp_resources.resources
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
## Supported resource_type
|
|
40
|
+
You can set the resource_type with arbitrary string. But only the following types will have the benefits listed above.
|
|
41
|
+
This list will be expanded to support more types in the future.
|
|
42
|
+
* BatchPredictionJob
|
|
43
|
+
* BigQueryJob
|
|
44
|
+
* CustomJob
|
|
45
|
+
* DataflowJob
|
|
46
|
+
* DataprocBatch
|
|
47
|
+
* DataprocLro
|
|
48
|
+
* HyperparameterTuningJob
|
|
49
|
+
* VertexLro
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
|
|
3
|
+
package gcp_launcher;
|
|
4
|
+
|
|
5
|
+
import "google/rpc/status.proto";
|
|
6
|
+
|
|
7
|
+
// The schema of the GCP resource. It will be used to parse the output parameter
|
|
8
|
+
// "gcp_resources"
|
|
9
|
+
message GcpResources {
|
|
10
|
+
// The metadata of a resource
|
|
11
|
+
message Resource {
|
|
12
|
+
// The type of the resource. E.g. DataflowJob
|
|
13
|
+
optional string resource_type = 1;
|
|
14
|
+
// The unique resource uri. E.g.
|
|
15
|
+
// https://dataflow.googleapis.com/v1b3/projects/project_1/locations/us-central1/jobs/123
|
|
16
|
+
optional string resource_uri = 2;
|
|
17
|
+
// The error from the resource.
|
|
18
|
+
google.rpc.Status error = 3;
|
|
19
|
+
// Optional. Used by component to save extra custom metadata for the resource.
|
|
20
|
+
repeated string labels = 4;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// A list of resources.
|
|
24
|
+
repeated Resource resources = 1;
|
|
25
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
|
|
3
|
+
package task_error;
|
|
4
|
+
|
|
5
|
+
// The message allows the 1st party clients of Vertex Pipline to specify
|
|
6
|
+
// arbitary error messages they want to catch during the execution of the
|
|
7
|
+
// pipeline.
|
|
8
|
+
message TaskError {
|
|
9
|
+
// The primary error message.
|
|
10
|
+
string error_message = 1;
|
|
11
|
+
}
|
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
|
|
3
|
+
package template_metadata;
|
|
4
|
+
|
|
5
|
+
import "google/protobuf/struct.proto";
|
|
6
|
+
|
|
7
|
+
option java_multiple_files = true;
|
|
8
|
+
|
|
9
|
+
message TemplateMetadata {
|
|
10
|
+
IOMetadata io_metadata = 1;
|
|
11
|
+
ValidationItems preflight_validations = 2;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
message IOMetadata {
|
|
15
|
+
// The content of a create run page. Top-level of organization. Use repeated
|
|
16
|
+
// to enforce ordering.
|
|
17
|
+
repeated Page pages = 1;
|
|
18
|
+
// Corresponds to the schema Version of PipelineSpec, since this message is
|
|
19
|
+
// tightly coupled to PipelineSpec
|
|
20
|
+
// https://github.com/kubeflow/pipelines/blob/87db18e3a1df08a23a71f872dc8dac6b4bfb9a95/api/v2alpha1/pipeline_spec.proto#L62
|
|
21
|
+
string schema_version = 2;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
message Page {
|
|
25
|
+
// The title of the page.
|
|
26
|
+
string name = 1;
|
|
27
|
+
// The description of the page.
|
|
28
|
+
string description = 2;
|
|
29
|
+
// The sections in the page. Second-level heirarchical organization of
|
|
30
|
+
// template inputs.
|
|
31
|
+
repeated Section sections = 3;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
message Section {
|
|
35
|
+
// The name of the section.
|
|
36
|
+
string name = 1;
|
|
37
|
+
// The description of the section.
|
|
38
|
+
string description = 2;
|
|
39
|
+
// The inputs included in this section. Use repeated to enforce ordering.
|
|
40
|
+
repeated Input inputs = 3;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
message Input {
|
|
44
|
+
// The name of the input.
|
|
45
|
+
// Corresponds to parameter/artifact name in ComponentSpec.input_definitions
|
|
46
|
+
// (https://github.com/kubeflow/pipelines/blob/066f229e27dc2ac8a58a03d7745d5471d718157c/api/v2alpha1/pipeline_spec.proto#L353-L357).
|
|
47
|
+
string name = 1;
|
|
48
|
+
// The display name for the input. Typically a human-readable version of the
|
|
49
|
+
// input parameter name.
|
|
50
|
+
string display_name = 2;
|
|
51
|
+
// The description of the input.
|
|
52
|
+
string description = 3;
|
|
53
|
+
// The explanation of the default value for the input. Tells the user why we
|
|
54
|
+
// selected this default.
|
|
55
|
+
string default_explanation = 4;
|
|
56
|
+
// The string the user sees if they are unsure how to select a parameter.
|
|
57
|
+
string help_text = 5;
|
|
58
|
+
// Detailed information about what types of values are supported for input
|
|
59
|
+
// type specified in PipelineSpec.
|
|
60
|
+
SemanticType semantic_type = 6;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
message SemanticType {
|
|
64
|
+
// Mirrors PipelineSpec ParameterTypeEnum + artifacts.
|
|
65
|
+
// https://github.com/kubeflow/pipelines/blob/87db18e3a1df08a23a71f872dc8dac6b4bfb9a95/api/v2alpha1/pipeline_spec.proto#L416-L443
|
|
66
|
+
// If none of oneof type is set, use default rendering with no additional
|
|
67
|
+
// constraints.
|
|
68
|
+
oneof type {
|
|
69
|
+
// Correspond to PipelineSpec NUMBER_DOUBLE.
|
|
70
|
+
Float float_type = 1;
|
|
71
|
+
// Corresponds to PipelineSpec NUMBER_INTEGER.
|
|
72
|
+
Integer integer_type = 2;
|
|
73
|
+
// Corresponds to PipelineSpec STRING.
|
|
74
|
+
String string_type = 3;
|
|
75
|
+
// Corresponds to PipelineSpec BOOLEAN.
|
|
76
|
+
Boolean boolean_type = 4;
|
|
77
|
+
// Corresponds to PipelineSpec LIST.
|
|
78
|
+
List list_type = 6;
|
|
79
|
+
// Corresponds to PipelineSpec STRUCT.
|
|
80
|
+
Struct struct_type = 7;
|
|
81
|
+
// Corresponds to PipelineSpec artifacts.
|
|
82
|
+
Artifact artifact_type = 8;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
// START: top-level types
|
|
87
|
+
message Float {
|
|
88
|
+
// The minimum value the float can take.
|
|
89
|
+
float min = 1;
|
|
90
|
+
// The maximum value the float can take.
|
|
91
|
+
float max = 2;
|
|
92
|
+
// The validation error if the float is outside of [min, max].
|
|
93
|
+
string validation_error = 3;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
message Integer {
|
|
97
|
+
// The minimum value the integer can take.
|
|
98
|
+
int32 min = 1;
|
|
99
|
+
// The maximum value the integer can take.
|
|
100
|
+
int32 max = 2;
|
|
101
|
+
// The validation error if the integer is outside of [min, max].
|
|
102
|
+
string validation_error = 3;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
message String {
|
|
106
|
+
oneof type {
|
|
107
|
+
// The user can enter arbitrary text.
|
|
108
|
+
FreeForm free_form = 1;
|
|
109
|
+
// The user can select one of the available options.
|
|
110
|
+
SelectOne select_one = 2;
|
|
111
|
+
// The user must provide or select a URI.
|
|
112
|
+
UriType uri_type = 3;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
message Boolean {}
|
|
117
|
+
|
|
118
|
+
message List {
|
|
119
|
+
oneof type {
|
|
120
|
+
// The user can enter arbitrary text for each entry in the list.
|
|
121
|
+
FreeForm free_form = 1;
|
|
122
|
+
// The user can select one of the available options.
|
|
123
|
+
SelectMany select_many = 2;
|
|
124
|
+
// The user must provide or select one or more URIs.
|
|
125
|
+
UriType uri_type = 3;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
message Struct {}
|
|
129
|
+
|
|
130
|
+
message Artifact {
|
|
131
|
+
// The encodes the constraints on the URI.
|
|
132
|
+
UriType uri = 1;
|
|
133
|
+
// The validation error if the URI does not comply with constraints.
|
|
134
|
+
string validation_error = 2;
|
|
135
|
+
}
|
|
136
|
+
// END: top-level types
|
|
137
|
+
|
|
138
|
+
// START: inner messages for top-level types
|
|
139
|
+
message FreeForm {
|
|
140
|
+
// The size of the free-form text box.
|
|
141
|
+
Size size = 1;
|
|
142
|
+
// The regex validation to apply to the free-form text box. Both regex and
|
|
143
|
+
// content can be set.
|
|
144
|
+
string regex = 2;
|
|
145
|
+
// The content of the free-form text box. To the degree possible, the input
|
|
146
|
+
// will be required to be this content type. Both regex and content can be
|
|
147
|
+
// set.
|
|
148
|
+
ContentType content_type = 3;
|
|
149
|
+
// The validation error if the free-form text box does pass regex or content
|
|
150
|
+
// validation.
|
|
151
|
+
string validation_error = 4;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
message SelectOne {
|
|
155
|
+
// Specifies how the select one dropdown options are specified.
|
|
156
|
+
oneof type {
|
|
157
|
+
// The dropdown is author-specified options.
|
|
158
|
+
Options options = 1;
|
|
159
|
+
|
|
160
|
+
Location location = 2;
|
|
161
|
+
// The dropdown is a project picker.
|
|
162
|
+
bool project = 3;
|
|
163
|
+
// The dropdown is machine type picker.
|
|
164
|
+
MachineType machine_type = 4;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
message SelectMany {
|
|
169
|
+
// The options in the dropdown. Use Options, rather than SelectOne, since
|
|
170
|
+
// SelectOne includes dropdown values for which >1 selection should be
|
|
171
|
+
// invalid.
|
|
172
|
+
Options options = 1;
|
|
173
|
+
// The number of options which may be selected.
|
|
174
|
+
int32 select_n = 2;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
message Location {
|
|
178
|
+
oneof values {
|
|
179
|
+
// Any location which is permitted by the organization/project.
|
|
180
|
+
bool any = 1;
|
|
181
|
+
// An explicit list of location options, which will be filtered by the
|
|
182
|
+
// locations permitted by the organization/project.
|
|
183
|
+
Options options = 2;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
message MachineType {
|
|
188
|
+
oneof values {
|
|
189
|
+
// Any machine type supported by CustomJobs
|
|
190
|
+
// https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types.
|
|
191
|
+
bool any = 1;
|
|
192
|
+
// An explicit list of supported machine types.
|
|
193
|
+
Options options = 2;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
message Options {
|
|
198
|
+
// An explicit list of permitted options.
|
|
199
|
+
repeated google.protobuf.Value values = 1;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
// Indicates the relative size of an element, such as a free-form text box.
|
|
203
|
+
enum Size {
|
|
204
|
+
SIZE_UNSET = 0;
|
|
205
|
+
SIZE_SMALL = 1;
|
|
206
|
+
SIZE_MEDIUM = 2;
|
|
207
|
+
SIZE_LARGE = 3;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
// Content types, which inform field validation, the FE input component, and
|
|
211
|
+
// instructions.
|
|
212
|
+
enum ContentType {
|
|
213
|
+
UNSET_CONTENT = 0; // default
|
|
214
|
+
YAML_CONTENT = 1;
|
|
215
|
+
JSON_CONTENT = 2;
|
|
216
|
+
MARKDOWN_CONTENT = 3;
|
|
217
|
+
HTML_CONTENT = 4;
|
|
218
|
+
DATETIME_CONTENT = 5;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
enum UriType {
|
|
222
|
+
// Arbitrary user-inputted URI.
|
|
223
|
+
ANY_URI = 0;
|
|
224
|
+
// Any GCS URI.
|
|
225
|
+
GCS_ANY_URI = 1;
|
|
226
|
+
// A GCS bucket URI.
|
|
227
|
+
GCS_BUCKET_URI = 2;
|
|
228
|
+
// A GCS object URI.
|
|
229
|
+
GCS_OBJECT_URI = 3;
|
|
230
|
+
// A BigQuery URI.
|
|
231
|
+
BIGQUERY_URI = 4;
|
|
232
|
+
}
|
|
233
|
+
// END: inner messages for top-level types
|
|
234
|
+
|
|
235
|
+
// Describes the details of validation items.
|
|
236
|
+
message ValidationItems {
|
|
237
|
+
// Validation for Google Cloud Service Account.
|
|
238
|
+
repeated GoogleCloudServiceAccountValidation sa_validations = 1;
|
|
239
|
+
// Validation for Google Cloud Project Quota.
|
|
240
|
+
repeated GoogleCloudProjectQuotaValidation quota_validations = 2;
|
|
241
|
+
// Validation for Google Cloud Api Enablement.
|
|
242
|
+
repeated GoogleCloudApiEnablementValidation api_validations = 3;
|
|
243
|
+
// Validation for Google Cloud Storage.
|
|
244
|
+
repeated GoogleCloudStorageValidation gcs_validations = 4;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
// Describes the details for Google Cloud Storage Validation.
|
|
248
|
+
message GoogleCloudStorageValidation {
|
|
249
|
+
// Required. URI of the GCS object. Use placeholder to specify the dynamic
|
|
250
|
+
// value like bucket name. For Example:
|
|
251
|
+
// "gs://{{$.parameter.bucket}}/file_name"
|
|
252
|
+
string gcs_uri = 1;
|
|
253
|
+
// Required. Whether the gcs_uri is input or output.
|
|
254
|
+
bool is_input = 2;
|
|
255
|
+
// Required. Default service account principal email to access the gcs object.
|
|
256
|
+
// Example:
|
|
257
|
+
// "{{$.pipeline_google_cloud_project_id}}-compute@developer.gserviceaccount.com"
|
|
258
|
+
// Use placeholder to specify the dynamic value like project id.
|
|
259
|
+
string default_service_account = 3;
|
|
260
|
+
// Optional. If specified, the principal email will be overridden based on the
|
|
261
|
+
// placeholder. Currently support two placeholders: 1.
|
|
262
|
+
// "{{$.pipeline_google_cloud_service_account}}"(actual value is from
|
|
263
|
+
// PipelineJob.service_account 2.
|
|
264
|
+
// "{{$.parameter.service_account}}"(actual value is from the input parameter
|
|
265
|
+
// of the component/pipeline). If the value doesn't exist or is empty,
|
|
266
|
+
// overriding won't happen.
|
|
267
|
+
string override_placeholder = 4;
|
|
268
|
+
|
|
269
|
+
// Optional. List of GCS URIs.
|
|
270
|
+
repeated string gcs_uris = 5;
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
// Describes the details for Google Cloud Project Quota Validation.
|
|
274
|
+
message GoogleCloudProjectQuotaValidation {
|
|
275
|
+
// Required. Metric name of the quota. Example: "compute.googleapis.com/cpus"
|
|
276
|
+
string metric_name = 1;
|
|
277
|
+
// Required. Value of the quota demand. Example: 2 or 3.5
|
|
278
|
+
// We will validate if the demand is under the limit or not.
|
|
279
|
+
oneof value {
|
|
280
|
+
// A signed 64-bit integer value.
|
|
281
|
+
int64 int64_value = 2;
|
|
282
|
+
// A double precision floating point value.
|
|
283
|
+
double double_value = 3;
|
|
284
|
+
}
|
|
285
|
+
// Not implemented yet, project region is used instead.
|
|
286
|
+
// Optional. Region of the quota. Example: "us-central1"
|
|
287
|
+
// If not specified, the default region (project region) will be used.
|
|
288
|
+
string region = 4;
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
// Describes the details for Google Cloud Service Account Validation.
|
|
292
|
+
message GoogleCloudServiceAccountValidation {
|
|
293
|
+
// Required. Default principal email of the service account used for
|
|
294
|
+
// validation. Example:
|
|
295
|
+
// "{{$.pipeline_google_cloud_project_id}}-compute@developer.gserviceaccount.com"
|
|
296
|
+
// Use placeholder to specify the dynamic value like project id.
|
|
297
|
+
string default_principal_email = 1;
|
|
298
|
+
|
|
299
|
+
// Optional. If specified, the principal email will be overridden based on the
|
|
300
|
+
// placeholder. Currently support two placeholders: 1.
|
|
301
|
+
// "{{$.pipeline_google_cloud_service_account}}"(actual value is from
|
|
302
|
+
// PipelineJob.service_account 2.
|
|
303
|
+
// "{{$.parameter.service_account}}"(actual value is from the input parameter
|
|
304
|
+
// of the component/pipeline). If the value doesn't exist or is empty,
|
|
305
|
+
// overriding won't happen.
|
|
306
|
+
string override_placeholder = 2;
|
|
307
|
+
|
|
308
|
+
// Optional. Permission required to have for the service account.
|
|
309
|
+
// Pipeline service will check if provided SA has these permissions.
|
|
310
|
+
// Example: "aiplatform.metadataStores.get"
|
|
311
|
+
repeated string permissions = 3;
|
|
312
|
+
|
|
313
|
+
// Optional. Roles suggestions for users to grant to SA. We will ***not***
|
|
314
|
+
// verify if the SA has the role granted or not. The role names will occur in
|
|
315
|
+
// preflight validations' error message as an action item for users.
|
|
316
|
+
repeated string role_names = 4;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
// Describes the details of Google Cloud Api Enablement Validation.
|
|
320
|
+
message GoogleCloudApiEnablementValidation {
|
|
321
|
+
// Required. Service names of Google Cloud Api.
|
|
322
|
+
repeated string service_names = 1;
|
|
323
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: google-cloud-pipeline-components
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.20.1
|
|
4
4
|
Summary: This SDK enables a set of First Party (Google owned) pipeline components that allow users to take their experience from Vertex AI SDK and other Google Cloud services and create a corresponding pipeline using KFP or Managed Pipelines.
|
|
5
5
|
Home-page: https://github.com/kubeflow/pipelines/tree/master/components/google-cloud
|
|
6
6
|
Author: The Google Cloud Pipeline Components authors
|
|
@@ -10,7 +10,6 @@ Project-URL: User Documentation, https://cloud.google.com/vertex-ai/docs/pipelin
|
|
|
10
10
|
Project-URL: Reference Documentation, https://google-cloud-pipeline-components.readthedocs.io/
|
|
11
11
|
Project-URL: Source, https://github.com/kubeflow/pipelines/tree/master/components/google-cloud
|
|
12
12
|
Project-URL: Release Notes, https://github.com/kubeflow/pipelines/tree/master/components/google-cloud/RELEASE.md
|
|
13
|
-
Platform: UNKNOWN
|
|
14
13
|
Classifier: Development Status :: 4 - Beta
|
|
15
14
|
Classifier: Operating System :: Unix
|
|
16
15
|
Classifier: Operating System :: MacOS
|
|
@@ -33,24 +32,37 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
|
33
32
|
Requires-Python: >=3.8.0
|
|
34
33
|
Description-Content-Type: text/markdown
|
|
35
34
|
License-File: LICENSE
|
|
36
|
-
Requires-Dist: google-api-core
|
|
37
|
-
Requires-Dist: kfp
|
|
38
|
-
Requires-Dist: google-cloud-aiplatform
|
|
39
|
-
Requires-Dist: Jinja2
|
|
40
|
-
Provides-Extra: docs
|
|
41
|
-
Requires-Dist: protobuf (<5,>=4.21.1) ; extra == 'docs'
|
|
42
|
-
Requires-Dist: grpcio-status (<=1.47.0) ; extra == 'docs'
|
|
43
|
-
Requires-Dist: commonmark (==0.9.1) ; extra == 'docs'
|
|
44
|
-
Requires-Dist: autodocsumm (==0.2.9) ; extra == 'docs'
|
|
45
|
-
Requires-Dist: sphinx (<6.0.0,>=5.0.2) ; extra == 'docs'
|
|
46
|
-
Requires-Dist: sphinx-immaterial (==0.9.0) ; extra == 'docs'
|
|
47
|
-
Requires-Dist: sphinx-rtd-theme (==2.0.0) ; extra == 'docs'
|
|
48
|
-
Requires-Dist: m2r2 (==0.3.3.post2) ; extra == 'docs'
|
|
49
|
-
Requires-Dist: sphinx-notfound-page (==0.8.3) ; extra == 'docs'
|
|
35
|
+
Requires-Dist: google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0dev,>=1.31.5
|
|
36
|
+
Requires-Dist: kfp<3.0.0,>=2.6.0
|
|
37
|
+
Requires-Dist: google-cloud-aiplatform<2,>=1.14.0
|
|
38
|
+
Requires-Dist: Jinja2<4,>=3.1.2
|
|
50
39
|
Provides-Extra: tests
|
|
51
|
-
Requires-Dist:
|
|
52
|
-
Requires-Dist:
|
|
53
|
-
Requires-Dist: pytest
|
|
40
|
+
Requires-Dist: flake8>=3.0.0; extra == "tests"
|
|
41
|
+
Requires-Dist: mock>=4.0.0; extra == "tests"
|
|
42
|
+
Requires-Dist: pytest>=6.0.0; extra == "tests"
|
|
43
|
+
Provides-Extra: docs
|
|
44
|
+
Requires-Dist: autodocsumm==0.2.9; extra == "docs"
|
|
45
|
+
Requires-Dist: commonmark==0.9.1; extra == "docs"
|
|
46
|
+
Requires-Dist: grpcio-status<=1.47.0; extra == "docs"
|
|
47
|
+
Requires-Dist: m2r2==0.3.3.post2; extra == "docs"
|
|
48
|
+
Requires-Dist: protobuf<5,>=4.21.1; extra == "docs"
|
|
49
|
+
Requires-Dist: sphinx-immaterial==0.9.0; extra == "docs"
|
|
50
|
+
Requires-Dist: sphinx-notfound-page==0.8.3; extra == "docs"
|
|
51
|
+
Requires-Dist: sphinx-rtd-theme==2.0.0; extra == "docs"
|
|
52
|
+
Requires-Dist: sphinx<6.0.0,>=5.0.2; extra == "docs"
|
|
53
|
+
Dynamic: author
|
|
54
|
+
Dynamic: author-email
|
|
55
|
+
Dynamic: classifier
|
|
56
|
+
Dynamic: description
|
|
57
|
+
Dynamic: description-content-type
|
|
58
|
+
Dynamic: home-page
|
|
59
|
+
Dynamic: license
|
|
60
|
+
Dynamic: license-file
|
|
61
|
+
Dynamic: project-url
|
|
62
|
+
Dynamic: provides-extra
|
|
63
|
+
Dynamic: requires-dist
|
|
64
|
+
Dynamic: requires-python
|
|
65
|
+
Dynamic: summary
|
|
54
66
|
|
|
55
67
|
# Google Cloud Pipeline Components
|
|
56
68
|
|
|
@@ -95,5 +107,3 @@ Use the following command to install Google Cloud Pipeline Components from [PyPI
|
|
|
95
107
|
```shell
|
|
96
108
|
pip install -U google-cloud-pipeline-components
|
|
97
109
|
```
|
|
98
|
-
|
|
99
|
-
|