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.

Files changed (24) hide show
  1. google_cloud_pipeline_components/_implementation/starry_net/get_training_artifacts/component.py +2 -2
  2. google_cloud_pipeline_components/_implementation/starry_net/set_test_set/component.py +1 -1
  3. google_cloud_pipeline_components/_implementation/starry_net/upload_decomposition_plots/component.py +7 -4
  4. google_cloud_pipeline_components/_implementation/starry_net/version.py +3 -3
  5. google_cloud_pipeline_components/container/v1/aiplatform/remote_runner.py +1 -1
  6. google_cloud_pipeline_components/preview/model_evaluation/__init__.py +0 -7
  7. google_cloud_pipeline_components/proto/README.md +49 -0
  8. google_cloud_pipeline_components/proto/gcp_resources.proto +25 -0
  9. google_cloud_pipeline_components/proto/task_error.proto +11 -0
  10. google_cloud_pipeline_components/proto/template_metadata.proto +323 -0
  11. google_cloud_pipeline_components/version.py +1 -1
  12. {google_cloud_pipeline_components-2.19.0.dist-info → google_cloud_pipeline_components-2.20.1.dist-info}/METADATA +32 -22
  13. {google_cloud_pipeline_components-2.19.0.dist-info → google_cloud_pipeline_components-2.20.1.dist-info}/RECORD +16 -20
  14. {google_cloud_pipeline_components-2.19.0.dist-info → google_cloud_pipeline_components-2.20.1.dist-info}/WHEEL +1 -1
  15. google_cloud_pipeline_components/_implementation/model_evaluation/import_evaluation/__init__.py +0 -14
  16. google_cloud_pipeline_components/_implementation/model_evaluation/import_evaluation/component.py +0 -208
  17. google_cloud_pipeline_components/preview/model_evaluation/evaluation_llm_classification_pipeline.py +0 -180
  18. google_cloud_pipeline_components/preview/model_evaluation/evaluation_llm_text_generation_pipeline.py +0 -178
  19. google_cloud_pipeline_components/preview/model_evaluation/model_based_llm_evaluation/__init__.py +0 -20
  20. google_cloud_pipeline_components/preview/model_evaluation/model_based_llm_evaluation/autosxs/__init__.py +0 -13
  21. google_cloud_pipeline_components/preview/model_evaluation/model_based_llm_evaluation/autosxs/autosxs_pipeline.py +0 -109
  22. google_cloud_pipeline_components/proto/preflight_validations_pb2.py +0 -58
  23. {google_cloud_pipeline_components-2.19.0.dist-info → google_cloud_pipeline_components-2.20.1.dist-info/licenses}/LICENSE +0 -0
  24. {google_cloud_pipeline_components-2.19.0.dist-info → google_cloud_pipeline_components-2.20.1.dist-info}/top_level.txt +0 -0
@@ -2,7 +2,7 @@ google_cloud_pipeline_components/__init__.py,sha256=HOU1WNUeWpY1HjluW8vbI7Cai_EF
2
2
  google_cloud_pipeline_components/_image.py,sha256=lANDYNk1WSuGZSoTTRcWdjsUvCkkA-PmwouTM9Et7fY,828
3
3
  google_cloud_pipeline_components/_placeholders.py,sha256=9yIbieYjZkZJg4xuKklxWQVn3Z-9ryb9Q6V15Jqpe98,3090
4
4
  google_cloud_pipeline_components/utils.py,sha256=9FG7umyEXhyUvtNeC46NuQ04olDMR3o-Wp78V1xs8GY,11045
5
- google_cloud_pipeline_components/version.py,sha256=wikDfrLgZU0gGQquk9kt6fyBFSm4sbnzYAgcRtxYj78,678
5
+ google_cloud_pipeline_components/version.py,sha256=RpA9LI_sZNfPrf1tjgDzwvGlJvs-od2vYIwfPtZ8SaU,678
6
6
  google_cloud_pipeline_components/_implementation/__init__.py,sha256=sb6SfJl6rt3AKjiWxd-KO9DSiZ3PzGZRcsqKuc1A2Cg,606
7
7
  google_cloud_pipeline_components/_implementation/llm/__init__.py,sha256=sb6SfJl6rt3AKjiWxd-KO9DSiZ3PzGZRcsqKuc1A2Cg,606
8
8
  google_cloud_pipeline_components/_implementation/llm/batch_prediction_pairwise.py,sha256=mARB-tDYFr0tpBrLCIh481H4LDuXdr_8UyKVUaOF5Cw,7569
@@ -57,8 +57,6 @@ google_cloud_pipeline_components/_implementation/model_evaluation/feature_extrac
57
57
  google_cloud_pipeline_components/_implementation/model_evaluation/feature_extractor/component.py,sha256=u4P3hSGBnFXtn8MKb8g1J9FAA74VpowBmPTmSDFq9J4,5539
58
58
  google_cloud_pipeline_components/_implementation/model_evaluation/import_evaluated_annotation/__init__.py,sha256=-znXeLR3Uhon4BsRcAqHdVhcSUCqkY7rFouQFLD6Atg,684
59
59
  google_cloud_pipeline_components/_implementation/model_evaluation/import_evaluated_annotation/component.py,sha256=d1QlNA_hpSJNgvwRJFGKZnVi0zc0KhZEHzVkq5wJWXQ,3053
