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
ads/feature_store/query/query.py
DELETED
@@ -1,403 +0,0 @@
|
|
1
|
-
#!/usr/bin/env python
|
2
|
-
# -*- coding: utf-8; -*-
|
3
|
-
|
4
|
-
# Copyright (c) 2023 Oracle and/or its affiliates.
|
5
|
-
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/
|
6
|
-
|
7
|
-
import copy
|
8
|
-
import logging
|
9
|
-
from typing import Optional, List, Union
|
10
|
-
|
11
|
-
from ads.feature_store.common.enums import JoinType
|
12
|
-
from ads.feature_store.common.utils.utility import get_metastore_id
|
13
|
-
from ads.feature_store.execution_strategy.engine.spark_engine import SparkEngine
|
14
|
-
from ads.feature_store.query.filter import Filter, Logic
|
15
|
-
from ads.feature_store.query.join import Join
|
16
|
-
from ads.feature_store.query.validator.query_validator import QueryValidator
|
17
|
-
from ads.jobs.builders.base import Builder
|
18
|
-
|
19
|
-
logger = logging.getLogger(__name__)
|
20
|
-
|
21
|
-
|
22
|
-
class Query(Builder):
|
23
|
-
"""
|
24
|
-
A class representing a query that can be executed against a Spark dataframe.
|
25
|
-
|
26
|
-
Args:
|
27
|
-
left_feature_group (FeatureGroup): The left feature group to query.
|
28
|
-
left_features (List[str]): A list of left feature names to include in the query.
|
29
|
-
feature_store_id (str, optional): The ID of the feature store to query. Defaults to None.
|
30
|
-
entity_id (str, optional): The ID of the entity to query. Defaults to None.
|
31
|
-
|
32
|
-
Methods:
|
33
|
-
with_left_feature_group(feature_group: FeatureGroup) -> Query:
|
34
|
-
Sets the left feature group to query.
|
35
|
-
with_entity_id(entity_id: str) -> Query:
|
36
|
-
Sets the ID of the entity to query.
|
37
|
-
with_feature_store_id(feature_store_id: str) -> Query:
|
38
|
-
Sets the ID of the feature store to query.
|
39
|
-
with_left_features(feature_group: FeatureGroup) -> Query:
|
40
|
-
Sets the left features to query based on the given
|
41
|
-
feature group.
|
42
|
-
with_left_features(features: List[str]) -> Query:
|
43
|
-
Sets the left features to query based on the given list of feature names.
|
44
|
-
read(online: Optional[bool] = False) -> DataFrame:
|
45
|
-
Executes the query and returns the result as a Spark dataframe.
|
46
|
-
show(n: int = 10, online: Optional[bool] = False) -> None:
|
47
|
-
Executes the query and prints the first n rows of the result.
|
48
|
-
to_dict() -> Dict: Returns a dictionary representation of the query.
|
49
|
-
with_filter(self, _filter) -> "Query":
|
50
|
-
Sets the filter for the query.
|
51
|
-
to_string(is_online) -> str:
|
52
|
-
Returns the query as string.
|
53
|
-
filter(self, f: Union[Filter, Logic]) -> "Query":
|
54
|
-
Applies the filter to the query.
|
55
|
-
|
56
|
-
|
57
|
-
Properties:
|
58
|
-
left_feature_group (FeatureGroup): Gets or sets the left feature group to query.
|
59
|
-
entity_id (str): Gets or sets the ID of the entity to query.
|
60
|
-
feature_store_id (str): Gets or sets the ID of the feature store to query.
|
61
|
-
left_features (List[str]): Gets or sets the list of left feature names to include in the query.
|
62
|
-
"""
|
63
|
-
|
64
|
-
CONST_LEFT_FEATURE_GROUP = "leftFeatureGroup"
|
65
|
-
CONST_LEFT_FEATURES = "leftFeatures"
|
66
|
-
CONST_FEATURE_STORE_ID = "featureStoreId"
|
67
|
-
CONST_ENTITY_ID = "entityId"
|
68
|
-
CONST_JOINS = "joins"
|
69
|
-
CONST_FILTER = "_filter"
|
70
|
-
|
71
|
-
def __init__(
|
72
|
-
self,
|
73
|
-
left_feature_group,
|
74
|
-
left_features,
|
75
|
-
feature_store_id=None,
|
76
|
-
entity_id=None,
|
77
|
-
joins=None,
|
78
|
-
):
|
79
|
-
super().__init__()
|
80
|
-
self.spark_engine = SparkEngine(
|
81
|
-
metastore_id=get_metastore_id(feature_store_id=feature_store_id)
|
82
|
-
)
|
83
|
-
self.with_left_feature_group(left_feature_group)
|
84
|
-
self.with_entity_id(entity_id)
|
85
|
-
self.with_feature_store_id(feature_store_id)
|
86
|
-
self.with_left_features(features=left_features)
|
87
|
-
self.with_joins(joins or [])
|
88
|
-
|
89
|
-
@property
|
90
|
-
def left_feature_group(self):
|
91
|
-
return self.get_spec(self.CONST_LEFT_FEATURE_GROUP)
|
92
|
-
|
93
|
-
@left_feature_group.setter
|
94
|
-
def left_feature_group(self, value):
|
95
|
-
self.with_left_feature_group(value)
|
96
|
-
|
97
|
-
def with_left_feature_group(self, feature_group) -> "Query":
|
98
|
-
"""Sets the entity_id.
|
99
|
-
|
100
|
-
Parameters
|
101
|
-
----------
|
102
|
-
feature_group: FeatureGroup
|
103
|
-
The feature_group.
|
104
|
-
|
105
|
-
Returns
|
106
|
-
-------
|
107
|
-
Query
|
108
|
-
The Query instance (self)
|
109
|
-
"""
|
110
|
-
return self.set_spec(self.CONST_LEFT_FEATURE_GROUP, feature_group)
|
111
|
-
|
112
|
-
def get_last_joined_feature_group(self):
|
113
|
-
"""
|
114
|
-
Retrieves the last joined feature group from the list of joins,
|
115
|
-
or returns the left feature group if no joins are present.
|
116
|
-
|
117
|
-
Returns:
|
118
|
-
The last joined feature group if the list of joins is non-empty,
|
119
|
-
otherwise returns the left feature group.
|
120
|
-
"""
|
121
|
-
if self.joins:
|
122
|
-
return self.joins[-1].sub_query.left_feature_group
|
123
|
-
else:
|
124
|
-
return self.left_feature_group
|
125
|
-
|
126
|
-
@property
|
127
|
-
def _filter(self):
|
128
|
-
return self.get_spec(self.CONST_FILTER)
|
129
|
-
|
130
|
-
def with_filter(self, _filter) -> "Query":
|
131
|
-
"""Sets the filter.
|
132
|
-
|
133
|
-
Parameters
|
134
|
-
----------
|
135
|
-
_filter
|
136
|
-
The Filter.
|
137
|
-
|
138
|
-
Returns
|
139
|
-
-------
|
140
|
-
Query
|
141
|
-
The Query instance (self)
|
142
|
-
"""
|
143
|
-
return self.set_spec(self.CONST_FILTER, _filter)
|
144
|
-
|
145
|
-
@property
|
146
|
-
def joins(self) -> List[Join]:
|
147
|
-
return self.get_spec(self.CONST_JOINS)
|
148
|
-
|
149
|
-
@joins.setter
|
150
|
-
def joins(self, joins: List[Join]):
|
151
|
-
self.with_joins(joins)
|
152
|
-
|
153
|
-
def with_joins(self, joins: List[Join]) -> "Query":
|
154
|
-
"""Sets the joins.
|
155
|
-
|
156
|
-
Parameters
|
157
|
-
----------
|
158
|
-
joins: List[Join]
|
159
|
-
The joins for the Feature Group.
|
160
|
-
Returns
|
161
|
-
-------
|
162
|
-
FeatureGroup
|
163
|
-
The FeatureGroup instance (self)
|
164
|
-
"""
|
165
|
-
return self.set_spec(self.CONST_JOINS, joins)
|
166
|
-
|
167
|
-
@property
|
168
|
-
def entity_id(self) -> str:
|
169
|
-
return self.get_spec(self.CONST_ENTITY_ID)
|
170
|
-
|
171
|
-
@entity_id.setter
|
172
|
-
def entity_id(self, value: str):
|
173
|
-
self.with_entity_id(value)
|
174
|
-
|
175
|
-
def with_entity_id(self, entity_id: str) -> "Query":
|
176
|
-
"""Sets the entity_id.
|
177
|
-
|
178
|
-
Parameters
|
179
|
-
----------
|
180
|
-
entity_id: str
|
181
|
-
The entity_id.
|
182
|
-
|
183
|
-
Returns
|
184
|
-
-------
|
185
|
-
Query
|
186
|
-
The Query instance (self)
|
187
|
-
"""
|
188
|
-
return self.set_spec(self.CONST_ENTITY_ID, entity_id)
|
189
|
-
|
190
|
-
@property
|
191
|
-
def feature_store_id(self) -> str:
|
192
|
-
return self.get_spec(self.CONST_FEATURE_STORE_ID)
|
193
|
-
|
194
|
-
@feature_store_id.setter
|
195
|
-
def feature_store_id(self, value: str):
|
196
|
-
self.with_entity_id(value)
|
197
|
-
|
198
|
-
def with_feature_store_id(self, feature_store_id: str) -> "Query":
|
199
|
-
"""Sets the feature_store_id.
|
200
|
-
|
201
|
-
Parameters
|
202
|
-
----------
|
203
|
-
feature_store_id: str
|
204
|
-
The feature_store_id.
|
205
|
-
|
206
|
-
Returns
|
207
|
-
-------
|
208
|
-
Query
|
209
|
-
The Query instance (self)
|
210
|
-
"""
|
211
|
-
return self.set_spec(self.CONST_FEATURE_STORE_ID, feature_store_id)
|
212
|
-
|
213
|
-
@property
|
214
|
-
def left_features(self) -> list:
|
215
|
-
return self.get_spec(self.CONST_LEFT_FEATURES)
|
216
|
-
|
217
|
-
@left_features.setter
|
218
|
-
def left_features(self, features: List[str]):
|
219
|
-
self.with_left_features(features)
|
220
|
-
|
221
|
-
def with_left_features(self, features: List[str]) -> "Query":
|
222
|
-
"""Sets the left feature details for the Feature Group.
|
223
|
-
|
224
|
-
This method sets the left feature details for the Feature Group of this Query instance.
|
225
|
-
If the input parameter 'features' is not empty, it sets the left feature details to 'features'.
|
226
|
-
If 'features' is empty, it populates 'features' with the names of the output features of the left feature group.
|
227
|
-
|
228
|
-
Parameters
|
229
|
-
----------
|
230
|
-
features : List[str]
|
231
|
-
The features for the Feature Group.
|
232
|
-
|
233
|
-
Returns
|
234
|
-
-------
|
235
|
-
Query
|
236
|
-
This Query instance with the left feature details set.
|
237
|
-
"""
|
238
|
-
|
239
|
-
if not features:
|
240
|
-
# If 'features' is empty, populate 'features' with the names of the output features of the left feature
|
241
|
-
# group.
|
242
|
-
features = [
|
243
|
-
output_feature.feature_name
|
244
|
-
for output_feature in self.left_feature_group.features
|
245
|
-
]
|
246
|
-
|
247
|
-
return self.set_spec(self.CONST_LEFT_FEATURES, features)
|
248
|
-
|
249
|
-
def read(
|
250
|
-
self,
|
251
|
-
is_online: Optional[bool] = False,
|
252
|
-
):
|
253
|
-
"""Read the specified query into a DataFrame.
|
254
|
-
|
255
|
-
It is possible to specify the storage (online/offline) to read from and the
|
256
|
-
type of the output DataFrame (Spark, Pandas).
|
257
|
-
|
258
|
-
!!! warning "Engine support"
|
259
|
-
**Spark only**
|
260
|
-
|
261
|
-
# Arguments
|
262
|
-
is_online: Read from online storage. Defaults to `False`.
|
263
|
-
|
264
|
-
# Returns
|
265
|
-
`DataFrame`: DataFrame depending on the chosen type.
|
266
|
-
"""
|
267
|
-
sql_query = self._generate_query(is_online)
|
268
|
-
return self.spark_engine.sql(sql_query)
|
269
|
-
|
270
|
-
def join(
|
271
|
-
self,
|
272
|
-
sub_query: "Query",
|
273
|
-
on: Optional[List[str]] = [],
|
274
|
-
left_on: Optional[List[str]] = [],
|
275
|
-
right_on: Optional[List[str]] = [],
|
276
|
-
join_type: JoinType = JoinType.INNER,
|
277
|
-
):
|
278
|
-
"""Join Query with another Query.
|
279
|
-
|
280
|
-
!!! example "Join multiple feature groups"
|
281
|
-
```python
|
282
|
-
fg1 = FeatureGroup.fromId("...")
|
283
|
-
fg2 = FeatureGroup.fromId("...")
|
284
|
-
fg3 = FeatureGroup.fromId("...")
|
285
|
-
|
286
|
-
query = fg1.select_all()
|
287
|
-
.join(fg3.select_all(), left_on=["location_id"], right_on=["id"], join_type=JoinType.LEFT)
|
288
|
-
```
|
289
|
-
|
290
|
-
# Arguments
|
291
|
-
sub_query:
|
292
|
-
Right-hand side query to join.
|
293
|
-
on:
|
294
|
-
List of feature names to join on if they are available in both
|
295
|
-
feature groups. Defaults to `[]`.
|
296
|
-
left_on:
|
297
|
-
List of feature names to join on from the left feature group of the join. Defaults to `[]`.
|
298
|
-
right_on:
|
299
|
-
List of feature names to join on from the right feature group of the join. Defaults to `[]`.
|
300
|
-
join_type:
|
301
|
-
Type of join to perform, can be `"inner"`, `"outer"`, `"left"` or `"right"`. Defaults to "inner".
|
302
|
-
|
303
|
-
# Returns
|
304
|
-
`Query`: A new Query object representing the join.
|
305
|
-
"""
|
306
|
-
|
307
|
-
join = Join(sub_query, on, left_on, right_on, join_type)
|
308
|
-
QueryValidator.validate_query_join(self.get_last_joined_feature_group(), join)
|
309
|
-
self.joins.append(join)
|
310
|
-
return self
|
311
|
-
|
312
|
-
def show(self, num_rows: int = 10, is_online: Optional[bool] = False):
|
313
|
-
"""
|
314
|
-
Display the first N rows of the Query as a table.
|
315
|
-
|
316
|
-
Example usage:
|
317
|
-
fg1 = FeatureGroup.from_id("...")
|
318
|
-
fg2 = FeatureGroup.from_id("...")
|
319
|
-
|
320
|
-
query = fg1.select()
|
321
|
-
query.show(10)
|
322
|
-
|
323
|
-
Args:
|
324
|
-
num_rows (int, optional): The number of rows to display. Defaults to 10.
|
325
|
-
is_online (bool, optional): Whether to execute the query on an online data store.
|
326
|
-
Defaults to False.
|
327
|
-
|
328
|
-
Returns:
|
329
|
-
None
|
330
|
-
"""
|
331
|
-
|
332
|
-
# Generate the SQL query
|
333
|
-
sql_query = self._generate_query(is_online)
|
334
|
-
|
335
|
-
# Execute the query and retrieve a pandas DataFrame
|
336
|
-
df = self.spark_engine.sql(sql_query)
|
337
|
-
|
338
|
-
# Display the first N rows of the DataFrame as a table
|
339
|
-
df.show(num_rows)
|
340
|
-
|
341
|
-
def _generate_query(self, is_online: Optional[bool] = False):
|
342
|
-
self.__validate_nested_joins()
|
343
|
-
from ads.feature_store.query.generator.query_generator import QueryGenerator
|
344
|
-
|
345
|
-
return QueryGenerator(self).generate_query(is_online)
|
346
|
-
|
347
|
-
def filter(self, f: Union[Filter, Logic]):
|
348
|
-
"""Apply filter to the feature group.
|
349
|
-
|
350
|
-
Selects all features and returns the resulting `Query` with the applied filter.
|
351
|
-
```python
|
352
|
-
query.filter(fg.feature1 == 1).show(10)
|
353
|
-
```
|
354
|
-
|
355
|
-
Composite filters require parenthesis:
|
356
|
-
```python
|
357
|
-
query.filter((fg.feature1 == 1) | (fg.feature2 >= 2))
|
358
|
-
```
|
359
|
-
|
360
|
-
# Arguments
|
361
|
-
f: Filter object.
|
362
|
-
|
363
|
-
# Returns
|
364
|
-
`Query`. The query object with the applied filter.
|
365
|
-
"""
|
366
|
-
if self._filter is None:
|
367
|
-
if isinstance(f, Filter):
|
368
|
-
self.with_filter(Logic.Single(left_f=f))
|
369
|
-
elif isinstance(f, Logic):
|
370
|
-
self.with_filter(f)
|
371
|
-
else:
|
372
|
-
raise TypeError(
|
373
|
-
"Expected type `Filter` or `Logic`, got `{}`".format(type(f))
|
374
|
-
)
|
375
|
-
elif self._filter is not None:
|
376
|
-
self.with_filter(self._filter & f)
|
377
|
-
return self
|
378
|
-
|
379
|
-
def to_dict(self):
|
380
|
-
"""Returns the Query as dictionary."""
|
381
|
-
query = copy.deepcopy(self._spec)
|
382
|
-
return query
|
383
|
-
|
384
|
-
def to_string(self, is_online=False):
|
385
|
-
"""Generate a string representation of the object's query.
|
386
|
-
|
387
|
-
Args:
|
388
|
-
is_online (bool, optional): Whether to generate an online query. Defaults to False.
|
389
|
-
|
390
|
-
Returns:
|
391
|
-
str: A string representation of the object's query.
|
392
|
-
"""
|
393
|
-
fs_query = self._generate_query(is_online)
|
394
|
-
|
395
|
-
if is_online:
|
396
|
-
raise ValueError("Online query is not supported.")
|
397
|
-
return fs_query
|
398
|
-
|
399
|
-
def __validate_nested_joins(self):
|
400
|
-
for join in self.joins:
|
401
|
-
query = join.sub_query
|
402
|
-
if len(query.joins) > 0:
|
403
|
-
raise ValueError("Nested Joins are not supported.")
|
File without changes
|
@@ -1,57 +0,0 @@
|
|
1
|
-
#!/usr/bin/env python
|
2
|
-
# -*- coding: utf-8; -*-
|
3
|
-
|
4
|
-
# Copyright (c) 2023 Oracle and/or its affiliates.
|
5
|
-
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/
|
6
|
-
|
7
|
-
from ads.feature_store.common.utils.utility import (
|
8
|
-
largest_matching_subset_of_primary_keys,
|
9
|
-
)
|
10
|
-
|
11
|
-
|
12
|
-
class QueryValidator:
|
13
|
-
@staticmethod
|
14
|
-
def validate_query_join(left_feature_group, join):
|
15
|
-
left_features = [f.feature_name for f in left_feature_group.features]
|
16
|
-
right_feature_group = join.sub_query.left_feature_group
|
17
|
-
right_features = [f.feature_name for f in right_feature_group.features]
|
18
|
-
|
19
|
-
if join.on:
|
20
|
-
# Validate keys in the explicit "ON" clause
|
21
|
-
for key in join.on:
|
22
|
-
if key not in left_features:
|
23
|
-
raise ValueError(
|
24
|
-
f"Cannot join feature group '{left_feature_group.name}' on '{key}', as it is not present in "
|
25
|
-
f"the feature group. "
|
26
|
-
)
|
27
|
-
if key not in right_features:
|
28
|
-
raise ValueError(
|
29
|
-
f"Cannot join feature group '{right_feature_group.name}' on '{key}', as it is not present in "
|
30
|
-
f"the feature group. "
|
31
|
-
)
|
32
|
-
|
33
|
-
elif join.left_on and join.right_on:
|
34
|
-
# Validate keys in the "LEFT ON" and "RIGHT ON" clauses
|
35
|
-
for key in join.left_on:
|
36
|
-
if key not in left_features:
|
37
|
-
raise ValueError(
|
38
|
-
f"Cannot join feature group '{left_feature_group.name}' on '{key}', as it is not present in "
|
39
|
-
f"the feature group. "
|
40
|
-
)
|
41
|
-
for key in join.right_on:
|
42
|
-
if key not in right_features:
|
43
|
-
raise ValueError(
|
44
|
-
f"Cannot join feature group '{right_feature_group.name}' on '{key}', as it is not present in "
|
45
|
-
f"the feature group. "
|
46
|
-
)
|
47
|
-
|
48
|
-
else:
|
49
|
-
# Use largest_matching_subset_of_primary_keys to find matching primary keys
|
50
|
-
matching_primary_keys = largest_matching_subset_of_primary_keys(
|
51
|
-
left_feature_group, right_feature_group
|
52
|
-
)
|
53
|
-
if not matching_primary_keys:
|
54
|
-
raise ValueError(
|
55
|
-
f"Cannot join feature groups '{left_feature_group.name}' and '{right_feature_group.name}', as no "
|
56
|
-
f"matching primary keys were found. "
|
57
|
-
)
|
File without changes
|
@@ -1,68 +0,0 @@
|
|
1
|
-
import pandas as pd
|
2
|
-
from typing import Dict
|
3
|
-
from copy import deepcopy
|
4
|
-
from ads.jobs.builders.base import Builder
|
5
|
-
from ads.common import utils
|
6
|
-
|
7
|
-
|
8
|
-
class ResponseBuilder(Builder):
|
9
|
-
"""
|
10
|
-
Represents ResponseBuilder class to generate stats and validation reports for the feature store.
|
11
|
-
"""
|
12
|
-
|
13
|
-
CONST_CONTENT = "content"
|
14
|
-
|
15
|
-
def __init__(self, content: str, version: int = 1):
|
16
|
-
"""
|
17
|
-
Initializes a new instance of the validation output class.
|
18
|
-
|
19
|
-
Parameters
|
20
|
-
----------
|
21
|
-
content : str
|
22
|
-
The validation output information as a JSON string.
|
23
|
-
"""
|
24
|
-
self.version = version
|
25
|
-
super().__init__()
|
26
|
-
self.set_spec(self.CONST_CONTENT, content)
|
27
|
-
|
28
|
-
@property
|
29
|
-
def content(self):
|
30
|
-
"""
|
31
|
-
Gets the content as a JSON string.
|
32
|
-
|
33
|
-
Returns
|
34
|
-
-------
|
35
|
-
str
|
36
|
-
The validation output information as a JSON string.
|
37
|
-
"""
|
38
|
-
return self.get_spec(self.CONST_CONTENT)
|
39
|
-
|
40
|
-
def to_pandas(self) -> pd.DataFrame:
|
41
|
-
"""
|
42
|
-
Converts the content to a pandas DataFrame.
|
43
|
-
|
44
|
-
Returns
|
45
|
-
-------
|
46
|
-
pd.DataFrame
|
47
|
-
The statistical information as a pandas DataFrame.
|
48
|
-
"""
|
49
|
-
if self.content:
|
50
|
-
profile_result = pd.read_json(self.content)
|
51
|
-
return profile_result
|
52
|
-
|
53
|
-
@property
|
54
|
-
def kind(self) -> str:
|
55
|
-
return "response_builder"
|
56
|
-
|
57
|
-
def to_dict(self) -> Dict:
|
58
|
-
spec = deepcopy(self._spec)
|
59
|
-
for key, value in spec.items():
|
60
|
-
if hasattr(value, "to_dict"):
|
61
|
-
value = value.to_dict()
|
62
|
-
spec[key] = value
|
63
|
-
|
64
|
-
return {
|
65
|
-
"kind": self.kind,
|
66
|
-
"type": self.type,
|
67
|
-
"spec": utils.batch_convert_case(spec, "camel"),
|
68
|
-
}
|
File without changes
|
@@ -1,139 +0,0 @@
|
|
1
|
-
#!/usr/bin/env python
|
2
|
-
# -*- coding: utf-8; -*-
|
3
|
-
|
4
|
-
# Copyright (c) 2023 Oracle and/or its affiliates.
|
5
|
-
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/
|
6
|
-
|
7
|
-
import datetime
|
8
|
-
|
9
|
-
import feature_store_client.feature_store as fs
|
10
|
-
from feature_store_client.feature_store.models import (
|
11
|
-
Dataset,
|
12
|
-
CreateDatasetDetails,
|
13
|
-
UpdateDatasetDetails,
|
14
|
-
)
|
15
|
-
|
16
|
-
from ads.feature_store.mixin.oci_feature_store import OCIFeatureStoreMixin
|
17
|
-
|
18
|
-
|
19
|
-
class OCIDataset(OCIFeatureStoreMixin, Dataset):
|
20
|
-
"""Represents an OCI Data Science dataset.
|
21
|
-
This class contains all attributes of the `oci.data_science.models.Dataset`.
|
22
|
-
The main purpose of this class is to link the `oci.data_science.models.Dataset`
|
23
|
-
and the related client methods.
|
24
|
-
Linking the `Dataset` (payload) to Create/Update/Get/List/Delete methods.
|
25
|
-
|
26
|
-
The `OCIDataset` can be initialized by unpacking the properties stored in a dictionary:
|
27
|
-
|
28
|
-
.. code-block:: python
|
29
|
-
|
30
|
-
properties = {
|
31
|
-
"compartment_id": "<compartment_ocid>",
|
32
|
-
"display_name": "<dataset_name>",
|
33
|
-
"description": "<dataset_description>"
|
34
|
-
}
|
35
|
-
dataset = OCIDataset(**properties)
|
36
|
-
|
37
|
-
The properties can also be OCI REST API payload, in which the keys are in camel format.
|
38
|
-
|
39
|
-
.. code-block:: python
|
40
|
-
|
41
|
-
payload = {
|
42
|
-
"compartmentId": "<compartment_ocid>",
|
43
|
-
"displayName": "<dataset_name>",
|
44
|
-
"description": "<dataset_description>",
|
45
|
-
}
|
46
|
-
dataset = OCIDataset(**payload)
|
47
|
-
|
48
|
-
Methods
|
49
|
-
-------
|
50
|
-
create(self) -> "OCIDataset"
|
51
|
-
Creates dataset
|
52
|
-
delete(self) -> "OCIDataset":
|
53
|
-
Deletes dataset
|
54
|
-
update(self) -> "OCIDataset":
|
55
|
-
Updates dataset
|
56
|
-
from_id(cls, ocid: str) -> "OCIDataset":
|
57
|
-
Gets dataset by OCID.
|
58
|
-
Examples
|
59
|
-
--------
|
60
|
-
>>> oci_dataset = OCIDataset.from_id("<dataset_id>")
|
61
|
-
>>> oci_dataset.description = "A brand new description"
|
62
|
-
>>> oci_dataset.delete()
|
63
|
-
"""
|
64
|
-
|
65
|
-
@property
|
66
|
-
def client(self) -> fs.feature_store_client.FeatureStoreClient:
|
67
|
-
return super().client
|
68
|
-
|
69
|
-
def create(self) -> "OCIDataset":
|
70
|
-
"""Creates dataset on OCI Data Science platform
|
71
|
-
|
72
|
-
!!! note "Lazy"
|
73
|
-
This method is lazy and does not persist any metadata or feature data in the
|
74
|
-
feature store on its own. To persist the dataset and save dataset data
|
75
|
-
along the metadata in the feature store, call the `materialise()`.
|
76
|
-
|
77
|
-
Returns
|
78
|
-
-------
|
79
|
-
OCIDataset
|
80
|
-
The OCIDataset instance (self), which allows chaining additional method.
|
81
|
-
"""
|
82
|
-
if not self.name:
|
83
|
-
timestamp = datetime.datetime.now().strftime("%Y%m%d-%H%M")
|
84
|
-
self.name = f"dataset-{timestamp}"
|
85
|
-
|
86
|
-
if not self.compartment_id:
|
87
|
-
raise ValueError("`compartment_id` must be specified for the dataset.")
|
88
|
-
|
89
|
-
if not self.feature_store_id:
|
90
|
-
raise ValueError("`feature_store_id` must be specified for the dataset.")
|
91
|
-
|
92
|
-
if not self.entity_id:
|
93
|
-
raise ValueError("`entity_id` must be specified for the dataset.")
|
94
|
-
|
95
|
-
dataset_details = self.to_oci_model(CreateDatasetDetails)
|
96
|
-
return self.update_from_oci_model(
|
97
|
-
self.client.create_dataset(dataset_details).data
|
98
|
-
)
|
99
|
-
|
100
|
-
def update(self) -> "OCIDataset":
|
101
|
-
"""Updates dataset.
|
102
|
-
|
103
|
-
Returns
|
104
|
-
-------
|
105
|
-
OCIDataset
|
106
|
-
The `OCIDataset` instance (self).
|
107
|
-
"""
|
108
|
-
return self.update_from_oci_model(
|
109
|
-
self.client.update_dataset(
|
110
|
-
self.to_oci_model(UpdateDatasetDetails), self.id
|
111
|
-
).data
|
112
|
-
)
|
113
|
-
|
114
|
-
def delete(self):
|
115
|
-
"""Removes dataset
|
116
|
-
|
117
|
-
Returns
|
118
|
-
-------
|
119
|
-
None
|
120
|
-
"""
|
121
|
-
self.client.delete_dataset(self.id)
|
122
|
-
|
123
|
-
@classmethod
|
124
|
-
def from_id(cls, id: str) -> "OCIDataset":
|
125
|
-
"""Gets dataset resource by id.
|
126
|
-
|
127
|
-
Parameters
|
128
|
-
----------
|
129
|
-
id: str
|
130
|
-
The id of the dataset resource.
|
131
|
-
|
132
|
-
Returns
|
133
|
-
-------
|
134
|
-
OCIDataset
|
135
|
-
An instance of `OCIDataset`.
|
136
|
-
"""
|
137
|
-
if not id:
|
138
|
-
raise ValueError("Dataset id not provided.")
|
139
|
-
return super().from_ocid(id)
|