oracle-ads 2.13.8__py3-none-any.whl → 2.13.9rc0__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.
- {oracle_ads-2.13.8.dist-info → oracle_ads-2.13.9rc0.dist-info}/METADATA +151 -151
- oracle_ads-2.13.9rc0.dist-info/RECORD +9 -0
- {oracle_ads-2.13.8.dist-info → oracle_ads-2.13.9rc0.dist-info}/WHEEL +2 -1
- {oracle_ads-2.13.8.dist-info → oracle_ads-2.13.9rc0.dist-info}/entry_points.txt +1 -2
- oracle_ads-2.13.9rc0.dist-info/top_level.txt +1 -0
- ads/aqua/__init__.py +0 -40
- ads/aqua/app.py +0 -506
- ads/aqua/cli.py +0 -96
- ads/aqua/client/__init__.py +0 -3
- ads/aqua/client/client.py +0 -836
- ads/aqua/client/openai_client.py +0 -305
- ads/aqua/common/__init__.py +0 -5
- ads/aqua/common/decorator.py +0 -125
- ads/aqua/common/entities.py +0 -266
- ads/aqua/common/enums.py +0 -122
- ads/aqua/common/errors.py +0 -109
- ads/aqua/common/utils.py +0 -1285
- ads/aqua/config/__init__.py +0 -4
- ads/aqua/config/container_config.py +0 -248
- ads/aqua/config/evaluation/__init__.py +0 -4
- ads/aqua/config/evaluation/evaluation_service_config.py +0 -147
- ads/aqua/config/utils/__init__.py +0 -4
- ads/aqua/config/utils/serializer.py +0 -339
- ads/aqua/constants.py +0 -114
- ads/aqua/data.py +0 -14
- ads/aqua/dummy_data/icon.txt +0 -1
- ads/aqua/dummy_data/oci_model_deployments.json +0 -56
- ads/aqua/dummy_data/oci_models.json +0 -1
- ads/aqua/dummy_data/readme.md +0 -26
- ads/aqua/evaluation/__init__.py +0 -8
- ads/aqua/evaluation/constants.py +0 -53
- ads/aqua/evaluation/entities.py +0 -186
- ads/aqua/evaluation/errors.py +0 -70
- ads/aqua/evaluation/evaluation.py +0 -1814
- ads/aqua/extension/__init__.py +0 -42
- ads/aqua/extension/aqua_ws_msg_handler.py +0 -76
- ads/aqua/extension/base_handler.py +0 -90
- ads/aqua/extension/common_handler.py +0 -121
- ads/aqua/extension/common_ws_msg_handler.py +0 -36
- ads/aqua/extension/deployment_handler.py +0 -298
- ads/aqua/extension/deployment_ws_msg_handler.py +0 -54
- ads/aqua/extension/errors.py +0 -30
- ads/aqua/extension/evaluation_handler.py +0 -129
- ads/aqua/extension/evaluation_ws_msg_handler.py +0 -61
- ads/aqua/extension/finetune_handler.py +0 -96
- ads/aqua/extension/model_handler.py +0 -390
- ads/aqua/extension/models/__init__.py +0 -0
- ads/aqua/extension/models/ws_models.py +0 -145
- ads/aqua/extension/models_ws_msg_handler.py +0 -50
- ads/aqua/extension/ui_handler.py +0 -282
- ads/aqua/extension/ui_websocket_handler.py +0 -130
- ads/aqua/extension/utils.py +0 -133
- ads/aqua/finetuning/__init__.py +0 -7
- ads/aqua/finetuning/constants.py +0 -23
- ads/aqua/finetuning/entities.py +0 -181
- ads/aqua/finetuning/finetuning.py +0 -731
- ads/aqua/model/__init__.py +0 -8
- ads/aqua/model/constants.py +0 -60
- ads/aqua/model/entities.py +0 -306
- ads/aqua/model/enums.py +0 -30
- ads/aqua/model/model.py +0 -2080
- ads/aqua/modeldeployment/__init__.py +0 -8
- ads/aqua/modeldeployment/constants.py +0 -10
- ads/aqua/modeldeployment/deployment.py +0 -1324
- ads/aqua/modeldeployment/entities.py +0 -653
- ads/aqua/modeldeployment/inference.py +0 -74
- ads/aqua/modeldeployment/utils.py +0 -543
- ads/aqua/resources/gpu_shapes_index.json +0 -94
- ads/aqua/server/__init__.py +0 -4
- ads/aqua/server/__main__.py +0 -24
- ads/aqua/server/app.py +0 -47
- ads/aqua/server/aqua_spec.yml +0 -1291
- ads/aqua/training/__init__.py +0 -4
- ads/aqua/training/exceptions.py +0 -476
- ads/aqua/ui.py +0 -499
- ads/automl/__init__.py +0 -9
- ads/automl/driver.py +0 -330
- ads/automl/provider.py +0 -975
- ads/bds/__init__.py +0 -5
- ads/bds/auth.py +0 -127
- ads/bds/big_data_service.py +0 -255
- ads/catalog/__init__.py +0 -19
- ads/catalog/model.py +0 -1576
- ads/catalog/notebook.py +0 -461
- ads/catalog/project.py +0 -468
- ads/catalog/summary.py +0 -178
- ads/common/__init__.py +0 -11
- ads/common/analyzer.py +0 -65
- ads/common/artifact/.model-ignore +0 -63
- ads/common/artifact/__init__.py +0 -10
- ads/common/auth.py +0 -1122
- ads/common/card_identifier.py +0 -83
- ads/common/config.py +0 -647
- ads/common/data.py +0 -165
- ads/common/decorator/__init__.py +0 -9
- ads/common/decorator/argument_to_case.py +0 -88
- ads/common/decorator/deprecate.py +0 -69
- ads/common/decorator/require_nonempty_arg.py +0 -65
- ads/common/decorator/runtime_dependency.py +0 -178
- ads/common/decorator/threaded.py +0 -97
- ads/common/decorator/utils.py +0 -35
- ads/common/dsc_file_system.py +0 -303
- ads/common/error.py +0 -14
- ads/common/extended_enum.py +0 -81
- ads/common/function/__init__.py +0 -5
- ads/common/function/fn_util.py +0 -142
- ads/common/function/func_conf.yaml +0 -25
- ads/common/ipython.py +0 -76
- ads/common/model.py +0 -679
- ads/common/model_artifact.py +0 -1759
- ads/common/model_artifact_schema.json +0 -107
- ads/common/model_export_util.py +0 -664
- ads/common/model_metadata.py +0 -24
- ads/common/object_storage_details.py +0 -296
- ads/common/oci_client.py +0 -175
- ads/common/oci_datascience.py +0 -46
- ads/common/oci_logging.py +0 -1144
- ads/common/oci_mixin.py +0 -957
- ads/common/oci_resource.py +0 -136
- ads/common/serializer.py +0 -559
- ads/common/utils.py +0 -1852
- ads/common/word_lists.py +0 -1491
- ads/common/work_request.py +0 -189
- ads/data_labeling/__init__.py +0 -13
- ads/data_labeling/boundingbox.py +0 -253
- ads/data_labeling/constants.py +0 -47
- ads/data_labeling/data_labeling_service.py +0 -244
- ads/data_labeling/interface/__init__.py +0 -5
- ads/data_labeling/interface/loader.py +0 -16
- ads/data_labeling/interface/parser.py +0 -16
- ads/data_labeling/interface/reader.py +0 -23
- ads/data_labeling/loader/__init__.py +0 -5
- ads/data_labeling/loader/file_loader.py +0 -241
- ads/data_labeling/metadata.py +0 -110
- ads/data_labeling/mixin/__init__.py +0 -5
- ads/data_labeling/mixin/data_labeling.py +0 -232
- ads/data_labeling/ner.py +0 -129
- ads/data_labeling/parser/__init__.py +0 -5
- ads/data_labeling/parser/dls_record_parser.py +0 -388
- ads/data_labeling/parser/export_metadata_parser.py +0 -94
- ads/data_labeling/parser/export_record_parser.py +0 -473
- ads/data_labeling/reader/__init__.py +0 -5
- ads/data_labeling/reader/dataset_reader.py +0 -574
- ads/data_labeling/reader/dls_record_reader.py +0 -121
- ads/data_labeling/reader/export_record_reader.py +0 -62
- ads/data_labeling/reader/jsonl_reader.py +0 -75
- ads/data_labeling/reader/metadata_reader.py +0 -203
- ads/data_labeling/reader/record_reader.py +0 -263
- ads/data_labeling/record.py +0 -52
- ads/data_labeling/visualizer/__init__.py +0 -5
- ads/data_labeling/visualizer/image_visualizer.py +0 -525
- ads/data_labeling/visualizer/text_visualizer.py +0 -357
- ads/database/__init__.py +0 -5
- ads/database/connection.py +0 -338
- ads/dataset/__init__.py +0 -10
- ads/dataset/capabilities.md +0 -51
- ads/dataset/classification_dataset.py +0 -339
- ads/dataset/correlation.py +0 -226
- ads/dataset/correlation_plot.py +0 -563
- ads/dataset/dask_series.py +0 -173
- ads/dataset/dataframe_transformer.py +0 -110
- ads/dataset/dataset.py +0 -1979
- ads/dataset/dataset_browser.py +0 -360
- ads/dataset/dataset_with_target.py +0 -995
- ads/dataset/exception.py +0 -25
- ads/dataset/factory.py +0 -987
- ads/dataset/feature_engineering_transformer.py +0 -35
- ads/dataset/feature_selection.py +0 -107
- ads/dataset/forecasting_dataset.py +0 -26
- ads/dataset/helper.py +0 -1450
- ads/dataset/label_encoder.py +0 -99
- ads/dataset/mixin/__init__.py +0 -5
- ads/dataset/mixin/dataset_accessor.py +0 -134
- ads/dataset/pipeline.py +0 -58
- ads/dataset/plot.py +0 -710
- ads/dataset/progress.py +0 -86
- ads/dataset/recommendation.py +0 -297
- ads/dataset/recommendation_transformer.py +0 -502
- ads/dataset/regression_dataset.py +0 -14
- ads/dataset/sampled_dataset.py +0 -1050
- ads/dataset/target.py +0 -98
- ads/dataset/timeseries.py +0 -18
- ads/dbmixin/__init__.py +0 -5
- ads/dbmixin/db_pandas_accessor.py +0 -153
- ads/environment/__init__.py +0 -9
- ads/environment/ml_runtime.py +0 -66
- ads/evaluations/README.md +0 -14
- ads/evaluations/__init__.py +0 -109
- ads/evaluations/evaluation_plot.py +0 -983
- ads/evaluations/evaluator.py +0 -1334
- ads/evaluations/statistical_metrics.py +0 -543
- ads/experiments/__init__.py +0 -9
- ads/experiments/capabilities.md +0 -0
- ads/explanations/__init__.py +0 -21
- ads/explanations/base_explainer.py +0 -142
- ads/explanations/capabilities.md +0 -83
- ads/explanations/explainer.py +0 -190
- ads/explanations/mlx_global_explainer.py +0 -1050
- ads/explanations/mlx_interface.py +0 -386
- ads/explanations/mlx_local_explainer.py +0 -287
- ads/explanations/mlx_whatif_explainer.py +0 -201
- ads/feature_engineering/__init__.py +0 -20
- ads/feature_engineering/accessor/__init__.py +0 -5
- ads/feature_engineering/accessor/dataframe_accessor.py +0 -535
- ads/feature_engineering/accessor/mixin/__init__.py +0 -5
- ads/feature_engineering/accessor/mixin/correlation.py +0 -166
- ads/feature_engineering/accessor/mixin/eda_mixin.py +0 -266
- ads/feature_engineering/accessor/mixin/eda_mixin_series.py +0 -85
- ads/feature_engineering/accessor/mixin/feature_types_mixin.py +0 -211
- ads/feature_engineering/accessor/mixin/utils.py +0 -65
- ads/feature_engineering/accessor/series_accessor.py +0 -431
- ads/feature_engineering/adsimage/__init__.py +0 -5
- ads/feature_engineering/adsimage/image.py +0 -192
- ads/feature_engineering/adsimage/image_reader.py +0 -170
- ads/feature_engineering/adsimage/interface/__init__.py +0 -5
- ads/feature_engineering/adsimage/interface/reader.py +0 -19
- ads/feature_engineering/adsstring/__init__.py +0 -7
- ads/feature_engineering/adsstring/oci_language/__init__.py +0 -8
- ads/feature_engineering/adsstring/string/__init__.py +0 -8
- ads/feature_engineering/data_schema.json +0 -57
- ads/feature_engineering/dataset/__init__.py +0 -5
- ads/feature_engineering/dataset/zip_code_data.py +0 -42062
- ads/feature_engineering/exceptions.py +0 -40
- ads/feature_engineering/feature_type/__init__.py +0 -133
- ads/feature_engineering/feature_type/address.py +0 -184
- ads/feature_engineering/feature_type/adsstring/__init__.py +0 -5
- ads/feature_engineering/feature_type/adsstring/common_regex_mixin.py +0 -164
- ads/feature_engineering/feature_type/adsstring/oci_language.py +0 -93
- ads/feature_engineering/feature_type/adsstring/parsers/__init__.py +0 -5
- ads/feature_engineering/feature_type/adsstring/parsers/base.py +0 -47
- ads/feature_engineering/feature_type/adsstring/parsers/nltk_parser.py +0 -96
- ads/feature_engineering/feature_type/adsstring/parsers/spacy_parser.py +0 -221
- ads/feature_engineering/feature_type/adsstring/string.py +0 -258
- ads/feature_engineering/feature_type/base.py +0 -58
- ads/feature_engineering/feature_type/boolean.py +0 -183
- ads/feature_engineering/feature_type/category.py +0 -146
- ads/feature_engineering/feature_type/constant.py +0 -137
- ads/feature_engineering/feature_type/continuous.py +0 -151
- ads/feature_engineering/feature_type/creditcard.py +0 -314
- ads/feature_engineering/feature_type/datetime.py +0 -190
- ads/feature_engineering/feature_type/discrete.py +0 -134
- ads/feature_engineering/feature_type/document.py +0 -43
- ads/feature_engineering/feature_type/gis.py +0 -251
- ads/feature_engineering/feature_type/handler/__init__.py +0 -5
- ads/feature_engineering/feature_type/handler/feature_validator.py +0 -524
- ads/feature_engineering/feature_type/handler/feature_warning.py +0 -319
- ads/feature_engineering/feature_type/handler/warnings.py +0 -128
- ads/feature_engineering/feature_type/integer.py +0 -142
- ads/feature_engineering/feature_type/ip_address.py +0 -144
- ads/feature_engineering/feature_type/ip_address_v4.py +0 -138
- ads/feature_engineering/feature_type/ip_address_v6.py +0 -138
- ads/feature_engineering/feature_type/lat_long.py +0 -256
- ads/feature_engineering/feature_type/object.py +0 -43
- ads/feature_engineering/feature_type/ordinal.py +0 -132
- ads/feature_engineering/feature_type/phone_number.py +0 -135
- ads/feature_engineering/feature_type/string.py +0 -171
- ads/feature_engineering/feature_type/text.py +0 -93
- ads/feature_engineering/feature_type/unknown.py +0 -43
- ads/feature_engineering/feature_type/zip_code.py +0 -164
- ads/feature_engineering/feature_type_manager.py +0 -406
- ads/feature_engineering/schema.py +0 -795
- ads/feature_engineering/utils.py +0 -245
- ads/feature_store/.readthedocs.yaml +0 -19
- ads/feature_store/README.md +0 -65
- ads/feature_store/__init__.py +0 -9
- ads/feature_store/common/__init__.py +0 -0
- ads/feature_store/common/enums.py +0 -339
- ads/feature_store/common/exceptions.py +0 -18
- ads/feature_store/common/spark_session_singleton.py +0 -125
- ads/feature_store/common/utils/__init__.py +0 -0
- ads/feature_store/common/utils/base64_encoder_decoder.py +0 -72
- ads/feature_store/common/utils/feature_schema_mapper.py +0 -283
- ads/feature_store/common/utils/transformation_utils.py +0 -82
- ads/feature_store/common/utils/utility.py +0 -403
- ads/feature_store/data_validation/__init__.py +0 -0
- ads/feature_store/data_validation/great_expectation.py +0 -129
- ads/feature_store/dataset.py +0 -1230
- ads/feature_store/dataset_job.py +0 -530
- ads/feature_store/docs/Dockerfile +0 -7
- ads/feature_store/docs/Makefile +0 -44
- ads/feature_store/docs/conf.py +0 -28
- ads/feature_store/docs/requirements.txt +0 -14
- ads/feature_store/docs/source/ads.feature_store.query.rst +0 -20
- ads/feature_store/docs/source/cicd.rst +0 -137
- ads/feature_store/docs/source/conf.py +0 -86
- ads/feature_store/docs/source/data_versioning.rst +0 -33
- ads/feature_store/docs/source/dataset.rst +0 -388
- ads/feature_store/docs/source/dataset_job.rst +0 -27
- ads/feature_store/docs/source/demo.rst +0 -70
- ads/feature_store/docs/source/entity.rst +0 -78
- ads/feature_store/docs/source/feature_group.rst +0 -624
- ads/feature_store/docs/source/feature_group_job.rst +0 -29
- ads/feature_store/docs/source/feature_store.rst +0 -122
- ads/feature_store/docs/source/feature_store_class.rst +0 -123
- ads/feature_store/docs/source/feature_validation.rst +0 -66
- ads/feature_store/docs/source/figures/cicd.png +0 -0
- ads/feature_store/docs/source/figures/data_validation.png +0 -0
- ads/feature_store/docs/source/figures/data_versioning.png +0 -0
- ads/feature_store/docs/source/figures/dataset.gif +0 -0
- ads/feature_store/docs/source/figures/dataset.png +0 -0
- ads/feature_store/docs/source/figures/dataset_lineage.png +0 -0
- ads/feature_store/docs/source/figures/dataset_statistics.png +0 -0
- ads/feature_store/docs/source/figures/dataset_statistics_viz.png +0 -0
- ads/feature_store/docs/source/figures/dataset_validation_results.png +0 -0
- ads/feature_store/docs/source/figures/dataset_validation_summary.png +0 -0
- ads/feature_store/docs/source/figures/drift_monitoring.png +0 -0
- ads/feature_store/docs/source/figures/entity.png +0 -0
- ads/feature_store/docs/source/figures/feature_group.png +0 -0
- ads/feature_store/docs/source/figures/feature_group_lineage.png +0 -0
- ads/feature_store/docs/source/figures/feature_group_statistics_viz.png +0 -0
- ads/feature_store/docs/source/figures/feature_store_deployment.png +0 -0
- ads/feature_store/docs/source/figures/feature_store_overview.png +0 -0
- ads/feature_store/docs/source/figures/featuregroup.gif +0 -0
- ads/feature_store/docs/source/figures/lineage_d1.png +0 -0
- ads/feature_store/docs/source/figures/lineage_d2.png +0 -0
- ads/feature_store/docs/source/figures/lineage_fg.png +0 -0
- ads/feature_store/docs/source/figures/logo-dark-mode.png +0 -0
- ads/feature_store/docs/source/figures/logo-light-mode.png +0 -0
- ads/feature_store/docs/source/figures/overview.png +0 -0
- ads/feature_store/docs/source/figures/resource_manager.png +0 -0
- ads/feature_store/docs/source/figures/resource_manager_feature_store_stack.png +0 -0
- ads/feature_store/docs/source/figures/resource_manager_home.png +0 -0
- ads/feature_store/docs/source/figures/stats_1.png +0 -0
- ads/feature_store/docs/source/figures/stats_2.png +0 -0
- ads/feature_store/docs/source/figures/stats_d.png +0 -0
- ads/feature_store/docs/source/figures/stats_fg.png +0 -0
- ads/feature_store/docs/source/figures/transformation.png +0 -0
- ads/feature_store/docs/source/figures/transformations.gif +0 -0
- ads/feature_store/docs/source/figures/validation.png +0 -0
- ads/feature_store/docs/source/figures/validation_fg.png +0 -0
- ads/feature_store/docs/source/figures/validation_results.png +0 -0
- ads/feature_store/docs/source/figures/validation_summary.png +0 -0
- ads/feature_store/docs/source/index.rst +0 -81
- ads/feature_store/docs/source/module.rst +0 -8
- ads/feature_store/docs/source/notebook.rst +0 -94
- ads/feature_store/docs/source/overview.rst +0 -47
- ads/feature_store/docs/source/quickstart.rst +0 -176
- ads/feature_store/docs/source/release_notes.rst +0 -194
- ads/feature_store/docs/source/setup_feature_store.rst +0 -81
- ads/feature_store/docs/source/statistics.rst +0 -58
- ads/feature_store/docs/source/transformation.rst +0 -199
- ads/feature_store/docs/source/ui.rst +0 -65
- ads/feature_store/docs/source/user_guides.setup.feature_store_operator.rst +0 -66
- ads/feature_store/docs/source/user_guides.setup.helm_chart.rst +0 -192
- ads/feature_store/docs/source/user_guides.setup.terraform.rst +0 -338
- ads/feature_store/entity.py +0 -718
- ads/feature_store/execution_strategy/__init__.py +0 -0
- ads/feature_store/execution_strategy/delta_lake/__init__.py +0 -0
- ads/feature_store/execution_strategy/delta_lake/delta_lake_service.py +0 -375
- ads/feature_store/execution_strategy/engine/__init__.py +0 -0
- ads/feature_store/execution_strategy/engine/spark_engine.py +0 -316
- ads/feature_store/execution_strategy/execution_strategy.py +0 -113
- ads/feature_store/execution_strategy/execution_strategy_provider.py +0 -47
- ads/feature_store/execution_strategy/spark/__init__.py +0 -0
- ads/feature_store/execution_strategy/spark/spark_execution.py +0 -618
- ads/feature_store/feature.py +0 -192
- ads/feature_store/feature_group.py +0 -1494
- ads/feature_store/feature_group_expectation.py +0 -346
- ads/feature_store/feature_group_job.py +0 -602
- ads/feature_store/feature_lineage/__init__.py +0 -0
- ads/feature_store/feature_lineage/graphviz_service.py +0 -180
- ads/feature_store/feature_option_details.py +0 -50
- ads/feature_store/feature_statistics/__init__.py +0 -0
- ads/feature_store/feature_statistics/statistics_service.py +0 -99
- ads/feature_store/feature_store.py +0 -699
- ads/feature_store/feature_store_registrar.py +0 -518
- ads/feature_store/input_feature_detail.py +0 -149
- ads/feature_store/mixin/__init__.py +0 -4
- ads/feature_store/mixin/oci_feature_store.py +0 -145
- ads/feature_store/model_details.py +0 -73
- ads/feature_store/query/__init__.py +0 -0
- ads/feature_store/query/filter.py +0 -266
- ads/feature_store/query/generator/__init__.py +0 -0
- ads/feature_store/query/generator/query_generator.py +0 -298
- ads/feature_store/query/join.py +0 -161
- ads/feature_store/query/query.py +0 -403
- ads/feature_store/query/validator/__init__.py +0 -0
- ads/feature_store/query/validator/query_validator.py +0 -57
- ads/feature_store/response/__init__.py +0 -0
- ads/feature_store/response/response_builder.py +0 -68
- ads/feature_store/service/__init__.py +0 -0
- ads/feature_store/service/oci_dataset.py +0 -139
- ads/feature_store/service/oci_dataset_job.py +0 -199
- ads/feature_store/service/oci_entity.py +0 -125
- ads/feature_store/service/oci_feature_group.py +0 -164
- ads/feature_store/service/oci_feature_group_job.py +0 -214
- ads/feature_store/service/oci_feature_store.py +0 -182
- ads/feature_store/service/oci_lineage.py +0 -87
- ads/feature_store/service/oci_transformation.py +0 -104
- ads/feature_store/statistics/__init__.py +0 -0
- ads/feature_store/statistics/abs_feature_value.py +0 -49
- ads/feature_store/statistics/charts/__init__.py +0 -0
- ads/feature_store/statistics/charts/abstract_feature_plot.py +0 -37
- ads/feature_store/statistics/charts/box_plot.py +0 -148
- ads/feature_store/statistics/charts/frequency_distribution.py +0 -65
- ads/feature_store/statistics/charts/probability_distribution.py +0 -68
- ads/feature_store/statistics/charts/top_k_frequent_elements.py +0 -98
- ads/feature_store/statistics/feature_stat.py +0 -126
- ads/feature_store/statistics/generic_feature_value.py +0 -33
- ads/feature_store/statistics/statistics.py +0 -41
- ads/feature_store/statistics_config.py +0 -101
- ads/feature_store/templates/feature_store_template.yaml +0 -45
- ads/feature_store/transformation.py +0 -499
- ads/feature_store/validation_output.py +0 -57
- ads/hpo/__init__.py +0 -9
- ads/hpo/_imports.py +0 -91
- ads/hpo/ads_search_space.py +0 -439
- ads/hpo/distributions.py +0 -325
- ads/hpo/objective.py +0 -280
- ads/hpo/search_cv.py +0 -1657
- ads/hpo/stopping_criterion.py +0 -75
- ads/hpo/tuner_artifact.py +0 -413
- ads/hpo/utils.py +0 -91
- ads/hpo/validation.py +0 -140
- ads/hpo/visualization/__init__.py +0 -5
- ads/hpo/visualization/_contour.py +0 -23
- ads/hpo/visualization/_edf.py +0 -20
- ads/hpo/visualization/_intermediate_values.py +0 -21
- ads/hpo/visualization/_optimization_history.py +0 -25
- ads/hpo/visualization/_parallel_coordinate.py +0 -169
- ads/hpo/visualization/_param_importances.py +0 -26
- ads/jobs/__init__.py +0 -53
- ads/jobs/ads_job.py +0 -663
- ads/jobs/builders/__init__.py +0 -5
- ads/jobs/builders/base.py +0 -156
- ads/jobs/builders/infrastructure/__init__.py +0 -6
- ads/jobs/builders/infrastructure/base.py +0 -165
- ads/jobs/builders/infrastructure/dataflow.py +0 -1252
- ads/jobs/builders/infrastructure/dsc_job.py +0 -1894
- ads/jobs/builders/infrastructure/dsc_job_runtime.py +0 -1233
- ads/jobs/builders/infrastructure/utils.py +0 -65
- ads/jobs/builders/runtimes/__init__.py +0 -5
- ads/jobs/builders/runtimes/artifact.py +0 -338
- ads/jobs/builders/runtimes/base.py +0 -325
- ads/jobs/builders/runtimes/container_runtime.py +0 -242
- ads/jobs/builders/runtimes/python_runtime.py +0 -1016
- ads/jobs/builders/runtimes/pytorch_runtime.py +0 -204
- ads/jobs/cli.py +0 -104
- ads/jobs/env_var_parser.py +0 -131
- ads/jobs/extension.py +0 -160
- ads/jobs/schema/__init__.py +0 -5
- ads/jobs/schema/infrastructure_schema.json +0 -116
- ads/jobs/schema/job_schema.json +0 -42
- ads/jobs/schema/runtime_schema.json +0 -183
- ads/jobs/schema/validator.py +0 -141
- ads/jobs/serializer.py +0 -296
- ads/jobs/templates/__init__.py +0 -5
- ads/jobs/templates/container.py +0 -6
- ads/jobs/templates/driver_notebook.py +0 -177
- ads/jobs/templates/driver_oci.py +0 -500
- ads/jobs/templates/driver_python.py +0 -48
- ads/jobs/templates/driver_pytorch.py +0 -852
- ads/jobs/templates/driver_utils.py +0 -615
- ads/jobs/templates/hostname_from_env.c +0 -55
- ads/jobs/templates/oci_metrics.py +0 -181
- ads/jobs/utils.py +0 -104
- ads/llm/__init__.py +0 -28
- ads/llm/autogen/__init__.py +0 -2
- ads/llm/autogen/constants.py +0 -15
- ads/llm/autogen/reports/__init__.py +0 -2
- ads/llm/autogen/reports/base.py +0 -67
- ads/llm/autogen/reports/data.py +0 -103
- ads/llm/autogen/reports/session.py +0 -526
- ads/llm/autogen/reports/templates/chat_box.html +0 -13
- ads/llm/autogen/reports/templates/chat_box_lt.html +0 -5
- ads/llm/autogen/reports/templates/chat_box_rt.html +0 -6
- ads/llm/autogen/reports/utils.py +0 -56
- ads/llm/autogen/v02/__init__.py +0 -4
- ads/llm/autogen/v02/client.py +0 -295
- ads/llm/autogen/v02/log_handlers/__init__.py +0 -2
- ads/llm/autogen/v02/log_handlers/oci_file_handler.py +0 -83
- ads/llm/autogen/v02/loggers/__init__.py +0 -6
- ads/llm/autogen/v02/loggers/metric_logger.py +0 -320
- ads/llm/autogen/v02/loggers/session_logger.py +0 -580
- ads/llm/autogen/v02/loggers/utils.py +0 -86
- ads/llm/autogen/v02/runtime_logging.py +0 -163
- ads/llm/chain.py +0 -268
- ads/llm/chat_template.py +0 -31
- ads/llm/deploy.py +0 -63
- ads/llm/guardrails/__init__.py +0 -5
- ads/llm/guardrails/base.py +0 -442
- ads/llm/guardrails/huggingface.py +0 -44
- ads/llm/langchain/__init__.py +0 -5
- ads/llm/langchain/plugins/__init__.py +0 -5
- ads/llm/langchain/plugins/chat_models/__init__.py +0 -5
- ads/llm/langchain/plugins/chat_models/oci_data_science.py +0 -1027
- ads/llm/langchain/plugins/embeddings/__init__.py +0 -4
- ads/llm/langchain/plugins/embeddings/oci_data_science_model_deployment_endpoint.py +0 -184
- ads/llm/langchain/plugins/llms/__init__.py +0 -5
- ads/llm/langchain/plugins/llms/oci_data_science_model_deployment_endpoint.py +0 -979
- ads/llm/requirements.txt +0 -3
- ads/llm/serialize.py +0 -219
- ads/llm/serializers/__init__.py +0 -0
- ads/llm/serializers/retrieval_qa.py +0 -153
- ads/llm/serializers/runnable_parallel.py +0 -27
- ads/llm/templates/score_chain.jinja2 +0 -155
- ads/llm/templates/tool_chat_template_hermes.jinja +0 -130
- ads/llm/templates/tool_chat_template_mistral_parallel.jinja +0 -94
- ads/model/__init__.py +0 -52
- ads/model/artifact.py +0 -573
- ads/model/artifact_downloader.py +0 -254
- ads/model/artifact_uploader.py +0 -267
- ads/model/base_properties.py +0 -238
- ads/model/common/.model-ignore +0 -66
- ads/model/common/__init__.py +0 -5
- ads/model/common/utils.py +0 -142
- ads/model/datascience_model.py +0 -2635
- ads/model/deployment/__init__.py +0 -20
- ads/model/deployment/common/__init__.py +0 -5
- ads/model/deployment/common/utils.py +0 -308
- ads/model/deployment/model_deployer.py +0 -466
- ads/model/deployment/model_deployment.py +0 -1846
- ads/model/deployment/model_deployment_infrastructure.py +0 -671
- ads/model/deployment/model_deployment_properties.py +0 -493
- ads/model/deployment/model_deployment_runtime.py +0 -838
- ads/model/extractor/__init__.py +0 -5
- ads/model/extractor/automl_extractor.py +0 -74
- ads/model/extractor/embedding_onnx_extractor.py +0 -80
- ads/model/extractor/huggingface_extractor.py +0 -88
- ads/model/extractor/keras_extractor.py +0 -84
- ads/model/extractor/lightgbm_extractor.py +0 -93
- ads/model/extractor/model_info_extractor.py +0 -114
- ads/model/extractor/model_info_extractor_factory.py +0 -105
- ads/model/extractor/pytorch_extractor.py +0 -87
- ads/model/extractor/sklearn_extractor.py +0 -112
- ads/model/extractor/spark_extractor.py +0 -89
- ads/model/extractor/tensorflow_extractor.py +0 -85
- ads/model/extractor/xgboost_extractor.py +0 -94
- ads/model/framework/__init__.py +0 -5
- ads/model/framework/automl_model.py +0 -178
- ads/model/framework/embedding_onnx_model.py +0 -438
- ads/model/framework/huggingface_model.py +0 -399
- ads/model/framework/lightgbm_model.py +0 -266
- ads/model/framework/pytorch_model.py +0 -266
- ads/model/framework/sklearn_model.py +0 -250
- ads/model/framework/spark_model.py +0 -326
- ads/model/framework/tensorflow_model.py +0 -254
- ads/model/framework/xgboost_model.py +0 -258
- ads/model/generic_model.py +0 -3518
- ads/model/model_artifact_boilerplate/README.md +0 -381
- ads/model/model_artifact_boilerplate/__init__.py +0 -5
- ads/model/model_artifact_boilerplate/artifact_introspection_test/__init__.py +0 -5
- ads/model/model_artifact_boilerplate/artifact_introspection_test/model_artifact_validate.py +0 -427
- ads/model/model_artifact_boilerplate/artifact_introspection_test/requirements.txt +0 -2
- ads/model/model_artifact_boilerplate/runtime.yaml +0 -7
- ads/model/model_artifact_boilerplate/score.py +0 -61
- ads/model/model_file_description_schema.json +0 -68
- ads/model/model_introspect.py +0 -331
- ads/model/model_metadata.py +0 -1810
- ads/model/model_metadata_mixin.py +0 -460
- ads/model/model_properties.py +0 -63
- ads/model/model_version_set.py +0 -739
- ads/model/runtime/__init__.py +0 -5
- ads/model/runtime/env_info.py +0 -306
- ads/model/runtime/model_deployment_details.py +0 -37
- ads/model/runtime/model_provenance_details.py +0 -58
- ads/model/runtime/runtime_info.py +0 -81
- ads/model/runtime/schemas/inference_env_info_schema.yaml +0 -16
- ads/model/runtime/schemas/model_provenance_schema.yaml +0 -36
- ads/model/runtime/schemas/training_env_info_schema.yaml +0 -16
- ads/model/runtime/utils.py +0 -201
- ads/model/serde/__init__.py +0 -5
- ads/model/serde/common.py +0 -40
- ads/model/serde/model_input.py +0 -547
- ads/model/serde/model_serializer.py +0 -1184
- ads/model/service/__init__.py +0 -5
- ads/model/service/oci_datascience_model.py +0 -1076
- ads/model/service/oci_datascience_model_deployment.py +0 -500
- ads/model/service/oci_datascience_model_version_set.py +0 -176
- ads/model/transformer/__init__.py +0 -5
- ads/model/transformer/onnx_transformer.py +0 -324
- ads/mysqldb/__init__.py +0 -5
- ads/mysqldb/mysql_db.py +0 -227
- ads/opctl/__init__.py +0 -18
- ads/opctl/anomaly_detection.py +0 -11
- ads/opctl/backend/__init__.py +0 -5
- ads/opctl/backend/ads_dataflow.py +0 -353
- ads/opctl/backend/ads_ml_job.py +0 -710
- ads/opctl/backend/ads_ml_pipeline.py +0 -164
- ads/opctl/backend/ads_model_deployment.py +0 -209
- ads/opctl/backend/base.py +0 -146
- ads/opctl/backend/local.py +0 -1053
- ads/opctl/backend/marketplace/__init__.py +0 -9
- ads/opctl/backend/marketplace/helm_helper.py +0 -173
- ads/opctl/backend/marketplace/local_marketplace.py +0 -271
- ads/opctl/backend/marketplace/marketplace_backend_runner.py +0 -71
- ads/opctl/backend/marketplace/marketplace_operator_interface.py +0 -44
- ads/opctl/backend/marketplace/marketplace_operator_runner.py +0 -24
- ads/opctl/backend/marketplace/marketplace_utils.py +0 -212
- ads/opctl/backend/marketplace/models/__init__.py +0 -5
- ads/opctl/backend/marketplace/models/bearer_token.py +0 -94
- ads/opctl/backend/marketplace/models/marketplace_type.py +0 -70
- ads/opctl/backend/marketplace/models/ocir_details.py +0 -56
- ads/opctl/backend/marketplace/prerequisite_checker.py +0 -238
- ads/opctl/cli.py +0 -707
- ads/opctl/cmds.py +0 -869
- ads/opctl/conda/__init__.py +0 -5
- ads/opctl/conda/cli.py +0 -193
- ads/opctl/conda/cmds.py +0 -749
- ads/opctl/conda/config.yaml +0 -34
- ads/opctl/conda/manifest_template.yaml +0 -13
- ads/opctl/conda/multipart_uploader.py +0 -188
- ads/opctl/conda/pack.py +0 -89
- ads/opctl/config/__init__.py +0 -5
- ads/opctl/config/base.py +0 -57
- ads/opctl/config/diagnostics/__init__.py +0 -5
- ads/opctl/config/diagnostics/distributed/default_requirements_config.yaml +0 -62
- ads/opctl/config/merger.py +0 -255
- ads/opctl/config/resolver.py +0 -297
- ads/opctl/config/utils.py +0 -79
- ads/opctl/config/validator.py +0 -17
- ads/opctl/config/versioner.py +0 -68
- ads/opctl/config/yaml_parsers/__init__.py +0 -7
- ads/opctl/config/yaml_parsers/base.py +0 -58
- ads/opctl/config/yaml_parsers/distributed/__init__.py +0 -7
- ads/opctl/config/yaml_parsers/distributed/yaml_parser.py +0 -201
- ads/opctl/constants.py +0 -66
- ads/opctl/decorator/__init__.py +0 -5
- ads/opctl/decorator/common.py +0 -129
- ads/opctl/diagnostics/__init__.py +0 -5
- ads/opctl/diagnostics/__main__.py +0 -25
- ads/opctl/diagnostics/check_distributed_job_requirements.py +0 -212
- ads/opctl/diagnostics/check_requirements.py +0 -144
- ads/opctl/diagnostics/requirement_exception.py +0 -9
- ads/opctl/distributed/README.md +0 -109
- ads/opctl/distributed/__init__.py +0 -5
- ads/opctl/distributed/certificates.py +0 -32
- ads/opctl/distributed/cli.py +0 -207
- ads/opctl/distributed/cmds.py +0 -731
- ads/opctl/distributed/common/__init__.py +0 -5
- ads/opctl/distributed/common/abstract_cluster_provider.py +0 -449
- ads/opctl/distributed/common/abstract_framework_spec_builder.py +0 -88
- ads/opctl/distributed/common/cluster_config_helper.py +0 -103
- ads/opctl/distributed/common/cluster_provider_factory.py +0 -21
- ads/opctl/distributed/common/cluster_runner.py +0 -54
- ads/opctl/distributed/common/framework_factory.py +0 -29
- ads/opctl/docker/Dockerfile.job +0 -103
- ads/opctl/docker/Dockerfile.job.arm +0 -107
- ads/opctl/docker/Dockerfile.job.gpu +0 -175
- ads/opctl/docker/base-env.yaml +0 -13
- ads/opctl/docker/cuda.repo +0 -6
- ads/opctl/docker/operator/.dockerignore +0 -0
- ads/opctl/docker/operator/Dockerfile +0 -41
- ads/opctl/docker/operator/Dockerfile.gpu +0 -85
- ads/opctl/docker/operator/cuda.repo +0 -6
- ads/opctl/docker/operator/environment.yaml +0 -8
- ads/opctl/forecast.py +0 -11
- ads/opctl/index.yaml +0 -3
- ads/opctl/model/__init__.py +0 -5
- ads/opctl/model/cli.py +0 -65
- ads/opctl/model/cmds.py +0 -73
- ads/opctl/operator/README.md +0 -4
- ads/opctl/operator/__init__.py +0 -31
- ads/opctl/operator/cli.py +0 -344
- ads/opctl/operator/cmd.py +0 -596
- ads/opctl/operator/common/__init__.py +0 -5
- ads/opctl/operator/common/backend_factory.py +0 -460
- ads/opctl/operator/common/const.py +0 -27
- ads/opctl/operator/common/data/synthetic.csv +0 -16001
- ads/opctl/operator/common/dictionary_merger.py +0 -148
- ads/opctl/operator/common/errors.py +0 -42
- ads/opctl/operator/common/operator_config.py +0 -99
- ads/opctl/operator/common/operator_loader.py +0 -811
- ads/opctl/operator/common/operator_schema.yaml +0 -130
- ads/opctl/operator/common/operator_yaml_generator.py +0 -152
- ads/opctl/operator/common/utils.py +0 -208
- ads/opctl/operator/lowcode/__init__.py +0 -5
- ads/opctl/operator/lowcode/anomaly/MLoperator +0 -16
- ads/opctl/operator/lowcode/anomaly/README.md +0 -207
- ads/opctl/operator/lowcode/anomaly/__init__.py +0 -5
- ads/opctl/operator/lowcode/anomaly/__main__.py +0 -103
- ads/opctl/operator/lowcode/anomaly/cmd.py +0 -35
- ads/opctl/operator/lowcode/anomaly/const.py +0 -167
- ads/opctl/operator/lowcode/anomaly/environment.yaml +0 -10
- ads/opctl/operator/lowcode/anomaly/model/__init__.py +0 -5
- ads/opctl/operator/lowcode/anomaly/model/anomaly_dataset.py +0 -146
- ads/opctl/operator/lowcode/anomaly/model/anomaly_merlion.py +0 -162
- ads/opctl/operator/lowcode/anomaly/model/automlx.py +0 -99
- ads/opctl/operator/lowcode/anomaly/model/autots.py +0 -115
- ads/opctl/operator/lowcode/anomaly/model/base_model.py +0 -404
- ads/opctl/operator/lowcode/anomaly/model/factory.py +0 -110
- ads/opctl/operator/lowcode/anomaly/model/isolationforest.py +0 -78
- ads/opctl/operator/lowcode/anomaly/model/oneclasssvm.py +0 -78
- ads/opctl/operator/lowcode/anomaly/model/randomcutforest.py +0 -120
- ads/opctl/operator/lowcode/anomaly/model/tods.py +0 -119
- ads/opctl/operator/lowcode/anomaly/operator_config.py +0 -127
- ads/opctl/operator/lowcode/anomaly/schema.yaml +0 -401
- ads/opctl/operator/lowcode/anomaly/utils.py +0 -88
- ads/opctl/operator/lowcode/common/__init__.py +0 -5
- ads/opctl/operator/lowcode/common/const.py +0 -10
- ads/opctl/operator/lowcode/common/data.py +0 -116
- ads/opctl/operator/lowcode/common/errors.py +0 -47
- ads/opctl/operator/lowcode/common/transformations.py +0 -296
- ads/opctl/operator/lowcode/common/utils.py +0 -293
- ads/opctl/operator/lowcode/feature_store_marketplace/MLoperator +0 -13
- ads/opctl/operator/lowcode/feature_store_marketplace/README.md +0 -30
- ads/opctl/operator/lowcode/feature_store_marketplace/__init__.py +0 -5
- ads/opctl/operator/lowcode/feature_store_marketplace/__main__.py +0 -116
- ads/opctl/operator/lowcode/feature_store_marketplace/cmd.py +0 -85
- ads/opctl/operator/lowcode/feature_store_marketplace/const.py +0 -15
- ads/opctl/operator/lowcode/feature_store_marketplace/environment.yaml +0 -0
- ads/opctl/operator/lowcode/feature_store_marketplace/models/__init__.py +0 -4
- ads/opctl/operator/lowcode/feature_store_marketplace/models/apigw_config.py +0 -32
- ads/opctl/operator/lowcode/feature_store_marketplace/models/db_config.py +0 -43
- ads/opctl/operator/lowcode/feature_store_marketplace/models/mysql_config.py +0 -120
- ads/opctl/operator/lowcode/feature_store_marketplace/models/serializable_yaml_model.py +0 -34
- ads/opctl/operator/lowcode/feature_store_marketplace/operator_utils.py +0 -386
- ads/opctl/operator/lowcode/feature_store_marketplace/schema.yaml +0 -160
- ads/opctl/operator/lowcode/forecast/MLoperator +0 -25
- ads/opctl/operator/lowcode/forecast/README.md +0 -209
- ads/opctl/operator/lowcode/forecast/__init__.py +0 -5
- ads/opctl/operator/lowcode/forecast/__main__.py +0 -89
- ads/opctl/operator/lowcode/forecast/cmd.py +0 -40
- ads/opctl/operator/lowcode/forecast/const.py +0 -92
- ads/opctl/operator/lowcode/forecast/environment.yaml +0 -20
- ads/opctl/operator/lowcode/forecast/errors.py +0 -26
- ads/opctl/operator/lowcode/forecast/model/__init__.py +0 -5
- ads/opctl/operator/lowcode/forecast/model/arima.py +0 -279
- ads/opctl/operator/lowcode/forecast/model/automlx.py +0 -542
- ads/opctl/operator/lowcode/forecast/model/autots.py +0 -312
- ads/opctl/operator/lowcode/forecast/model/base_model.py +0 -863
- ads/opctl/operator/lowcode/forecast/model/factory.py +0 -106
- ads/opctl/operator/lowcode/forecast/model/forecast_datasets.py +0 -492
- ads/opctl/operator/lowcode/forecast/model/ml_forecast.py +0 -243
- ads/opctl/operator/lowcode/forecast/model/neuralprophet.py +0 -486
- ads/opctl/operator/lowcode/forecast/model/prophet.py +0 -445
- ads/opctl/operator/lowcode/forecast/model_evaluator.py +0 -244
- ads/opctl/operator/lowcode/forecast/operator_config.py +0 -234
- ads/opctl/operator/lowcode/forecast/schema.yaml +0 -506
- ads/opctl/operator/lowcode/forecast/utils.py +0 -413
- ads/opctl/operator/lowcode/forecast/whatifserve/__init__.py +0 -7
- ads/opctl/operator/lowcode/forecast/whatifserve/deployment_manager.py +0 -285
- ads/opctl/operator/lowcode/forecast/whatifserve/score.py +0 -246
- ads/opctl/operator/lowcode/pii/MLoperator +0 -17
- ads/opctl/operator/lowcode/pii/README.md +0 -208
- ads/opctl/operator/lowcode/pii/__init__.py +0 -5
- ads/opctl/operator/lowcode/pii/__main__.py +0 -78
- ads/opctl/operator/lowcode/pii/cmd.py +0 -39
- ads/opctl/operator/lowcode/pii/constant.py +0 -84
- ads/opctl/operator/lowcode/pii/environment.yaml +0 -17
- ads/opctl/operator/lowcode/pii/errors.py +0 -27
- ads/opctl/operator/lowcode/pii/model/__init__.py +0 -5
- ads/opctl/operator/lowcode/pii/model/factory.py +0 -82
- ads/opctl/operator/lowcode/pii/model/guardrails.py +0 -167
- ads/opctl/operator/lowcode/pii/model/pii.py +0 -145
- ads/opctl/operator/lowcode/pii/model/processor/__init__.py +0 -34
- ads/opctl/operator/lowcode/pii/model/processor/email_replacer.py +0 -34
- ads/opctl/operator/lowcode/pii/model/processor/mbi_replacer.py +0 -35
- ads/opctl/operator/lowcode/pii/model/processor/name_replacer.py +0 -225
- ads/opctl/operator/lowcode/pii/model/processor/number_replacer.py +0 -73
- ads/opctl/operator/lowcode/pii/model/processor/remover.py +0 -26
- ads/opctl/operator/lowcode/pii/model/report.py +0 -487
- ads/opctl/operator/lowcode/pii/operator_config.py +0 -95
- ads/opctl/operator/lowcode/pii/schema.yaml +0 -108
- ads/opctl/operator/lowcode/pii/utils.py +0 -43
- ads/opctl/operator/lowcode/recommender/MLoperator +0 -16
- ads/opctl/operator/lowcode/recommender/README.md +0 -206
- ads/opctl/operator/lowcode/recommender/__init__.py +0 -5
- ads/opctl/operator/lowcode/recommender/__main__.py +0 -82
- ads/opctl/operator/lowcode/recommender/cmd.py +0 -33
- ads/opctl/operator/lowcode/recommender/constant.py +0 -30
- ads/opctl/operator/lowcode/recommender/environment.yaml +0 -11
- ads/opctl/operator/lowcode/recommender/model/base_model.py +0 -212
- ads/opctl/operator/lowcode/recommender/model/factory.py +0 -56
- ads/opctl/operator/lowcode/recommender/model/recommender_dataset.py +0 -25
- ads/opctl/operator/lowcode/recommender/model/svd.py +0 -106
- ads/opctl/operator/lowcode/recommender/operator_config.py +0 -81
- ads/opctl/operator/lowcode/recommender/schema.yaml +0 -265
- ads/opctl/operator/lowcode/recommender/utils.py +0 -13
- ads/opctl/operator/runtime/__init__.py +0 -5
- ads/opctl/operator/runtime/const.py +0 -17
- ads/opctl/operator/runtime/container_runtime_schema.yaml +0 -50
- ads/opctl/operator/runtime/marketplace_runtime.py +0 -50
- ads/opctl/operator/runtime/python_marketplace_runtime_schema.yaml +0 -21
- ads/opctl/operator/runtime/python_runtime_schema.yaml +0 -21
- ads/opctl/operator/runtime/runtime.py +0 -115
- ads/opctl/schema.yaml.yml +0 -36
- ads/opctl/script.py +0 -40
- ads/opctl/spark/__init__.py +0 -5
- ads/opctl/spark/cli.py +0 -43
- ads/opctl/spark/cmds.py +0 -147
- ads/opctl/templates/diagnostic_report_template.jinja2 +0 -102
- ads/opctl/utils.py +0 -344
- ads/oracledb/__init__.py +0 -5
- ads/oracledb/oracle_db.py +0 -346
- ads/pipeline/__init__.py +0 -39
- ads/pipeline/ads_pipeline.py +0 -2279
- ads/pipeline/ads_pipeline_run.py +0 -772
- ads/pipeline/ads_pipeline_step.py +0 -605
- ads/pipeline/builders/__init__.py +0 -5
- ads/pipeline/builders/infrastructure/__init__.py +0 -5
- ads/pipeline/builders/infrastructure/custom_script.py +0 -32
- ads/pipeline/cli.py +0 -119
- ads/pipeline/extension.py +0 -291
- ads/pipeline/schema/__init__.py +0 -5
- ads/pipeline/schema/cs_step_schema.json +0 -35
- ads/pipeline/schema/ml_step_schema.json +0 -31
- ads/pipeline/schema/pipeline_schema.json +0 -71
- ads/pipeline/visualizer/__init__.py +0 -5
- ads/pipeline/visualizer/base.py +0 -570
- ads/pipeline/visualizer/graph_renderer.py +0 -272
- ads/pipeline/visualizer/text_renderer.py +0 -84
- ads/secrets/__init__.py +0 -11
- ads/secrets/adb.py +0 -386
- ads/secrets/auth_token.py +0 -86
- ads/secrets/big_data_service.py +0 -365
- ads/secrets/mysqldb.py +0 -149
- ads/secrets/oracledb.py +0 -160
- ads/secrets/secrets.py +0 -407
- ads/telemetry/__init__.py +0 -7
- ads/telemetry/base.py +0 -69
- ads/telemetry/client.py +0 -125
- ads/telemetry/telemetry.py +0 -257
- ads/templates/dataflow_pyspark.jinja2 +0 -13
- ads/templates/dataflow_sparksql.jinja2 +0 -22
- ads/templates/func.jinja2 +0 -20
- ads/templates/schemas/openapi.json +0 -1740
- ads/templates/score-pkl.jinja2 +0 -173
- ads/templates/score.jinja2 +0 -322
- ads/templates/score_embedding_onnx.jinja2 +0 -202
- ads/templates/score_generic.jinja2 +0 -165
- ads/templates/score_huggingface_pipeline.jinja2 +0 -217
- ads/templates/score_lightgbm.jinja2 +0 -185
- ads/templates/score_onnx.jinja2 +0 -407
- ads/templates/score_onnx_new.jinja2 +0 -473
- ads/templates/score_oracle_automl.jinja2 +0 -185
- ads/templates/score_pyspark.jinja2 +0 -154
- ads/templates/score_pytorch.jinja2 +0 -219
- ads/templates/score_scikit-learn.jinja2 +0 -184
- ads/templates/score_tensorflow.jinja2 +0 -184
- ads/templates/score_xgboost.jinja2 +0 -178
- ads/text_dataset/__init__.py +0 -5
- ads/text_dataset/backends.py +0 -211
- ads/text_dataset/dataset.py +0 -445
- ads/text_dataset/extractor.py +0 -207
- ads/text_dataset/options.py +0 -53
- ads/text_dataset/udfs.py +0 -22
- ads/text_dataset/utils.py +0 -49
- ads/type_discovery/__init__.py +0 -9
- ads/type_discovery/abstract_detector.py +0 -21
- ads/type_discovery/constant_detector.py +0 -41
- ads/type_discovery/continuous_detector.py +0 -54
- ads/type_discovery/credit_card_detector.py +0 -99
- ads/type_discovery/datetime_detector.py +0 -92
- ads/type_discovery/discrete_detector.py +0 -118
- ads/type_discovery/document_detector.py +0 -146
- ads/type_discovery/ip_detector.py +0 -68
- ads/type_discovery/latlon_detector.py +0 -90
- ads/type_discovery/phone_number_detector.py +0 -63
- ads/type_discovery/type_discovery_driver.py +0 -87
- ads/type_discovery/typed_feature.py +0 -594
- ads/type_discovery/unknown_detector.py +0 -41
- ads/type_discovery/zipcode_detector.py +0 -48
- ads/vault/__init__.py +0 -7
- ads/vault/vault.py +0 -237
- oracle_ads-2.13.8.dist-info/RECORD +0 -858
- {oracle_ads-2.13.8.dist-info → oracle_ads-2.13.9rc0.dist-info}/licenses/LICENSE.txt +0 -0
@@ -1,1076 +0,0 @@
|
|
1
|
-
#!/usr/bin/env python
|
2
|
-
|
3
|
-
# Copyright (c) 2022, 2025 Oracle and/or its affiliates.
|
4
|
-
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/
|
5
|
-
|
6
|
-
import logging
|
7
|
-
from dataclasses import dataclass
|
8
|
-
from functools import wraps
|
9
|
-
from io import BytesIO
|
10
|
-
from typing import Callable, Dict, List, Optional, Union
|
11
|
-
|
12
|
-
import oci.data_science
|
13
|
-
from oci.data_science.models import (
|
14
|
-
ArtifactExportDetailsObjectStorage,
|
15
|
-
ArtifactImportDetailsObjectStorage,
|
16
|
-
CreateModelDetails,
|
17
|
-
ExportModelArtifactDetails,
|
18
|
-
ImportModelArtifactDetails,
|
19
|
-
UpdateModelDetails,
|
20
|
-
)
|
21
|
-
from oci.exceptions import ServiceError
|
22
|
-
from requests.structures import CaseInsensitiveDict
|
23
|
-
|
24
|
-
from ads.common import utils
|
25
|
-
from ads.common.auth import default_signer
|
26
|
-
from ads.common.object_storage_details import ObjectStorageDetails
|
27
|
-
from ads.common.oci_datascience import OCIDataScienceMixin
|
28
|
-
from ads.common.oci_mixin import OCIWorkRequestMixin
|
29
|
-
from ads.common.oci_resource import SEARCH_TYPE, OCIResource
|
30
|
-
from ads.common.serializer import DataClassSerializable
|
31
|
-
from ads.common.utils import extract_region, read_file
|
32
|
-
from ads.common.work_request import DataScienceWorkRequest
|
33
|
-
from ads.model.common.utils import MetadataArtifactPathType
|
34
|
-
from ads.model.deployment import ModelDeployment
|
35
|
-
|
36
|
-
logger = logging.getLogger(__name__)
|
37
|
-
|
38
|
-
_REQUEST_INTERVAL_IN_SEC = 3
|
39
|
-
|
40
|
-
MODEL_NEEDS_TO_BE_SAVED = (
|
41
|
-
"Model needs to be saved to the Model Catalog before it can be accessed."
|
42
|
-
)
|
43
|
-
|
44
|
-
MODEL_BY_REFERENCE_DESC = "modelDescription"
|
45
|
-
|
46
|
-
|
47
|
-
class ModelProvenanceNotFoundError(Exception): # pragma: no cover
|
48
|
-
pass
|
49
|
-
|
50
|
-
|
51
|
-
class ModelArtifactNotFoundError(Exception): # pragma: no cover
|
52
|
-
pass
|
53
|
-
|
54
|
-
|
55
|
-
class ModelNotSavedError(Exception): # pragma: no cover
|
56
|
-
pass
|
57
|
-
|
58
|
-
|
59
|
-
class ModelWithActiveDeploymentError(Exception): # pragma: no cover
|
60
|
-
pass
|
61
|
-
|
62
|
-
|
63
|
-
class ModelMetadataArtifactNotFoundError(Exception): # pragma: no cover
|
64
|
-
def __init__(self, model_ocid, metadata_key: str):
|
65
|
-
super().__init__(
|
66
|
-
f"The model {model_ocid} does not contain the metadata with key {metadata_key}."
|
67
|
-
)
|
68
|
-
|
69
|
-
|
70
|
-
@dataclass(repr=False)
|
71
|
-
class ModelMetadataArtifactDetails(DataClassSerializable):
|
72
|
-
"""Represents a details of Model Metadata ."""
|
73
|
-
|
74
|
-
headers: Union[Dict, CaseInsensitiveDict]
|
75
|
-
status: str
|
76
|
-
|
77
|
-
|
78
|
-
def check_for_model_id(msg: str = MODEL_NEEDS_TO_BE_SAVED):
|
79
|
-
"""The decorator helping to check if the ID attribute sepcified for a datascience model.
|
80
|
-
|
81
|
-
Parameters
|
82
|
-
----------
|
83
|
-
msg: str
|
84
|
-
The message that will be thrown.
|
85
|
-
|
86
|
-
Raises
|
87
|
-
------
|
88
|
-
ModelNotSavedError
|
89
|
-
In case if the ID attribute not specified.
|
90
|
-
|
91
|
-
Examples
|
92
|
-
--------
|
93
|
-
>>> @check_for_id(msg="Some message.")
|
94
|
-
... def test_function(self, name: str, last_name: str)
|
95
|
-
... pass
|
96
|
-
"""
|
97
|
-
|
98
|
-
def decorator(func: Callable):
|
99
|
-
@wraps(func)
|
100
|
-
def wrapper(self, *args, **kwargs):
|
101
|
-
if not self.id:
|
102
|
-
raise ModelNotSavedError(msg)
|
103
|
-
return func(self, *args, **kwargs)
|
104
|
-
|
105
|
-
return wrapper
|
106
|
-
|
107
|
-
return decorator
|
108
|
-
|
109
|
-
|
110
|
-
def convert_model_metadata_response(
|
111
|
-
headers: Union[Dict, CaseInsensitiveDict], status: int
|
112
|
-
) -> ModelMetadataArtifactDetails:
|
113
|
-
return ModelMetadataArtifactDetails(headers=dict(headers), status=str(status))
|
114
|
-
|
115
|
-
|
116
|
-
class OCIDataScienceModel(
|
117
|
-
OCIDataScienceMixin,
|
118
|
-
OCIWorkRequestMixin,
|
119
|
-
oci.data_science.models.Model,
|
120
|
-
):
|
121
|
-
"""Represents an OCI Data Science Model.
|
122
|
-
This class contains all attributes of the `oci.data_science.models.Model`.
|
123
|
-
The main purpose of this class is to link the `oci.data_science.models.Model`
|
124
|
-
and the related client methods.
|
125
|
-
Linking the `Model` (payload) to Create/Update/Get/List/Delete methods.
|
126
|
-
|
127
|
-
The `OCIDataScienceModel` can be initialized by unpacking the properties stored in a dictionary:
|
128
|
-
|
129
|
-
.. code-block:: python
|
130
|
-
|
131
|
-
properties = {
|
132
|
-
"compartment_id": "<compartment_ocid>",
|
133
|
-
"name": "<model_name>",
|
134
|
-
"description": "<model_description>",
|
135
|
-
}
|
136
|
-
ds_model = OCIDataScienceModel(**properties)
|
137
|
-
|
138
|
-
The properties can also be OCI REST API payload, in which the keys are in camel format.
|
139
|
-
|
140
|
-
.. code-block:: python
|
141
|
-
|
142
|
-
payload = {
|
143
|
-
"compartmentId": "<compartment_ocid>",
|
144
|
-
"name": "<model_name>",
|
145
|
-
"description": "<model_description>",
|
146
|
-
}
|
147
|
-
ds_model = OCIDataScienceModel(**payload)
|
148
|
-
|
149
|
-
Methods
|
150
|
-
-------
|
151
|
-
create(self) -> "OCIDataScienceModel"
|
152
|
-
Creates datascience model in model catalog.
|
153
|
-
create_model_provenance(self, model_provenance: ModelProvenance) -> oci.data_science.models.ModelProvenance:
|
154
|
-
Creates model provenance metadata.
|
155
|
-
def update_model_provenance(self, ModelProvenance) -> oci.data_science.models.ModelProvenance:
|
156
|
-
Updates model provenance metadata.
|
157
|
-
get_model_provenance(self) -> oci.data_science.models.ModelProvenance:
|
158
|
-
Gets model provenance metadata.
|
159
|
-
get_artifact_info(self) -> Dict:
|
160
|
-
Gets model artifact attachment information.
|
161
|
-
def get_model_artifact_content(self) -> BytesIO:
|
162
|
-
Gets model artifact content.
|
163
|
-
create_model_artifact(self, bytes_content: BytesIO) -> None:
|
164
|
-
Creates model artifact for specified model.
|
165
|
-
import_model_artifact(self, bucket_uri: str, region: str = None) -> None:
|
166
|
-
Imports model artifact content from the model catalog.
|
167
|
-
export_model_artifact(self, bucket_uri: str, region: str = None):
|
168
|
-
Exports model artifact to the model catalog.
|
169
|
-
update(self) -> "OCIDataScienceModel":
|
170
|
-
Updates datascience Model.
|
171
|
-
delete(self, delete_associated_model_deployment: Optional[bool] = False) -> "OCIDataScienceModel":
|
172
|
-
Deletes detascience Model.
|
173
|
-
model_deployment(self, ...) -> List:
|
174
|
-
Gets the list of model deployments by model ID across the compartments.
|
175
|
-
from_id(cls, ocid: str) -> "OCIDataScienceModel":
|
176
|
-
Gets model by OCID.
|
177
|
-
|
178
|
-
Examples
|
179
|
-
--------
|
180
|
-
>>> oci_model = OCIDataScienceModel.from_id(<model_ocid>)
|
181
|
-
>>> oci_model.model_deployment()
|
182
|
-
>>> oci_model.get_model_provenance()
|
183
|
-
>>> oci_model.description = "A brand new description"
|
184
|
-
... oci_model.update()
|
185
|
-
>>> oci_model.sync()
|
186
|
-
>>> oci_model.get_artifact_info()
|
187
|
-
"""
|
188
|
-
|
189
|
-
def create(self) -> "OCIDataScienceModel":
|
190
|
-
"""Creates datascience model in model catalog.
|
191
|
-
|
192
|
-
Returns
|
193
|
-
-------
|
194
|
-
OCIDataScienceModel
|
195
|
-
The `OCIDataScienceModel` instance (self), which allows chaining additional method.
|
196
|
-
"""
|
197
|
-
if not self.compartment_id:
|
198
|
-
raise ValueError("The `compartment_id` must be specified.")
|
199
|
-
|
200
|
-
if not self.project_id:
|
201
|
-
raise ValueError("The `project_id` must be specified.")
|
202
|
-
|
203
|
-
return self.update_from_oci_model(
|
204
|
-
self.client.create_model(self.to_oci_model(CreateModelDetails)).data
|
205
|
-
)
|
206
|
-
|
207
|
-
@check_for_model_id(
|
208
|
-
msg="Model needs to be saved to the Model Catalog before the provenance metadata can be created."
|
209
|
-
)
|
210
|
-
def create_model_provenance(
|
211
|
-
self, model_provenance: oci.data_science.models.ModelProvenance
|
212
|
-
) -> oci.data_science.models.ModelProvenance:
|
213
|
-
"""Creates model provenance metadata.
|
214
|
-
|
215
|
-
Parameters
|
216
|
-
----------
|
217
|
-
model_provenance: oci.data_science.models.ModelProvenance
|
218
|
-
OCI model provenance metadata.
|
219
|
-
|
220
|
-
Returns
|
221
|
-
-------
|
222
|
-
oci.data_science.models.ModelProvenance
|
223
|
-
The OCI model provenance object.
|
224
|
-
"""
|
225
|
-
return self.client.create_model_provenance(self.id, model_provenance).data
|
226
|
-
|
227
|
-
@check_for_model_id(
|
228
|
-
msg="Model needs to be saved to the Model Catalog before the provenance metadata can be updated."
|
229
|
-
)
|
230
|
-
def update_model_provenance(
|
231
|
-
self, model_provenance: oci.data_science.models.ModelProvenance
|
232
|
-
) -> oci.data_science.models.ModelProvenance:
|
233
|
-
"""Updates model provenance metadata.
|
234
|
-
|
235
|
-
Parameters
|
236
|
-
----------
|
237
|
-
model_provenance: oci.data_science.models.ModelProvenance
|
238
|
-
OCI model provenance metadata.
|
239
|
-
|
240
|
-
Returns
|
241
|
-
-------
|
242
|
-
oci.data_science.models.ModelProvenance
|
243
|
-
The OCI model provenance object.
|
244
|
-
"""
|
245
|
-
return self.client.update_model_provenance(self.id, model_provenance).data
|
246
|
-
|
247
|
-
@check_for_model_id(
|
248
|
-
msg="Model needs to be saved to the Model Catalog before the provenance metadata can be read."
|
249
|
-
)
|
250
|
-
def get_model_provenance(self) -> oci.data_science.models.ModelProvenance:
|
251
|
-
"""Gets model provenance metadata.
|
252
|
-
|
253
|
-
Returns
|
254
|
-
-------
|
255
|
-
oci.data_science.models.ModelProvenance
|
256
|
-
OCI model provenance metadata.
|
257
|
-
|
258
|
-
Raises
|
259
|
-
------
|
260
|
-
ModelProvenanceNotFoundError
|
261
|
-
If model provenance not found.
|
262
|
-
"""
|
263
|
-
try:
|
264
|
-
return self.client.get_model_provenance(self.id).data
|
265
|
-
except ServiceError as ex:
|
266
|
-
if ex.status == 404:
|
267
|
-
raise ModelProvenanceNotFoundError()
|
268
|
-
raise
|
269
|
-
|
270
|
-
@check_for_model_id(
|
271
|
-
msg="Model needs to be saved to the Model Catalog before the artifact information can be read."
|
272
|
-
)
|
273
|
-
def get_artifact_info(self) -> Dict:
|
274
|
-
"""Gets model artifact attachment information.
|
275
|
-
|
276
|
-
Returns
|
277
|
-
-------
|
278
|
-
Dict
|
279
|
-
The model artifact attachement info.
|
280
|
-
Example:
|
281
|
-
{
|
282
|
-
'Date': 'Sun, 13 Nov 2022 06:01:27 GMT',
|
283
|
-
'opc-request-id': 'E4F7',
|
284
|
-
'ETag': '77156317-8bb9-4c4a-882b-0d85f8140d93',
|
285
|
-
'Content-Disposition': 'attachment; filename=artifact.zip',
|
286
|
-
'Last-Modified': 'Sun, 09 Oct 2022 16:50:14 GMT',
|
287
|
-
'Content-Type': 'application/json',
|
288
|
-
'Content-MD5': 'orMy3Gs386GZLjYWATJWuA==',
|
289
|
-
'X-Content-Type-Options': 'nosniff',
|
290
|
-
'Content-Length': '4029958'
|
291
|
-
}
|
292
|
-
|
293
|
-
Raises
|
294
|
-
------
|
295
|
-
ModelArtifactNotFoundError
|
296
|
-
If model artifact attchment not found.
|
297
|
-
"""
|
298
|
-
try:
|
299
|
-
return self.client.head_model_artifact(model_id=self.id).headers
|
300
|
-
except ServiceError as ex:
|
301
|
-
if ex.status == 404:
|
302
|
-
raise ModelArtifactNotFoundError()
|
303
|
-
return {}
|
304
|
-
|
305
|
-
@check_for_model_id(
|
306
|
-
msg="Model needs to be restored before the archived artifact content can be accessed."
|
307
|
-
)
|
308
|
-
def restore_archived_model_artifact(
|
309
|
-
self, restore_model_for_hours_specified: Optional[int] = None
|
310
|
-
) -> None:
|
311
|
-
"""Restores the archived model artifact.
|
312
|
-
|
313
|
-
Parameters
|
314
|
-
----------
|
315
|
-
model_id : str
|
316
|
-
The unique identifier of the model to restore.
|
317
|
-
restore_model_for_hours_specified : Optional[int]
|
318
|
-
The duration (in hours) for which the model should be restored.
|
319
|
-
|
320
|
-
Returns
|
321
|
-
-------
|
322
|
-
None
|
323
|
-
|
324
|
-
Raises
|
325
|
-
------
|
326
|
-
ModelArtifactNotFoundError
|
327
|
-
If model artifact not found.
|
328
|
-
"""
|
329
|
-
return self.client.restore_archived_model_artifact(
|
330
|
-
model_id=self.id,
|
331
|
-
restore_model_for_hours_specified=restore_model_for_hours_specified,
|
332
|
-
).headers["opc-work-request-id"]
|
333
|
-
|
334
|
-
@check_for_model_id(
|
335
|
-
msg="Model needs to be saved to the Model Catalog before the artifact content can be read."
|
336
|
-
)
|
337
|
-
def get_model_artifact_content(self) -> BytesIO:
|
338
|
-
"""Gets model artifact content.
|
339
|
-
Can only be used to the small artifacts, which size is less than 2GB.
|
340
|
-
For the large artifacts needs to be used a `import_model_artifact` method.
|
341
|
-
|
342
|
-
Returns
|
343
|
-
-------
|
344
|
-
BytesIO
|
345
|
-
Object with data of type stream.
|
346
|
-
|
347
|
-
Raises
|
348
|
-
------
|
349
|
-
ModelArtifactNotFoundError
|
350
|
-
If model artifact not found.
|
351
|
-
|
352
|
-
"""
|
353
|
-
try:
|
354
|
-
return self.client.get_model_artifact_content(model_id=self.id).data.content
|
355
|
-
except ServiceError as ex:
|
356
|
-
if ex.status == 404:
|
357
|
-
raise ModelArtifactNotFoundError()
|
358
|
-
|
359
|
-
@check_for_model_id(
|
360
|
-
msg="Model needs to be saved to the Model Catalog before the artifact can be created."
|
361
|
-
)
|
362
|
-
def create_model_artifact(
|
363
|
-
self,
|
364
|
-
bytes_content: BytesIO,
|
365
|
-
extension: str = None,
|
366
|
-
) -> None:
|
367
|
-
"""Creates model artifact for specified model.
|
368
|
-
|
369
|
-
Parameters
|
370
|
-
----------
|
371
|
-
bytes_content: BytesIO
|
372
|
-
Model artifacts to upload.
|
373
|
-
extension: str
|
374
|
-
File extension, defaults to zip
|
375
|
-
"""
|
376
|
-
ext = ".json" if extension and extension.lower() == ".json" else ".zip"
|
377
|
-
self.client.create_model_artifact(
|
378
|
-
self.id,
|
379
|
-
bytes_content,
|
380
|
-
content_disposition=f'attachment; filename="{self.id}{ext}"',
|
381
|
-
)
|
382
|
-
|
383
|
-
@check_for_model_id(
|
384
|
-
msg="Model needs to be saved to the Model Catalog before the artifact can be created."
|
385
|
-
)
|
386
|
-
def import_model_artifact(self, bucket_uri: str, region: str = None) -> None:
|
387
|
-
"""Imports model artifact content from the model catalog.
|
388
|
-
Requires to provide an Object Storage bucket for transitional saving artifacts.
|
389
|
-
This method can be used either for small or large artifacts.
|
390
|
-
|
391
|
-
Parameters
|
392
|
-
----------
|
393
|
-
bucket_uri: str
|
394
|
-
The OCI Object Storage URI where model artifacts will be copied to.
|
395
|
-
The `bucket_uri` is only necessary for downloading large artifacts which
|
396
|
-
size is greater than 2GB.
|
397
|
-
Example: `oci://<bucket_name>@<namespace>/prefix/`.
|
398
|
-
region: (str, optional). Defaults to `None`.
|
399
|
-
The destination Object Storage bucket region.
|
400
|
-
By default the value will be extracted from the `OCI_REGION_METADATA` environment variable.
|
401
|
-
|
402
|
-
Returns
|
403
|
-
-------
|
404
|
-
None
|
405
|
-
|
406
|
-
Raises
|
407
|
-
------
|
408
|
-
ModelArtifactNotFoundError
|
409
|
-
If model artifact not found.
|
410
|
-
"""
|
411
|
-
bucket_details = ObjectStorageDetails.from_path(bucket_uri)
|
412
|
-
region = region or extract_region(self.auth)
|
413
|
-
try:
|
414
|
-
work_request_id = self.client.import_model_artifact(
|
415
|
-
model_id=self.id,
|
416
|
-
import_model_artifact_details=ImportModelArtifactDetails(
|
417
|
-
artifact_import_details=ArtifactImportDetailsObjectStorage(
|
418
|
-
namespace=bucket_details.namespace,
|
419
|
-
destination_bucket=bucket_details.bucket,
|
420
|
-
destination_object_name=bucket_details.filepath,
|
421
|
-
destination_region=region,
|
422
|
-
)
|
423
|
-
),
|
424
|
-
).headers["opc-work-request-id"]
|
425
|
-
|
426
|
-
# Show progress of importing artifacts
|
427
|
-
DataScienceWorkRequest(work_request_id).wait_work_request(
|
428
|
-
progress_bar_description="Importing model artifacts."
|
429
|
-
)
|
430
|
-
except ServiceError as ex:
|
431
|
-
if ex.status == 404:
|
432
|
-
raise ModelArtifactNotFoundError()
|
433
|
-
|
434
|
-
@check_for_model_id(
|
435
|
-
msg="Model needs to be saved to the Model Catalog before the artifact can be exported."
|
436
|
-
)
|
437
|
-
def export_model_artifact(self, bucket_uri: str, region: str = None):
|
438
|
-
"""Exports model artifact to the model catalog.
|
439
|
-
Can be used for any model artifact. Requires to provide an Object Storage bucket,
|
440
|
-
for transitional saving artifacts. For the small artifacts use `create_model_artifact` method.
|
441
|
-
|
442
|
-
Parameters
|
443
|
-
----------
|
444
|
-
bucket_uri: str
|
445
|
-
The OCI Object Storage URI where model artifacts will be copied to.
|
446
|
-
The `bucket_uri` is only necessary for downloading large artifacts which
|
447
|
-
size is greater than 2GB.
|
448
|
-
Example: `oci://<bucket_name>@<namespace>/prefix/`.
|
449
|
-
region: (str, optional). Defaults to `None`.
|
450
|
-
The destination Object Storage bucket region.
|
451
|
-
By default the value will be extracted from the `OCI_REGION_METADATA` environment variables.
|
452
|
-
|
453
|
-
Returns
|
454
|
-
-------
|
455
|
-
None
|
456
|
-
"""
|
457
|
-
bucket_details = ObjectStorageDetails.from_path(bucket_uri)
|
458
|
-
region = region or extract_region(self.auth)
|
459
|
-
|
460
|
-
work_request_id = self.client.export_model_artifact(
|
461
|
-
model_id=self.id,
|
462
|
-
export_model_artifact_details=ExportModelArtifactDetails(
|
463
|
-
artifact_export_details=ArtifactExportDetailsObjectStorage(
|
464
|
-
namespace=bucket_details.namespace,
|
465
|
-
source_bucket=bucket_details.bucket,
|
466
|
-
source_object_name=bucket_details.filepath,
|
467
|
-
source_region=region,
|
468
|
-
)
|
469
|
-
),
|
470
|
-
).headers["opc-work-request-id"]
|
471
|
-
|
472
|
-
# Show progress of exporting model artifacts
|
473
|
-
DataScienceWorkRequest(work_request_id).wait_work_request(
|
474
|
-
progress_bar_description="Exporting model artifacts."
|
475
|
-
)
|
476
|
-
|
477
|
-
@check_for_model_id(
|
478
|
-
msg="Model needs to be saved to the Model Catalog before it can be updated."
|
479
|
-
)
|
480
|
-
def update(self) -> "OCIDataScienceModel":
|
481
|
-
"""Updates datascience Model.
|
482
|
-
|
483
|
-
Returns
|
484
|
-
-------
|
485
|
-
OCIDataScienceModel
|
486
|
-
The `OCIDataScienceModel` instance (self).
|
487
|
-
"""
|
488
|
-
|
489
|
-
model_details = self.to_oci_model(UpdateModelDetails)
|
490
|
-
|
491
|
-
# Clean up the model version set, otherwise it throws an error that model is already
|
492
|
-
# associated with the model version set.
|
493
|
-
model_details.model_version_set_id = None
|
494
|
-
return self.update_from_oci_model(
|
495
|
-
self.client.update_model(self.id, model_details).data
|
496
|
-
)
|
497
|
-
|
498
|
-
@check_for_model_id(
|
499
|
-
msg="Model needs to be saved to the Model Catalog before it can be deleted."
|
500
|
-
)
|
501
|
-
def delete(
|
502
|
-
self,
|
503
|
-
delete_associated_model_deployment: Optional[bool] = False,
|
504
|
-
) -> "OCIDataScienceModel":
|
505
|
-
"""Deletes detascience Model.
|
506
|
-
|
507
|
-
Parameters
|
508
|
-
----------
|
509
|
-
delete_associated_model_deployment: (bool, optional). Defaults to `False`.
|
510
|
-
Whether associated model deployments need to be deleted or not.
|
511
|
-
|
512
|
-
Returns
|
513
|
-
-------
|
514
|
-
OCIDataScienceModel
|
515
|
-
The `OCIDataScienceModel` instance (self).
|
516
|
-
|
517
|
-
Raises
|
518
|
-
------
|
519
|
-
ModelWithActiveDeploymentError
|
520
|
-
If model has active deployments and `delete_associated_model_deployment` set to `False`.
|
521
|
-
"""
|
522
|
-
active_deployments = tuple(
|
523
|
-
item for item in self.model_deployment() if item.lifecycle_state == "ACTIVE"
|
524
|
-
)
|
525
|
-
|
526
|
-
if len(active_deployments) > 0:
|
527
|
-
if not delete_associated_model_deployment:
|
528
|
-
raise ModelWithActiveDeploymentError()
|
529
|
-
|
530
|
-
logger.info(
|
531
|
-
f"Deleting model deployments associated with the model `{self.id}`."
|
532
|
-
)
|
533
|
-
for oci_model_deployment in active_deployments:
|
534
|
-
logger.info(
|
535
|
-
f"Deleting model deployment `{oci_model_deployment.identifier}`."
|
536
|
-
)
|
537
|
-
ModelDeployment.from_id(oci_model_deployment.identifier).delete()
|
538
|
-
|
539
|
-
logger.info(f"Deleting model `{self.id}`.")
|
540
|
-
self.client.delete_model(self.id)
|
541
|
-
return self.sync()
|
542
|
-
|
543
|
-
@check_for_model_id(
|
544
|
-
msg="Model needs to be saved to the Model Catalog before the associated model deployments can be read."
|
545
|
-
)
|
546
|
-
def model_deployment(
|
547
|
-
self,
|
548
|
-
config: Optional[Dict] = None,
|
549
|
-
tenant_id: Optional[str] = None,
|
550
|
-
limit: Optional[int] = 500,
|
551
|
-
page: Optional[str] = None,
|
552
|
-
**kwargs: Dict,
|
553
|
-
) -> List:
|
554
|
-
"""
|
555
|
-
Gets the list of model deployments by model ID across the compartments.
|
556
|
-
|
557
|
-
Parameters
|
558
|
-
----------
|
559
|
-
config: (Dict, optional). Defaults to `None`.
|
560
|
-
Configuration keys and values as per SDK and Tool Configuration.
|
561
|
-
The from_file() method can be used to load configuration from a file.
|
562
|
-
Alternatively, a dict can be passed. You can validate_config the dict
|
563
|
-
using validate_config(). Defaults to None.
|
564
|
-
tenant_id: (str, optional). Defaults to `None`.
|
565
|
-
The tenancy ID, which can be used to specify a different tenancy
|
566
|
-
(for cross-tenancy authorization) when searching for resources in
|
567
|
-
a different tenancy. Defaults to None.
|
568
|
-
limit: (int, optional). Defaults to `None`.
|
569
|
-
The maximum number of items to return. The value must be between
|
570
|
-
1 and 1000. Defaults to 500.
|
571
|
-
page: (str, optional). Defaults to `None`.
|
572
|
-
The page at which to start retrieving results.
|
573
|
-
|
574
|
-
Returns
|
575
|
-
-------
|
576
|
-
The list of model deployments associated with given model ID.
|
577
|
-
"""
|
578
|
-
query = f"query datasciencemodeldeployment resources where ModelId='{self.id}'"
|
579
|
-
return OCIResource.search(
|
580
|
-
query,
|
581
|
-
type=SEARCH_TYPE.STRUCTURED,
|
582
|
-
config=config,
|
583
|
-
tenant_id=tenant_id,
|
584
|
-
limit=limit,
|
585
|
-
page=page,
|
586
|
-
**kwargs,
|
587
|
-
)
|
588
|
-
|
589
|
-
@classmethod
|
590
|
-
def from_id(cls, ocid: str) -> "OCIDataScienceModel":
|
591
|
-
"""Gets model by OCID.
|
592
|
-
|
593
|
-
Parameters
|
594
|
-
----------
|
595
|
-
ocid: str
|
596
|
-
The OCID of the datascience model.
|
597
|
-
|
598
|
-
Returns
|
599
|
-
-------
|
600
|
-
OCIDataScienceModel
|
601
|
-
An instance of `OCIDataScienceModel`.
|
602
|
-
"""
|
603
|
-
if not ocid:
|
604
|
-
raise ValueError("Model OCID not provided.")
|
605
|
-
return super().from_ocid(ocid)
|
606
|
-
|
607
|
-
def is_model_created_by_reference(self):
|
608
|
-
"""Checks if model is created by reference
|
609
|
-
Returns
|
610
|
-
-------
|
611
|
-
bool flag denoting whether model was created by reference.
|
612
|
-
|
613
|
-
"""
|
614
|
-
if self.custom_metadata_list:
|
615
|
-
for metadata in self.custom_metadata_list:
|
616
|
-
if (
|
617
|
-
metadata.key == MODEL_BY_REFERENCE_DESC
|
618
|
-
and metadata.value.lower() == "true"
|
619
|
-
):
|
620
|
-
return True
|
621
|
-
return False
|
622
|
-
|
623
|
-
def get_metadata_content(
|
624
|
-
self,
|
625
|
-
artifact_path_or_content: Union[str, bytes],
|
626
|
-
path_type: MetadataArtifactPathType,
|
627
|
-
) -> bytes:
|
628
|
-
"""
|
629
|
-
returns the content of the metadata artifact
|
630
|
-
|
631
|
-
Parameters
|
632
|
-
----------
|
633
|
-
artifact_path_or_content: Union[str,bytes]
|
634
|
-
The path of the file (local or oss) containing metadata artifact or content.
|
635
|
-
The type is string when it represents local path or oss path.
|
636
|
-
The type is bytes when it represents content itself
|
637
|
-
path_type: str
|
638
|
-
can be one of local , oss or actual content itself
|
639
|
-
|
640
|
-
Returns
|
641
|
-
-------
|
642
|
-
bytes
|
643
|
-
metadata artifact content in bytes
|
644
|
-
"""
|
645
|
-
|
646
|
-
if path_type == MetadataArtifactPathType.CONTENT:
|
647
|
-
return artifact_path_or_content
|
648
|
-
|
649
|
-
elif (
|
650
|
-
path_type == MetadataArtifactPathType.LOCAL
|
651
|
-
or path_type == MetadataArtifactPathType.OSS
|
652
|
-
):
|
653
|
-
if not utils.is_path_exists(artifact_path_or_content):
|
654
|
-
raise FileNotFoundError(f"File not found: {artifact_path_or_content}")
|
655
|
-
signer = (
|
656
|
-
default_signer() if path_type == MetadataArtifactPathType.OSS else {}
|
657
|
-
)
|
658
|
-
contents = read_file(
|
659
|
-
file_path=artifact_path_or_content, auth=signer
|
660
|
-
).encode()
|
661
|
-
logger.debug(f"The metadata artifact content - {contents}")
|
662
|
-
|
663
|
-
return contents
|
664
|
-
|
665
|
-
@check_for_model_id(
|
666
|
-
msg="Model needs to be saved to the Model Catalog before the creating custom metadata artifact corresponding to that model"
|
667
|
-
)
|
668
|
-
def create_custom_metadata_artifact(
|
669
|
-
self,
|
670
|
-
metadata_key_name: str,
|
671
|
-
artifact_path_or_content: Union[str, bytes],
|
672
|
-
path_type: MetadataArtifactPathType,
|
673
|
-
) -> ModelMetadataArtifactDetails:
|
674
|
-
"""Creates model custom metadata artifact for specified model.
|
675
|
-
|
676
|
-
Parameters
|
677
|
-
----------
|
678
|
-
metadata_key_name: str
|
679
|
-
The name of the model metadatum in the metadata.
|
680
|
-
|
681
|
-
artifact_path_or_content: Union[str,bytes]
|
682
|
-
The path of the file (local or oss) containing metadata artifact or content.
|
683
|
-
The type is string when it represents local path or oss path.
|
684
|
-
The type is bytes when it represents content itself
|
685
|
-
|
686
|
-
path_type: MetadataArtifactPathType
|
687
|
-
can be one of local , oss or actual content itself
|
688
|
-
|
689
|
-
Returns
|
690
|
-
-------
|
691
|
-
ModelMetadataArtifactDetails
|
692
|
-
The model custom metadata artifact creation info.
|
693
|
-
Example:
|
694
|
-
{
|
695
|
-
'Date': 'Mon, 02 Dec 2024 06:38:24 GMT',
|
696
|
-
'opc-request-id': 'E4F7',
|
697
|
-
'ETag': '77156317-8bb9-4c4a-882b-0d85f8140d93',
|
698
|
-
'X-Content-Type-Options': 'nosniff',
|
699
|
-
'Content-Length': '4029958',
|
700
|
-
'Vary': 'Origin',
|
701
|
-
'Strict-Transport-Security': 'max-age=31536000; includeSubDomains',
|
702
|
-
'status': 204
|
703
|
-
}
|
704
|
-
|
705
|
-
"""
|
706
|
-
contents = self.get_metadata_content(
|
707
|
-
artifact_path_or_content=artifact_path_or_content, path_type=path_type
|
708
|
-
)
|
709
|
-
|
710
|
-
response = self.client.create_model_custom_metadatum_artifact(
|
711
|
-
self.id,
|
712
|
-
metadata_key_name,
|
713
|
-
contents,
|
714
|
-
content_disposition="form" '-data; name="file"; filename="readme.*"',
|
715
|
-
)
|
716
|
-
response_data = convert_model_metadata_response(
|
717
|
-
response.headers, response.status
|
718
|
-
)
|
719
|
-
return response_data
|
720
|
-
|
721
|
-
@check_for_model_id(
|
722
|
-
msg="Model needs to be saved to the Model Catalog before creating defined metadata artifact corresponding to that model"
|
723
|
-
)
|
724
|
-
def create_defined_metadata_artifact(
|
725
|
-
self,
|
726
|
-
metadata_key_name: str,
|
727
|
-
artifact_path_or_content: Union[str, bytes],
|
728
|
-
path_type: MetadataArtifactPathType,
|
729
|
-
) -> ModelMetadataArtifactDetails:
|
730
|
-
"""Creates model defined metadata artifact for specified model.
|
731
|
-
|
732
|
-
Parameters
|
733
|
-
----------
|
734
|
-
metadata_key_name: str
|
735
|
-
The name of the model metadatum in the metadata.
|
736
|
-
|
737
|
-
artifact_path_or_content: Union[str,bytes]
|
738
|
-
The path of the file (local or oss) containing metadata artifact or content.
|
739
|
-
The type is string when it represents local path or oss path.
|
740
|
-
The type is bytes when it represents content itself
|
741
|
-
|
742
|
-
path_type: MetadataArtifactPathType
|
743
|
-
can be one of local , oss or actual content itself.
|
744
|
-
|
745
|
-
Returns
|
746
|
-
-------
|
747
|
-
ModelMetadataArtifactDetails
|
748
|
-
The model defined metadata artifact creation info.
|
749
|
-
Example:
|
750
|
-
{
|
751
|
-
'Date': 'Mon, 02 Dec 2024 06:38:24 GMT',
|
752
|
-
'opc-request-id': 'E4F7',
|
753
|
-
'ETag': '77156317-8bb9-4c4a-882b-0d85f8140d93',
|
754
|
-
'X-Content-Type-Options': 'nosniff',
|
755
|
-
'Content-Length': '4029958',
|
756
|
-
'Vary': 'Origin',
|
757
|
-
'Strict-Transport-Security': 'max-age=31536000; includeSubDomains',
|
758
|
-
'status': 204
|
759
|
-
}
|
760
|
-
|
761
|
-
"""
|
762
|
-
contents = self.get_metadata_content(
|
763
|
-
artifact_path_or_content=artifact_path_or_content, path_type=path_type
|
764
|
-
)
|
765
|
-
|
766
|
-
response = self.client.create_model_defined_metadatum_artifact(
|
767
|
-
self.id,
|
768
|
-
metadata_key_name,
|
769
|
-
contents,
|
770
|
-
content_disposition='form-data; name="file"; filename="readme.*"',
|
771
|
-
)
|
772
|
-
response_data = convert_model_metadata_response(
|
773
|
-
response.headers, response.status
|
774
|
-
)
|
775
|
-
return response_data
|
776
|
-
|
777
|
-
@check_for_model_id(
|
778
|
-
msg="Model needs to be saved to the Model Catalog before updating defined metadata artifact corresponding to that model"
|
779
|
-
)
|
780
|
-
def update_defined_metadata_artifact(
|
781
|
-
self,
|
782
|
-
metadata_key_name: str,
|
783
|
-
artifact_path_or_content: Union[str, bytes],
|
784
|
-
path_type: MetadataArtifactPathType,
|
785
|
-
) -> ModelMetadataArtifactDetails:
|
786
|
-
"""Update model defined metadata artifact for specified model.
|
787
|
-
|
788
|
-
Parameters
|
789
|
-
----------
|
790
|
-
metadata_key_name: str
|
791
|
-
The name of the model metadatum in the metadata.
|
792
|
-
|
793
|
-
artifact_path_or_content: Union[str,bytes]
|
794
|
-
The path of the file (local or oss) containing metadata artifact or content.
|
795
|
-
The type is string when it represents local path or oss path.
|
796
|
-
The type is bytes when it represents content itself
|
797
|
-
|
798
|
-
path_type:MetadataArtifactPathType
|
799
|
-
can be one of local , oss or actual content itself.
|
800
|
-
Returns
|
801
|
-
-------
|
802
|
-
ModelMetadataArtifactDetails
|
803
|
-
The model defined metadata artifact update info.
|
804
|
-
Example:
|
805
|
-
{
|
806
|
-
'Date': 'Mon, 02 Dec 2024 06:38:24 GMT',
|
807
|
-
'opc-request-id': 'E4F7',
|
808
|
-
'ETag': '77156317-8bb9-4c4a-882b-0d85f8140d93',
|
809
|
-
'X-Content-Type-Options': 'nosniff',
|
810
|
-
'Content-Length': '4029958',
|
811
|
-
'Vary': 'Origin',
|
812
|
-
'Strict-Transport-Security': 'max-age=31536000; includeSubDomains',
|
813
|
-
'status': 204
|
814
|
-
}
|
815
|
-
|
816
|
-
"""
|
817
|
-
contents = self.get_metadata_content(
|
818
|
-
artifact_path_or_content=artifact_path_or_content, path_type=path_type
|
819
|
-
)
|
820
|
-
response = self.client.update_model_defined_metadatum_artifact(
|
821
|
-
self.id,
|
822
|
-
metadata_key_name,
|
823
|
-
contents,
|
824
|
-
content_disposition='form-data; name="file"; filename="readme.*"',
|
825
|
-
)
|
826
|
-
response_data = convert_model_metadata_response(
|
827
|
-
response.headers, response.status
|
828
|
-
)
|
829
|
-
return response_data
|
830
|
-
|
831
|
-
@check_for_model_id(
|
832
|
-
msg="Model needs to be saved to the Model Catalog before updating custom metadata artifact corresponding to that model"
|
833
|
-
)
|
834
|
-
def update_custom_metadata_artifact(
|
835
|
-
self,
|
836
|
-
metadata_key_name: str,
|
837
|
-
artifact_path_or_content: Union[str, bytes],
|
838
|
-
path_type: MetadataArtifactPathType,
|
839
|
-
) -> ModelMetadataArtifactDetails:
|
840
|
-
"""Update model custom metadata artifact for specified model.
|
841
|
-
|
842
|
-
Parameters
|
843
|
-
----------
|
844
|
-
metadata_key_name: str
|
845
|
-
The name of the model metadatum in the metadata.
|
846
|
-
|
847
|
-
artifact_path_or_content: Union[str,bytes]
|
848
|
-
The path of the file (local or oss) containing metadata artifact or content.
|
849
|
-
The type is string when it represents local path or oss path.
|
850
|
-
The type is bytes when it represents content itself
|
851
|
-
|
852
|
-
path_type: MetadataArtifactPathType
|
853
|
-
can be one of local , oss or actual content itself.
|
854
|
-
|
855
|
-
Returns
|
856
|
-
-------
|
857
|
-
ModelMetadataArtifactDetails
|
858
|
-
The model custom metadata artifact update info.
|
859
|
-
Example:
|
860
|
-
{
|
861
|
-
'Date': 'Mon, 02 Dec 2024 06:38:24 GMT',
|
862
|
-
'opc-request-id': 'E4F7',
|
863
|
-
'ETag': '77156317-8bb9-4c4a-882b-0d85f8140d93',
|
864
|
-
'X-Content-Type-Options': 'nosniff',
|
865
|
-
'Content-Length': '4029958',
|
866
|
-
'Vary': 'Origin',
|
867
|
-
'Strict-Transport-Security': 'max-age=31536000; includeSubDomains',
|
868
|
-
'status': 204
|
869
|
-
}
|
870
|
-
|
871
|
-
"""
|
872
|
-
contents = self.get_metadata_content(
|
873
|
-
artifact_path_or_content=artifact_path_or_content, path_type=path_type
|
874
|
-
)
|
875
|
-
response = self.client.update_model_custom_metadatum_artifact(
|
876
|
-
self.id,
|
877
|
-
metadata_key_name,
|
878
|
-
contents,
|
879
|
-
content_disposition="form" '-data; name="file"; filename="readme.*"',
|
880
|
-
)
|
881
|
-
response_data = convert_model_metadata_response(
|
882
|
-
response.headers, response.status
|
883
|
-
)
|
884
|
-
return response_data
|
885
|
-
|
886
|
-
@check_for_model_id(
|
887
|
-
msg="Model needs to be saved to the Model Catalog before fetching custom metadata artifact corresponding to that model"
|
888
|
-
)
|
889
|
-
def get_custom_metadata_artifact(self, metadata_key_name: str) -> bytes:
|
890
|
-
"""Downloads model custom metadata artifact content for specified model metadata key.
|
891
|
-
|
892
|
-
Parameters
|
893
|
-
----------
|
894
|
-
metadata_key_name: str
|
895
|
-
The name of the model metadatum in the metadata.
|
896
|
-
Returns
|
897
|
-
-------
|
898
|
-
bytes
|
899
|
-
custom metadata artifact content
|
900
|
-
|
901
|
-
"""
|
902
|
-
try:
|
903
|
-
return self.client.get_model_custom_metadatum_artifact_content(
|
904
|
-
self.id, metadata_key_name
|
905
|
-
).data.content
|
906
|
-
except ServiceError as ex:
|
907
|
-
if ex.status == 404:
|
908
|
-
raise ModelMetadataArtifactNotFoundError(self.id, metadata_key_name)
|
909
|
-
|
910
|
-
@check_for_model_id(
|
911
|
-
msg="Model needs to be saved to the Model Catalog before fetching defined metadata artifact corresponding to that model"
|
912
|
-
)
|
913
|
-
def get_defined_metadata_artifact(self, metadata_key_name: str) -> bytes:
|
914
|
-
"""Downloads model defined metadata artifact content for specified model metadata key.
|
915
|
-
|
916
|
-
Parameters
|
917
|
-
----------
|
918
|
-
metadata_key_name: str
|
919
|
-
The name of the model metadatum in the metadata.
|
920
|
-
Returns
|
921
|
-
-------
|
922
|
-
bytes
|
923
|
-
Defined metadata artifact content
|
924
|
-
|
925
|
-
"""
|
926
|
-
try:
|
927
|
-
return self.client.get_model_defined_metadatum_artifact_content(
|
928
|
-
self.id, metadata_key_name
|
929
|
-
).data.content
|
930
|
-
except ServiceError as ex:
|
931
|
-
if ex.status == 404 or ex.status == 400:
|
932
|
-
raise ModelMetadataArtifactNotFoundError(self.id, metadata_key_name)
|
933
|
-
|
934
|
-
@check_for_model_id(
|
935
|
-
msg="Model needs to be saved to the Model Catalog before fetching custom metadata artifact corresponding to that model"
|
936
|
-
)
|
937
|
-
def head_custom_metadata_artifact(
|
938
|
-
self, metadata_key_name: str
|
939
|
-
) -> ModelMetadataArtifactDetails:
|
940
|
-
"""Gets custom metadata artifact metadata for specified model metadata key.
|
941
|
-
|
942
|
-
Parameters
|
943
|
-
----------
|
944
|
-
metadata_key_name: str
|
945
|
-
The name of the model metadatum in the metadata.
|
946
|
-
Returns
|
947
|
-
-------
|
948
|
-
ModelMetadataArtifactDetails
|
949
|
-
The model custom metadata artifact head call info.
|
950
|
-
Example:
|
951
|
-
{
|
952
|
-
'Date': 'Mon, 02 Dec 2024 06:38:24 GMT',
|
953
|
-
'opc-request-id': 'E4F7',
|
954
|
-
'ETag': '77156317-8bb9-4c4a-882b-0d85f8140d93',
|
955
|
-
'X-Content-Type-Options': 'nosniff',
|
956
|
-
'Content-Length': '4029958',
|
957
|
-
'Vary': 'Origin',
|
958
|
-
'Strict-Transport-Security': 'max-age=31536000; includeSubDomains',
|
959
|
-
'status': 204
|
960
|
-
}
|
961
|
-
|
962
|
-
"""
|
963
|
-
response = self.client.head_model_custom_metadatum_artifact(
|
964
|
-
self.id, metadata_key_name
|
965
|
-
)
|
966
|
-
response_data = convert_model_metadata_response(
|
967
|
-
response.headers, response.status
|
968
|
-
)
|
969
|
-
return response_data
|
970
|
-
|
971
|
-
@check_for_model_id(
|
972
|
-
msg="Model needs to be saved to the Model Catalog before fetching defined metadata artifact corresponding to that model"
|
973
|
-
)
|
974
|
-
def head_defined_metadata_artifact(
|
975
|
-
self, metadata_key_name: str
|
976
|
-
) -> ModelMetadataArtifactDetails:
|
977
|
-
"""Gets defined metadata artifact metadata for specified model metadata key.
|
978
|
-
|
979
|
-
Parameters
|
980
|
-
----------
|
981
|
-
metadata_key_name: str
|
982
|
-
The name of the model metadatum in the metadata.
|
983
|
-
Returns
|
984
|
-
-------
|
985
|
-
ModelMetadataArtifactDetails
|
986
|
-
The model defined metadata artifact head call info.
|
987
|
-
Example:
|
988
|
-
{
|
989
|
-
'Date': 'Mon, 02 Dec 2024 06:38:24 GMT',
|
990
|
-
'opc-request-id': 'E4F7',
|
991
|
-
'ETag': '77156317-8bb9-4c4a-882b-0d85f8140d93',
|
992
|
-
'X-Content-Type-Options': 'nosniff',
|
993
|
-
'Content-Length': '4029958',
|
994
|
-
'Vary': 'Origin',
|
995
|
-
'Strict-Transport-Security': 'max-age=31536000; includeSubDomains',
|
996
|
-
'status': 204
|
997
|
-
}
|
998
|
-
|
999
|
-
"""
|
1000
|
-
response = self.client.head_model_defined_metadatum_artifact(
|
1001
|
-
self.id, metadata_key_name
|
1002
|
-
)
|
1003
|
-
response_data = convert_model_metadata_response(
|
1004
|
-
response.headers, response.status
|
1005
|
-
)
|
1006
|
-
return response_data
|
1007
|
-
|
1008
|
-
@check_for_model_id(
|
1009
|
-
msg="Model needs to be saved to the Model Catalog before the deleting custom metadata artifact corresponding to that model"
|
1010
|
-
)
|
1011
|
-
def delete_custom_metadata_artifact(
|
1012
|
-
self, metadata_key_name: str
|
1013
|
-
) -> ModelMetadataArtifactDetails:
|
1014
|
-
"""Deletes model custom metadata artifact for specified model metadata key.
|
1015
|
-
|
1016
|
-
Parameters
|
1017
|
-
----------
|
1018
|
-
metadata_key_name: str
|
1019
|
-
The name of the model metadatum in the metadata.
|
1020
|
-
Returns
|
1021
|
-
-------
|
1022
|
-
ModelMetadataArtifactDetails
|
1023
|
-
The model custom metadata artifact delete call info.
|
1024
|
-
Example:
|
1025
|
-
{
|
1026
|
-
'Date': 'Mon, 02 Dec 2024 06:38:24 GMT',
|
1027
|
-
'opc-request-id': 'E4F7',
|
1028
|
-
'X-Content-Type-Options': 'nosniff',
|
1029
|
-
'Vary': 'Origin',
|
1030
|
-
'Strict-Transport-Security': 'max-age=31536000; includeSubDomains',
|
1031
|
-
'status': 204
|
1032
|
-
}
|
1033
|
-
|
1034
|
-
"""
|
1035
|
-
response = self.client.delete_model_custom_metadatum_artifact(
|
1036
|
-
self.id, metadata_key_name
|
1037
|
-
)
|
1038
|
-
response_data = convert_model_metadata_response(
|
1039
|
-
response.headers, response.status
|
1040
|
-
)
|
1041
|
-
return response_data
|
1042
|
-
|
1043
|
-
@check_for_model_id(
|
1044
|
-
msg="Model needs to be saved to the Model Catalog before the deleting defined metadata artifact corresponding to that model"
|
1045
|
-
)
|
1046
|
-
def delete_defined_metadata_artifact(
|
1047
|
-
self, metadata_key_name: str
|
1048
|
-
) -> ModelMetadataArtifactDetails:
|
1049
|
-
"""Deletes model defined metadata artifact for specified model metadata key.
|
1050
|
-
|
1051
|
-
Parameters
|
1052
|
-
----------
|
1053
|
-
metadata_key_name: str
|
1054
|
-
The name of the model metadatum in the metadata.
|
1055
|
-
Returns
|
1056
|
-
-------
|
1057
|
-
ModelMetadataArtifactDetails
|
1058
|
-
The model defined metadata artifact delete call info.
|
1059
|
-
Example:
|
1060
|
-
{
|
1061
|
-
'Date': 'Mon, 02 Dec 2024 06:38:24 GMT',
|
1062
|
-
'opc-request-id': 'E4F7',
|
1063
|
-
'X-Content-Type-Options': 'nosniff',
|
1064
|
-
'Vary': 'Origin',
|
1065
|
-
'Strict-Transport-Security': 'max-age=31536000; includeSubDomains',
|
1066
|
-
'status': 204
|
1067
|
-
}
|
1068
|
-
|
1069
|
-
"""
|
1070
|
-
response = self.client.delete_model_defined_metadatum_artifact(
|
1071
|
-
self.id, metadata_key_name
|
1072
|
-
)
|
1073
|
-
response_data = convert_model_metadata_response(
|
1074
|
-
response.headers, response.status
|
1075
|
-
)
|
1076
|
-
return response_data
|