60
- google_cloud_pipeline_components/_implementation/model_evaluation/import_evaluation/__init__.py,sha256=eG4D5YbXHkveV6PP1uX8ZL48LCZ1mUtKGKb520dpILg,674
61
- google_cloud_pipeline_components/_implementation/model_evaluation/import_evaluation/component.py,sha256=uZEtGhRtkCtjJFxBHFv8LSm_m7KlJxgmMhc2Whw6Mrw,8026
62
60
  google_cloud_pipeline_components/_implementation/model_evaluation/llm_classification_postprocessor/__init__.py,sha256=kEQ4aaKnV-KulHqbhb6eJIZzk4O7uSBRPzm_e3q_hcA,697
63
61
  google_cloud_pipeline_components/_implementation/model_evaluation/llm_classification_postprocessor/component.py,sha256=H0g7nMK3JVdQonLe5jpKvvzm9N2YzFGQUWJwwfxQ33s,11227
64
62
  google_cloud_pipeline_components/_implementation/model_evaluation/llm_embedding/__init__.py,sha256=CUSeP0l2KFuo2wbw00DE5Zur0jpgHpZ1aThg7yqWuGY,680
@@ -91,14 +89,14 @@ google_cloud_pipeline_components/_implementation/model_evaluation/text2sql_prepr
91
89
  google_cloud_pipeline_components/_implementation/model_evaluation/text2sql_validate_and_process/__init__.py,sha256=EFQ99_7vrJ7J4R5dv5bwnhEC_d5kPTv5xlaZeRg1p8s,701
92
90
  google_cloud_pipeline_components/_implementation/model_evaluation/text2sql_validate_and_process/component.py,sha256=N0i_X8xNdLzcEKudSWTbzB_d8u0W4a7xp2D8CC2HDYM,5636
93
91
  google_cloud_pipeline_components/_implementation/starry_net/__init__.py,sha256=CSopfSpiwuix5UEjjVQWINND1-0uTReQAZ6ZA6Y9m5U,2502
94
- google_cloud_pipeline_components/_implementation/starry_net/version.py,sha256=hptAsa5Vzj3QE7_1aGjqNkFI_eoFDjBI0fRuTbyYiAg,778
92
+ google_cloud_pipeline_components/_implementation/starry_net/version.py,sha256=UF3VQf3Jz9An6E7DsKmPr7_rDZBQLas0AkI6WAKTjbQ,778
95
93
  google_cloud_pipeline_components/_implementation/starry_net/dataprep/__init__.py,sha256=LYxMCPeZcfGqRbt3mo3hY7U02A6G8aWdP_RtdoqxNrQ,606
96
94
  google_cloud_pipeline_components/_implementation/starry_net/dataprep/component.py,sha256=_n2EB1fC6xonSoLAWtNbnbQkVenGmKXy84dievBLQY4,7984
97
95
  google_cloud_pipeline_components/_implementation/starry_net/evaluation/__init__.py,sha256=LYxMCPeZcfGqRbt3mo3hY7U02A6G8aWdP_RtdoqxNrQ,606
98
96
  google_cloud_pipeline_components/_implementation/starry_net/evaluation/component.py,sha256=SlNxkVcaxmJRiOFxPjL71amNrE4R0J2UGl5xdHAZUgU,819
99
97
  google_cloud_pipeline_components/_implementation/starry_net/evaluation/evaluation.yaml,sha256=qEcFeTONUU4HgiuPrqb8HkEPpkQARl6xIzGkRVuwogE,10283
100
98
  google_cloud_pipeline_components/_implementation/starry_net/get_training_artifacts/__init__.py,sha256=LYxMCPeZcfGqRbt3mo3hY7U02A6G8aWdP_RtdoqxNrQ,606
101
- google_cloud_pipeline_components/_implementation/starry_net/get_training_artifacts/component.py,sha256=RD9oykj5ZPtShddhdWtHU2W1DCTr8BT9TrWQZcUhCq4,2213
99
+ google_cloud_pipeline_components/_implementation/starry_net/get_training_artifacts/component.py,sha256=tuPSi9vYlkzMde2g194H_gKFmb3gF4H1RK-GMQLyBKY,2213
102
100
  google_cloud_pipeline_components/_implementation/starry_net/maybe_set_tfrecord_args/__init__.py,sha256=LYxMCPeZcfGqRbt3mo3hY7U02A6G8aWdP_RtdoqxNrQ,606
103
101
  google_cloud_pipeline_components/_implementation/starry_net/maybe_set_tfrecord_args/component.py,sha256=Vv5_7aXU3mNw8JYFofioGMgik_qvokzoFSWgtJqVCcs,2734
104
102
  google_cloud_pipeline_components/_implementation/starry_net/set_dataprep_args/__init__.py,sha256=LYxMCPeZcfGqRbt3mo3hY7U02A6G8aWdP_RtdoqxNrQ,606
@@ -106,7 +104,7 @@ google_cloud_pipeline_components/_implementation/starry_net/set_dataprep_args/co
106
104
  google_cloud_pipeline_components/_implementation/starry_net/set_eval_args/__init__.py,sha256=LYxMCPeZcfGqRbt3mo3hY7U02A6G8aWdP_RtdoqxNrQ,606
107
105
  google_cloud_pipeline_components/_implementation/starry_net/set_eval_args/component.py,sha256=MEtS4QXWZgoVi5K9LlEv6WQ7teXR-UbzCOnMEjkroDQ,2638
108
106
  google_cloud_pipeline_components/_implementation/starry_net/set_test_set/__init__.py,sha256=LYxMCPeZcfGqRbt3mo3hY7U02A6G8aWdP_RtdoqxNrQ,606
109
- google_cloud_pipeline_components/_implementation/starry_net/set_test_set/component.py,sha256=6OEzrA5-VTJMVR6udi9sG_-GjygkzX1MeiypWLILxcM,1686
107
+ google_cloud_pipeline_components/_implementation/starry_net/set_test_set/component.py,sha256=ZkYQlfIB78V2K9uhItTkHaD_gCzyn-89IiNMWyhikA4,1686
110
108
  google_cloud_pipeline_components/_implementation/starry_net/set_tfrecord_args/__init__.py,sha256=LYxMCPeZcfGqRbt3mo3hY7U02A6G8aWdP_RtdoqxNrQ,606
111
109
  google_cloud_pipeline_components/_implementation/starry_net/set_tfrecord_args/component.py,sha256=xjXUunPDU0HmkTrPzWl9hfcQHcgdEtnCxYEEuS9sPd0,2423
112
110
  google_cloud_pipeline_components/_implementation/starry_net/set_train_args/__init__.py,sha256=LYxMCPeZcfGqRbt3mo3hY7U02A6G8aWdP_RtdoqxNrQ,606
@@ -114,7 +112,7 @@ google_cloud_pipeline_components/_implementation/starry_net/set_train_args/compo
114
112
  google_cloud_pipeline_components/_implementation/starry_net/train/__init__.py,sha256=LYxMCPeZcfGqRbt3mo3hY7U02A6G8aWdP_RtdoqxNrQ,606
115
113
  google_cloud_pipeline_components/_implementation/starry_net/train/component.py,sha256=1dl7jP7AZaZA9LOoRbQCTtXMZlyd6j9ua7AcXIaG6vk,10997
116
114
  google_cloud_pipeline_components/_implementation/starry_net/upload_decomposition_plots/__init__.py,sha256=LYxMCPeZcfGqRbt3mo3hY7U02A6G8aWdP_RtdoqxNrQ,606
117
- google_cloud_pipeline_components/_implementation/starry_net/upload_decomposition_plots/component.py,sha256=Okz_ZuiZ9084wqjzurkIez-Y6FDugdz0l_iTPMj1z_I,2257
115
+ google_cloud_pipeline_components/_implementation/starry_net/upload_decomposition_plots/component.py,sha256=OAp_2g9piPxZG8GzSVwvfAr6FafTy_-oMgA4I_6-ev0,2397
118
116
  google_cloud_pipeline_components/_implementation/starry_net/upload_model/__init__.py,sha256=LYxMCPeZcfGqRbt3mo3hY7U02A6G8aWdP_RtdoqxNrQ,606
119
117
  google_cloud_pipeline_components/_implementation/starry_net/upload_model/component.py,sha256=P-gCilLSI8ypUDwRFSZKmkS0FS9JBXr6vk7_qLDTidE,826
120
118
  google_cloud_pipeline_components/_implementation/starry_net/upload_model/upload_model.yaml,sha256=6eTzVJ7bvp67NjN0Y3HwZWdgYdswJTVXiQNSdOtSh_E,1462
@@ -146,7 +144,7 @@ google_cloud_pipeline_components/container/utils/error_surfacing.py,sha256=OWi8y
146
144
  google_cloud_pipeline_components/container/utils/execution_context.py,sha256=6d2qC7IE5BcVT2nLZzBg6T-I3yPiU1_J61t2wtlDEe8,1841
147
145
  google_cloud_pipeline_components/container/v1/__init__.py,sha256=iEvOrKaUA31vCoQeMAr7EBPKPkIwv5iLQ1tChsJok8w,651
148
146
  google_cloud_pipeline_components/container/v1/aiplatform/__init__.py,sha256=5X_ymPsBAGK9hpepKd1PR0opJLeeMmHvB2DR5YjAtCQ,651
149
- google_cloud_pipeline_components/container/v1/aiplatform/remote_runner.py,sha256=FciZ9QKRRDu7CI8Op-NjQaQbfpP28PxJxg1Tj-_mD-M,10719
147
+ google_cloud_pipeline_components/container/v1/aiplatform/remote_runner.py,sha256=mNDQg6gglj61SvqSmw6yKDmcRvJVZXX1I7Nx3COrj38,10751
150
148
  google_cloud_pipeline_components/container/v1/aiplatform/utils.py,sha256=RAuXI-y_gKZRLMfYLSkIvkYXG_VM6UrKLBybXhtu8b4,5257
151
149
  google_cloud_pipeline_components/container/v1/automl_training_job/__init__.py,sha256=TqLXJp5yD0-q9wzj-Oq9xKHEsFjZOI_pD_Uj1kqGDB4,689
152
150
  google_cloud_pipeline_components/container/v1/automl_training_job/image/__init__.py,sha256=_RmKwMH0OlXkccmQmrTkHMGCAEq41_4ihgllPNcL3k8,701
@@ -360,24 +358,22 @@ google_cloud_pipeline_components/preview/llm/rlaif/__init__.py,sha256=LYxMCPeZcf
360
358
  google_cloud_pipeline_components/preview/llm/rlaif/component.py,sha256=F4uzuz2pcLDd5IJ6--IkZf2dcmimiYfCivwmPwL_QIg,10801
361
359
  google_cloud_pipeline_components/preview/llm/rlhf/__init__.py,sha256=sb6SfJl6rt3AKjiWxd-KO9DSiZ3PzGZRcsqKuc1A2Cg,606
362
360
  google_cloud_pipeline_components/preview/llm/rlhf/component.py,sha256=9XpSVUga81GTqkn4qMBddhc41IzY0-p4IBC4UFP50G4,15339
363
- google_cloud_pipeline_components/preview/model_evaluation/__init__.py,sha256=n076N7S2HEdMuSZ8cyKM6acjCjslOHjCx4SR49asRME,2121
361
+ google_cloud_pipeline_components/preview/model_evaluation/__init__.py,sha256=bbVDhlCVg5AMoi9zOT0C5BfWsnIObVi7L86FJ3JUEqE,1581
364
362
  google_cloud_pipeline_components/preview/model_evaluation/data_bias_component.py,sha256=YiwkWfbGymX_lDIg_x7AP6nYMm3MQp_NgV8xuSZxCpU,5791
365
- google_cloud_pipeline_components/preview/model_evaluation/evaluation_llm_classification_pipeline.py,sha256=IjCIakZFh7KB6kmku7ztaH-qFm9LoEctwwMtxmDOg5g,11262
366
- google_cloud_pipeline_components/preview/model_evaluation/evaluation_llm_text_generation_pipeline.py,sha256=afS9-rkKbQHDwOldtFC8w7Xv9UOqIU-Xt6ZEim14fqg,10761
367
363
  google_cloud_pipeline_components/preview/model_evaluation/feature_attribution_component.py,sha256=XWrI1inQ9hKixFrp2LUdgu7hONYUvbsxv2GXZ-UTkCY,7450
368
364
  google_cloud_pipeline_components/preview/model_evaluation/feature_attribution_graph_component.py,sha256=jesgBUKbIB_qQoYb5-Bv_LBbFHl0tPyMlVFx-o1eE6k,13624
369
365
  google_cloud_pipeline_components/preview/model_evaluation/model_bias_component.py,sha256=R8WhT8jf_OOpMuABRh2BYTDEcfiGAf6VA-vFgiTymYY,6674
370
366
  google_cloud_pipeline_components/preview/model_evaluation/model_evaluation_import_component.py,sha256=ePHbJqWYbZR5wCgJ8aVgDrOcWSoAiVq7df6HxTw1gdY,8118
371
367
  google_cloud_pipeline_components/preview/model_evaluation/utils.py,sha256=oRlEvA3zMSTzgxJklZD0A-BzFDx0-PsBHBXZ4kmaREY,7539
372
- google_cloud_pipeline_components/preview/model_evaluation/model_based_llm_evaluation/__init__.py,sha256=ee_EyGhwqXIjR3Rx9t-o2gV9TssU-VErMU7LtDA7s9k,838
373
- google_cloud_pipeline_components/preview/model_evaluation/model_based_llm_evaluation/autosxs/__init__.py,sha256=sb6SfJl6rt3AKjiWxd-KO9DSiZ3PzGZRcsqKuc1A2Cg,606
374
- google_cloud_pipeline_components/preview/model_evaluation/model_based_llm_evaluation/autosxs/autosxs_pipeline.py,sha256=rymTHXZZCMFtwzf9qOjDx2qd2yCdTYzUO0kfja7kAiE,7055
375
368
  google_cloud_pipeline_components/preview/starry_net/__init__.py,sha256=yEpcicPBsGqgahrCtcJ06a_7E2pUgdp32U0yWwFRy7E,796
376
369
  google_cloud_pipeline_components/preview/starry_net/component.py,sha256=SdmUfL7xZfK8yWOuVqDczqTqJMShAga3rJxgj4mFCxE,24424
370
+ google_cloud_pipeline_components/proto/README.md,sha256=woU_Z4coJkfUT5zslydfkfWN9sOvH6zsLJTLxvacGUg,1858
377
371
  google_cloud_pipeline_components/proto/__init__.py,sha256=aiPUc6gpQwG9cRTYfw3ChFCJfDr3vAIsm2eMYUDJjJQ,661
372
+ google_cloud_pipeline_components/proto/gcp_resources.proto,sha256=SrIIV7hLhOCUvrWBtuc8fkHuOczftkKmlhyLAsDNuUw,764
378
373
  google_cloud_pipeline_components/proto/gcp_resources_pb2.py,sha256=ssNNm4zjiWbuBUS7IH6kyrvvfmcC_Z5F7hOAuQe_YLk,2134
379
- google_cloud_pipeline_components/proto/preflight_validations_pb2.py,sha256=ZZFTISXvqQl-284O_zPJrgXO4REPLwn3qxXg8BTJHM0,3056
374
+ google_cloud_pipeline_components/proto/task_error.proto,sha256=0-Wi6DOF3jWDSwvIFU3XPWrj--ArG10REng6OE3yiKg,283
380
375
  google_cloud_pipeline_components/proto/task_error_pb2.py,sha256=PPz4luEm3Pa3YDn4mtpqEPl8QVSFa44pV8W2KbWRq1I,1235
376
+ google_cloud_pipeline_components/proto/template_metadata.proto,sha256=RBsrMfjcmDK465l6f8thY2dj_HfXiBf6I5QO5BNhVYQ,10736
381
377
  google_cloud_pipeline_components/proto/template_metadata_pb2.py,sha256=jAIJgc5UWYz8E0Vf3IbjPlyiWI3kCNYrJHyAUaQTpgc,10067
382
378
  google_cloud_pipeline_components/types/__init__.py,sha256=1WFkL49QEy-gNb6ywQOE4yZkD7DoULAeiL1tLdb3S28,606
383
379
  google_cloud_pipeline_components/types/artifact_types.py,sha256=zvwvzRuFb_s1VS1mtKkltOOACATJk-kG7dVFOUasfw4,23725
@@ -562,8 +558,8 @@ google_cloud_pipeline_components/v1/vertex_notification_email/__init__.py,sha256
562
558
  google_cloud_pipeline_components/v1/vertex_notification_email/component.py,sha256=Dau8ZI0mzLBnLOUBQm6EtK8gbtX1u57t76Ud5qlg9xc,2163
563
559
  google_cloud_pipeline_components/v1/wait_gcp_resources/__init__.py,sha256=w6dfz-rYsYnxFapRH1Dix3GVz0mhPW0m1IVpE6z8jbg,878
564
560
  google_cloud_pipeline_components/v1/wait_gcp_resources/component.py,sha256=Nsfj5c3eeZq83fHLvv2IlpK4jrjxLxRksFYOl5W6JnA,2468
565
- google_cloud_pipeline_components-2.19.0.dist-info/LICENSE,sha256=VAc1R5OxOELKsX5L5Ldp5THfNtxtt1cMIZBaC0Jdj5Q,13118
566
- google_cloud_pipeline_components-2.19.0.dist-info/METADATA,sha256=4sDVAb6_p_sLkB85eW3fgu7vF5dCds4BxRReuhtA2nQ,5956
567
- google_cloud_pipeline_components-2.19.0.dist-info/WHEEL,sha256=ewwEueio1C2XeHTvT17n8dZUJgOvyCWCt0WVNLClP9o,92
568
- google_cloud_pipeline_components-2.19.0.dist-info/top_level.txt,sha256=E8T4T8KGMGLXbHvt2goa98oezRpxryPC6QhWBZ27Hhc,33
569
- google_cloud_pipeline_components-2.19.0.dist-info/RECORD,,
561
+ google_cloud_pipeline_components-2.20.1.dist-info/licenses/LICENSE,sha256=VAc1R5OxOELKsX5L5Ldp5THfNtxtt1cMIZBaC0Jdj5Q,13118
562
+ google_cloud_pipeline_components-2.20.1.dist-info/METADATA,sha256=7C7mn1woFR6nF8jkmDU6ielzf7pl7RJiOSMbYcBpHuo,6156
563
+ google_cloud_pipeline_components-2.20.1.dist-info/WHEEL,sha256=lTU6B6eIfYoiQJTZNc-fyaR6BpL6ehTzU3xGYxn2n8k,91
564
+ google_cloud_pipeline_components-2.20.1.dist-info/top_level.txt,sha256=E8T4T8KGMGLXbHvt2goa98oezRpxryPC6QhWBZ27Hhc,33
565
+ google_cloud_pipeline_components-2.20.1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.37.0)
2
+ Generator: setuptools (78.1.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,14 +0,0 @@
1
- # Copyright 2023 The Kubeflow Authors. All Rights Reserved.
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
- """Google Cloud Pipeline Evaluation Import Evaluation Component."""
@@ -1,208 +0,0 @@
1
- # Copyright 2023 The Kubeflow Authors. All Rights Reserved.
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
-
16
- from typing import List, Optional
17
-
18
- from google_cloud_pipeline_components import _image
19
- from google_cloud_pipeline_components.types.artifact_types import ClassificationMetrics
20
- from google_cloud_pipeline_components.types.artifact_types import ForecastingMetrics
21
- from google_cloud_pipeline_components.types.artifact_types import RegressionMetrics
22
- from google_cloud_pipeline_components.types.artifact_types import VertexModel
23
- from kfp import dsl
24
- from kfp.dsl import Input
25
- from kfp.dsl import Metrics
26
-
27
-
28
- @dsl.container_component
29
- def model_evaluation_import(
30
- model: Input[VertexModel],
31
- gcp_resources: dsl.OutputPath(str),
32
- evaluation_resource_name: dsl.OutputPath(str),
33
- metrics: Optional[Input[Metrics]] = None,
34
- row_based_metrics: Optional[Input[Metrics]] = None,
35
- problem_type: Optional[str] = None,
36
- classification_metrics: Optional[Input[ClassificationMetrics]] = None,
37
- forecasting_metrics: Optional[Input[ForecastingMetrics]] = None,
38
- regression_metrics: Optional[Input[RegressionMetrics]] = None,
39
- text_generation_metrics: Optional[Input[Metrics]] = None,
40
- question_answering_metrics: Optional[Input[Metrics]] = None,
41
- summarization_metrics: Optional[Input[Metrics]] = None,
42
- explanation: Optional[Input[Metrics]] = None,
43
- feature_attributions: Optional[Input[Metrics]] = None,
44
- embedding_metrics: Optional[Input[Metrics]] = None,
45
- display_name: str = "",
46
- dataset_path: str = "",
47
- dataset_paths: List[str] = [],
48
- dataset_type: str = "",
49
- ):
50
- # fmt: off
51
- """Imports a model evaluation artifact to an existing Vertex model with
52
- ModelService.ImportModelEvaluation.
53
-
54
- For more details, see
55
- https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.models.evaluations
56
- One of the four metrics inputs must be provided, metrics & problem_type,
57
- classification_metrics, regression_metrics, or forecasting_metrics.
58
-
59
- Args:
60
- model: Vertex model resource that will be the parent resource of the
61
- uploaded evaluation.
62
- metrics: Path of metrics generated from an evaluation component.
63
- row_based_metrics:
64
- Path of row_based_metrics generated from an evaluation component.
65
- problem_type: The problem type of the metrics being imported to the
66
- VertexModel. `classification`, `regression`, `forecasting`,
67
- `text-generation`, `question-answering`, and `summarization` are the
68
- currently supported problem types. Must be provided when `metrics` is
69
- provided.
70
- classification_metrics: google.ClassificationMetrics artifact generated from
71
- the ModelEvaluationClassificationOp component.
72
- forecasting_metrics: google.ForecastingMetrics artifact generated from
73
- the ModelEvaluationForecastingOp component.
74
- regression_metrics: google.ClassificationMetrics artifact generated from
75
- the ModelEvaluationRegressionOp component.
76
- text_generation_metrics: system.Metrics artifact generated from
77
- the LLMEvaluationTextGenerationOp component. Subject to change to
78
- google.TextGenerationMetrics.
79
- question_answering_metrics: system.Metrics artifact generated from
80
- the LLMEvaluationTextGenerationOp component. Subject to change to
81
- google.QuestionAnsweringMetrics.
82
- summarization_metrics: system.Metrics artifact generated from
83
- the LLMEvaluationTextGenerationOp component. Subject to change to
84
- google.SummarizationMetrics.
85
- explanation: Path for model explanation metrics generated from an evaluation
86
- component.
87
- feature_attributions: The feature attributions metrics artifact generated
88
- from the feature attribution component.
89
- embedding_metrics: The embedding metrics artifact generated from the
90
- embedding retrieval metrics component.
91
- display_name: The display name for the uploaded model evaluation resource.
92
- """
93
- # fmt: on
94
- return dsl.ContainerSpec(
95
- image=_image.GCPC_IMAGE_TAG,
96
- command=[
97
- "python3",
98
- "-u",
99
- "-m",
100
- "google_cloud_pipeline_components.container._implementation.model_evaluation.import_model_evaluation",
101
- ],
102
- args=[
103
- dsl.IfPresentPlaceholder(
104
- input_name="metrics",
105
- then=[
106
- "--metrics",
107
- metrics.uri,
108
- "--metrics_explanation",
109
- metrics.metadata["explanation_gcs_path"],
110
- ],
111
- ),
112
- dsl.IfPresentPlaceholder(
113
- input_name="row_based_metrics",
114
- then=[
115
- "--row_based_metrics",
116
- row_based_metrics.uri,
117
- ],
118
- ),
119
- dsl.IfPresentPlaceholder(
120
- input_name="explanation",
121
- then=[
122
- "--explanation",
123
- explanation.metadata["explanation_gcs_path"],
124
- ],
125
- ),
126
- dsl.IfPresentPlaceholder(
127
- input_name="classification_metrics",
128
- then=[
129
- "--classification_metrics",
130
- classification_metrics.uri,
131
- ],
132
- ),
133
- dsl.IfPresentPlaceholder(
134
- input_name="forecasting_metrics",
135
- then=[
136
- "--forecasting_metrics",
137
- forecasting_metrics.uri,
138
- ],
139
- ),
140
- dsl.IfPresentPlaceholder(
141
- input_name="regression_metrics",
142
- then=[
143
- "--regression_metrics",
144
- regression_metrics.uri,
145
- ],
146
- ),
147
- dsl.IfPresentPlaceholder(
148
- input_name="text_generation_metrics",
149
- then=[
150
- "--text_generation_metrics",
151
- text_generation_metrics.uri,
152
- ],
153
- ),
154
- dsl.IfPresentPlaceholder(
155
- input_name="question_answering_metrics",
156
- then=[
157
- "--question_answering_metrics",
158
- question_answering_metrics.uri,
159
- ],
160
- ),
161
- dsl.IfPresentPlaceholder(
162
- input_name="summarization_metrics",
163
- then=[
164
- "--summarization_metrics",
165
- summarization_metrics.uri,
166
- ],
167
- ),
168
- dsl.IfPresentPlaceholder(
169
- input_name="feature_attributions",
170
- then=[
171
- "--feature_attributions",
172
- feature_attributions.uri,
173
- ],
174
- ),
175
- dsl.IfPresentPlaceholder(
176
- input_name="embedding_metrics",
177
- then=[
178
- "--embedding_metrics",
179
- embedding_metrics.uri,
180
- ],
181
- ),
182
- dsl.IfPresentPlaceholder(
183
- input_name="problem_type",
184
- then=[
185
- "--problem_type",
186
- problem_type,
187
- ],
188
- ),
189
- "--display_name",
190
- display_name,
191
- "--dataset_path",
192
- dataset_path,
193
- "--dataset_paths",
194
- dataset_paths,
195
- "--dataset_type",
196
- dataset_type,
197
- "--pipeline_job_id",
198
- dsl.PIPELINE_JOB_ID_PLACEHOLDER,
199
- "--pipeline_job_resource_name",
200
- dsl.PIPELINE_JOB_RESOURCE_NAME_PLACEHOLDER,
201
- "--model_name",
202
- model.metadata["resourceName"],
203
- "--gcp_resources",
204
- gcp_resources,
205
- "--evaluation_resource_name",
206
- evaluation_resource_name,
207
- ],
208
- )
@@ -1,180 +0,0 @@
1
- # Copyright 2023 The Kubeflow Authors. All Rights Reserved.
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
- """Vertex Gen AI Evaluation for text classification task."""
15
-
16
- from typing import Dict, List, NamedTuple
17
-
18
- from google_cloud_pipeline_components._implementation.model_evaluation import LLMEvaluationClassificationPredictionsPostprocessorOp
19
- from google_cloud_pipeline_components._implementation.model_evaluation import LLMEvaluationPreprocessorOp
20
- from google_cloud_pipeline_components._implementation.model_evaluation import ModelImportEvaluationOp
21
- from google_cloud_pipeline_components.types.artifact_types import ClassificationMetrics
22
- from google_cloud_pipeline_components.types.artifact_types import VertexModel
23
- from google_cloud_pipeline_components.v1.batch_predict_job import ModelBatchPredictOp
24
- from google_cloud_pipeline_components.v1.model_evaluation.classification_component import model_evaluation_classification as ModelEvaluationClassificationOp
25
- from kfp import dsl
26
- # pylint: disable=unused-argument, unexpected-keyword-arg
27
-
28
- _PIPELINE_NAME = 'evaluation-llm-classification-pipeline'
29
-
30
-
31
- @dsl.pipeline(name=_PIPELINE_NAME)
32
- def evaluation_llm_classification_pipeline( # pylint: disable=dangerous-default-value
33
- project: str,
34
- location: str,
35
- target_field_name: str,
36
- batch_predict_gcs_source_uris: List[str],
37
- batch_predict_gcs_destination_output_uri: str,
38
- model_name: str = 'publishers/google/models/text-bison@002',
39
- evaluation_task: str = 'text-classification',
40
- evaluation_class_labels: List[str] = [],
41
- input_field_name: str = 'input_text',
42
- batch_predict_instances_format: str = 'jsonl',
43
- batch_predict_predictions_format: str = 'jsonl',
44
- batch_predict_model_parameters: Dict[str, str] = {},
45
- machine_type: str = 'e2-highmem-16',
46
- service_account: str = '',
47
- network: str = '',
48
- dataflow_machine_type: str = 'n1-standard-4',
49
- dataflow_disk_size_gb: int = 50,
50
- dataflow_max_num_workers: int = 5,
51
- dataflow_service_account: str = '',
52
- dataflow_subnetwork: str = '',
53
- dataflow_use_public_ips: bool = True,
54
- encryption_spec_key_name: str = '',
55
- evaluation_display_name: str = 'evaluation-llm-classification-pipeline-{{$.pipeline_job_uuid}}',
56
- ) -> NamedTuple(
57
- 'outputs',
58
- evaluation_metrics=ClassificationMetrics,
59
- evaluation_resource_name=str,
60
- ):
61
- # fmt: off
62
- """The LLM Text Classification Evaluation pipeline.
63
-
64
- Args:
65
- project: Required. The GCP project that runs the pipeline components.
66
- location: Required. The GCP region that runs the pipeline components.
67
- target_field_name: Required. The target field's name. Formatted to be able to find nested columns, delimited by `.`. Prefixed with 'instance.' on the component for Vertex Batch Prediction.
68
- batch_predict_gcs_source_uris: Required. Google Cloud Storage URI(-s) to your instances data to run batch prediction on. The instances data should also contain the ground truth (target) data, used for evaluation. May contain wildcards. For more information on wildcards, see https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames. For more details about this input config, see https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.batchPredictionJobs#InputConfig.
69
- batch_predict_gcs_destination_output_uri: Required. The Google Cloud Storage location of the directory where the output is to be written to.
70
- model_name: The Model name used to run evaluation. Must be a publisher Model or a managed Model sharing the same ancestor location. Starting this job has no impact on any existing deployments of the Model and their resources.
71
- evaluation_task: The task that the large language model will be evaluated on. The evaluation component computes a set of metrics relevant to that specific task. Currently supported Classification tasks is: `text-classification`.
72
- evaluation_class_labels: The JSON array of class names for the target_field, in the same order they appear in the batch predictions input file.
73
- input_field_name: The field name of the input eval dataset instances that contains the input prompts to the LLM.
74
- batch_predict_instances_format: The format in which instances are given, must be one of the Model's supportedInputStorageFormats. For more details about this input config, see https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.batchPredictionJobs#InputConfig.
75
- batch_predict_predictions_format: The format in which Vertex AI gives the predictions. Must be one of the Model's supportedOutputStorageFormats. For more details about this output config, see https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.batchPredictionJobs#OutputConfig.
76
- batch_predict_model_parameters: A map of parameters that govern the predictions. Some acceptable parameters include: maxOutputTokens, topK, topP, and temperature.
77
- machine_type: The machine type of the custom jobs in this pipeline. If not set, defaulted to `e2-highmem-16`. More details: https://cloud.google.com/compute/docs/machine-resource
78
- service_account: Sets the default service account for workload run-as account. The service account running the pipeline (https://cloud.google.com/vertex-ai/docs/pipelines/configure-project#service-account) submitting jobs must have act-as permission on this run-as account. If unspecified, the Vertex AI Custom Code Service Agent(https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) for the CustomJob's project.
79
- network: The full name of the Compute Engine network to which the job should be peered. For example, `projects/12345/global/networks/myVPC`. Format is of the form `projects/{project}/global/networks/{network}`. Where `{project}` is a project number, as in `12345`, and `{network}` is a network name, as in `myVPC`. To specify this field, you must have already configured VPC Network Peering for Vertex AI (https://cloud.google.com/vertex-ai/docs/general/vpc-peering). If left unspecified, the job is not peered with any network.
80
- dataflow_machine_type: The Dataflow machine type for evaluation components.
81
- dataflow_disk_size_gb: The disk size (in GB) of the machine executing the evaluation run. If not set, defaulted to `50`.
82
- dataflow_max_num_workers: The max number of workers executing the evaluation run. If not set, defaulted to `5`.
83
- dataflow_service_account: Custom service account to run Dataflow jobs.
84
- dataflow_subnetwork: Dataflow's fully qualified subnetwork name, when empty the default subnetwork will be used. Example: https://cloud.google.com/dataflow/docs/guides/specifying-networks#example_network_and_subnetwork_specifications
85
- dataflow_use_public_ips: Specifies whether Dataflow workers use public IP addresses.
86
- encryption_spec_key_name: Customer-managed encryption key options. If set, resources created by this pipeline will be encrypted with the provided encryption key. Has the form: `projects/my-project/locations/my-location/keyRings/my-kr/cryptoKeys/my-key`. The key needs to be in the same region as where the compute resource is created.
87
- evaluation_display_name: The display name of the uploaded evaluation resource to the Vertex AI model.
88
-
89
- Returns:
90
- evaluation_metrics: ClassificationMetrics Artifact for LLM Text Classification.
91
- evaluation_resource_name: If run on an user's managed VertexModel, the imported evaluation resource name. Empty if run on a publisher model.
92
- """
93
- # fmt: on
94
- outputs = NamedTuple(
95
- 'outputs',
96
- evaluation_metrics=ClassificationMetrics,
97
- evaluation_resource_name=str,
98
- )
99
-
100
- get_vertex_model_task = dsl.importer(
101
- artifact_uri=(
102
- f'https://{location}-aiplatform.googleapis.com/v1/{model_name}'
103
- ),
104
- artifact_class=VertexModel,
105
- metadata={'resourceName': model_name},
106
- )
107
- get_vertex_model_task.set_display_name('get-vertex-model')
108
-
109
- eval_dataset_preprocessor_task = LLMEvaluationPreprocessorOp(
110
- project=project,
111
- location=location,
112
- gcs_source_uris=batch_predict_gcs_source_uris,
113
- input_field_name=input_field_name,
114
- machine_type=machine_type,
115
- service_account=service_account,
116
- network=network,
117
- encryption_spec_key_name=encryption_spec_key_name,
118
- )
119
- batch_predict_task = ModelBatchPredictOp(
120
- project=project,
121
- location=location,
122
- model=get_vertex_model_task.outputs['artifact'],
123
- job_display_name='evaluation-batch-predict-{{$.pipeline_job_uuid}}-{{$.pipeline_task_uuid}}',
124
- gcs_source_uris=eval_dataset_preprocessor_task.outputs[
125
- 'preprocessed_gcs_source_uris'
126
- ],
127
- instances_format=batch_predict_instances_format,
128
- predictions_format=batch_predict_predictions_format,
129
- gcs_destination_output_uri_prefix=batch_predict_gcs_destination_output_uri,
130
- model_parameters=batch_predict_model_parameters,
131
- encryption_spec_key_name=encryption_spec_key_name,
132
- )
133
-
134
- postprocessor_task = LLMEvaluationClassificationPredictionsPostprocessorOp(
135
- project=project,
136
- batch_prediction_results=batch_predict_task.outputs[
137
- 'gcs_output_directory'
138
- ],
139
- class_labels=evaluation_class_labels,
140
- location=location,
141
- machine_type=machine_type,
142
- network=network,
143
- service_account=service_account,
144
- encryption_spec_key_name=encryption_spec_key_name,
145
- )
146
-
147
- eval_task = ModelEvaluationClassificationOp(
148
- project=project,
149
- location=location,
150
- class_labels=postprocessor_task.outputs['postprocessed_class_labels'],
151
- target_field_name=target_field_name,
152
- predictions_gcs_source=postprocessor_task.outputs[
153
- 'postprocessed_predictions_gcs_source'
154
- ],
155
- prediction_label_column='prediction.classes',
156
- prediction_score_column='prediction.scores',
157
- predictions_format=batch_predict_predictions_format,
158
- dataflow_machine_type=dataflow_machine_type,
159
- dataflow_max_workers_num=dataflow_max_num_workers,
160
- dataflow_disk_size_gb=dataflow_disk_size_gb,
161
- dataflow_service_account=dataflow_service_account,
162
- dataflow_subnetwork=dataflow_subnetwork,
163
- dataflow_use_public_ips=dataflow_use_public_ips,
164
- encryption_spec_key_name=encryption_spec_key_name,
165
- )
166
-
167
- import_evaluation_task = ModelImportEvaluationOp(
168
- classification_metrics=eval_task.outputs['evaluation_metrics'],
169
- model=get_vertex_model_task.outputs['artifact'],
170
- dataset_type=batch_predict_instances_format,
171
- dataset_paths=batch_predict_gcs_source_uris,
172
- display_name=evaluation_display_name,
173
- )
174
-
175
- return outputs(
176
- evaluation_metrics=eval_task.outputs['evaluation_metrics'],
177
- evaluation_resource_name=import_evaluation_task.outputs[
178
- 'evaluation_resource_name'
179
- ],
180
- )