snowflake-ml-python 1.8.2__tar.gz → 1.8.4__tar.gz
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.
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/CHANGELOG.md +40 -6
- {snowflake_ml_python-1.8.2/snowflake_ml_python.egg-info → snowflake_ml_python-1.8.4}/PKG-INFO +55 -14
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/pyproject.toml +5 -3
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/cortex/__init__.py +7 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/cortex/_classify_text.py +3 -3
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/cortex/_complete.py +23 -24
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/cortex/_embed_text_1024.py +4 -4
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/cortex/_embed_text_768.py +4 -4
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/cortex/_finetune.py +8 -8
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/cortex/_util.py +8 -12
- snowflake_ml_python-1.8.4/snowflake/ml/_internal/env.py +9 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/env_utils.py +63 -34
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/file_utils.py +10 -21
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/human_readable_id/hrid_generator_base.py +5 -7
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/init_utils.py +2 -3
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/lineage/lineage_utils.py +6 -6
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/platform_capabilities.py +18 -16
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/telemetry.py +39 -52
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/type_utils.py +3 -3
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/utils/db_utils.py +2 -2
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/utils/identifier.py +10 -10
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/utils/import_utils.py +2 -2
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/utils/parallelize.py +7 -7
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/utils/pkg_version_utils.py +11 -11
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/utils/query_result_checker.py +4 -4
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/utils/snowflake_env.py +28 -6
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/utils/snowpark_dataframe_utils.py +2 -2
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/utils/sql_identifier.py +3 -3
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/utils/table_manager.py +9 -9
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/data/_internal/arrow_ingestor.py +7 -7
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/data/data_connector.py +15 -36
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/data/data_ingestor.py +4 -15
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/data/data_source.py +2 -2
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/data/ingestor_utils.py +3 -3
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/data/torch_utils.py +5 -5
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/dataset/dataset.py +11 -11
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/dataset/dataset_metadata.py +8 -8
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/dataset/dataset_reader.py +7 -7
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/feature_store/__init__.py +1 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/feature_store/access_manager.py +7 -7
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/feature_store/entity.py +6 -6
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/feature_store/examples/airline_features/entities.py +1 -3
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/feature_store/examples/airline_features/features/plane_features.py +1 -3
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/feature_store/examples/airline_features/features/weather_features.py +1 -3
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/feature_store/examples/citibike_trip_features/entities.py +1 -3
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/feature_store/examples/citibike_trip_features/features/station_feature.py +1 -3
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/feature_store/examples/citibike_trip_features/features/trip_feature.py +1 -3
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/feature_store/examples/example_helper.py +16 -16
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/feature_store/examples/new_york_taxi_features/entities.py +1 -3
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/location_features.py +1 -3
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/trip_features.py +1 -3
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/feature_store/examples/wine_quality_features/entities.py +1 -3
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/feature_store/examples/wine_quality_features/features/managed_wine_features.py +1 -3
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/feature_store/examples/wine_quality_features/features/static_wine_features.py +1 -3
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/feature_store/feature_store.py +52 -64
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/feature_store/feature_view.py +24 -24
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/fileset/embedded_stage_fs.py +5 -5
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/fileset/fileset.py +5 -5
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/fileset/sfcfs.py +13 -13
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/fileset/stage_fs.py +15 -15
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/jobs/_utils/constants.py +1 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/jobs/_utils/interop_utils.py +10 -10
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/jobs/_utils/payload_utils.py +45 -46
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/jobs/_utils/scripts/get_instance_ip.py +4 -4
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/jobs/_utils/scripts/mljob_launcher.py +8 -5
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/jobs/_utils/scripts/signal_workers.py +8 -8
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/jobs/_utils/spec_utils.py +18 -29
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/jobs/_utils/types.py +2 -2
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/jobs/decorators.py +10 -5
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/jobs/job.py +87 -30
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/jobs/manager.py +86 -56
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/lineage/lineage_node.py +5 -5
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_client/model/model_impl.py +3 -3
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_client/model/model_version_impl.py +103 -35
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_client/ops/metadata_ops.py +7 -7
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_client/ops/model_ops.py +41 -41
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_client/ops/service_ops.py +217 -32
- snowflake_ml_python-1.8.4/snowflake/ml/model/_client/service/model_deployment_spec.py +410 -0
- snowflake_ml_python-1.8.4/snowflake/ml/model/_client/service/model_deployment_spec_schema.py +78 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_client/sql/model.py +8 -8
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_client/sql/model_version.py +26 -26
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_client/sql/service.py +17 -26
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_client/sql/stage.py +2 -2
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_client/sql/tag.py +6 -6
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_model_composer/model_composer.py +58 -32
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +20 -16
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py +14 -13
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_model_composer/model_method/model_method.py +3 -3
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_packager/model_env/model_env.py +28 -25
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_packager/model_handler.py +4 -4
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_packager/model_handlers/_base.py +2 -2
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_packager/model_handlers/_utils.py +47 -5
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_packager/model_handlers/catboost.py +5 -5
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_packager/model_handlers/custom.py +9 -5
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_packager/model_handlers/huggingface_pipeline.py +7 -21
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_packager/model_handlers/keras.py +4 -4
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_packager/model_handlers/lightgbm.py +4 -14
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_packager/model_handlers/mlflow.py +3 -3
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_packager/model_handlers/pytorch.py +5 -6
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_packager/model_handlers/sentence_transformers.py +5 -5
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_packager/model_handlers/sklearn.py +104 -46
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_packager/model_handlers/snowmlmodel.py +3 -3
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_packager/model_handlers/tensorflow.py +11 -8
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_packager/model_handlers/torchscript.py +6 -6
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_packager/model_handlers/xgboost.py +21 -22
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_packager/model_meta/model_blob_meta.py +2 -2
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_packager/model_meta/model_meta.py +39 -38
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_packager/model_meta/model_meta_schema.py +14 -11
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_packager/model_meta_migrator/base_migrator.py +3 -3
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py +3 -3
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_packager/model_meta_migrator/migrator_v1.py +4 -4
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_packager/model_packager.py +11 -9
- snowflake_ml_python-1.8.4/snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py +32 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_packager/model_runtime/model_runtime.py +4 -2
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_signatures/core.py +16 -24
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_signatures/dmatrix_handler.py +17 -4
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_signatures/utils.py +6 -6
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/custom_model.py +24 -11
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/model_signature.py +12 -23
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/models/huggingface_pipeline.py +7 -4
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/type_hints.py +3 -3
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/_internal/estimator_utils.py +7 -7
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py +6 -6
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/_internal/local_implementations/pandas_trainer.py +7 -7
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/_internal/model_specifications.py +8 -10
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/_internal/model_trainer.py +5 -5
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/_internal/model_trainer_builder.py +6 -6
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +30 -30
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py +13 -13
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_trainer.py +31 -31
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/_internal/snowpark_implementations/xgboost_external_memory_trainer.py +19 -19
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/_internal/transformer_protocols.py +17 -17
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/cluster/affinity_propagation.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/cluster/agglomerative_clustering.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/cluster/birch.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/cluster/bisecting_k_means.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/cluster/dbscan.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/cluster/feature_agglomeration.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/cluster/k_means.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/cluster/mean_shift.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/cluster/mini_batch_k_means.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/cluster/optics.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/cluster/spectral_biclustering.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/cluster/spectral_clustering.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/cluster/spectral_coclustering.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/compose/column_transformer.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/compose/transformed_target_regressor.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/covariance/elliptic_envelope.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/covariance/empirical_covariance.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/covariance/graphical_lasso.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/covariance/graphical_lasso_cv.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/covariance/ledoit_wolf.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/covariance/min_cov_det.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/covariance/oas.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/covariance/shrunk_covariance.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/decomposition/dictionary_learning.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/decomposition/factor_analysis.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/decomposition/fast_ica.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/decomposition/incremental_pca.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/decomposition/kernel_pca.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/decomposition/pca.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/decomposition/sparse_pca.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/decomposition/truncated_svd.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/discriminant_analysis/quadratic_discriminant_analysis.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/ensemble/ada_boost_classifier.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/ensemble/ada_boost_regressor.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/ensemble/bagging_classifier.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/ensemble/bagging_regressor.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/ensemble/extra_trees_classifier.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/ensemble/extra_trees_regressor.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/ensemble/isolation_forest.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/ensemble/random_forest_classifier.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/ensemble/random_forest_regressor.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/ensemble/stacking_regressor.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/ensemble/voting_classifier.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/ensemble/voting_regressor.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/feature_selection/generic_univariate_select.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/feature_selection/select_fdr.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/feature_selection/select_fpr.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/feature_selection/select_fwe.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/feature_selection/select_k_best.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/feature_selection/select_percentile.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/feature_selection/variance_threshold.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/framework/_utils.py +10 -10
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/framework/base.py +32 -32
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/gaussian_process/gaussian_process_classifier.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/gaussian_process/gaussian_process_regressor.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/impute/__init__.py +1 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/impute/iterative_imputer.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/impute/knn_imputer.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/impute/missing_indicator.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/impute/simple_imputer.py +5 -5
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/kernel_approximation/additive_chi2_sampler.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/kernel_approximation/nystroem.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/kernel_approximation/polynomial_count_sketch.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/kernel_approximation/rbf_sampler.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/lightgbm/lgbm_classifier.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/lightgbm/lgbm_regressor.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/ard_regression.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/bayesian_ridge.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/elastic_net.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/elastic_net_cv.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/gamma_regressor.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/huber_regressor.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/lars.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/lars_cv.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/lasso.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/lasso_cv.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/lasso_lars.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/lasso_lars_cv.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/lasso_lars_ic.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/linear_regression.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/logistic_regression.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/logistic_regression_cv.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/multi_task_elastic_net.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/multi_task_elastic_net_cv.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/multi_task_lasso.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/perceptron.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/poisson_regressor.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/ransac_regressor.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/ridge.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/ridge_classifier.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/ridge_cv.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/sgd_classifier.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/sgd_regressor.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/theil_sen_regressor.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/tweedie_regressor.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/manifold/isomap.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/manifold/mds.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/manifold/spectral_embedding.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/manifold/tsne.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/metrics/__init__.py +1 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/metrics/classification.py +39 -39
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/metrics/metrics_utils.py +12 -12
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/metrics/ranking.py +7 -7
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/metrics/regression.py +13 -13
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/mixture/bayesian_gaussian_mixture.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/mixture/gaussian_mixture.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/model_selection/__init__.py +1 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/model_selection/grid_search_cv.py +7 -7
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/model_selection/randomized_search_cv.py +7 -7
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/multiclass/one_vs_one_classifier.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/multiclass/one_vs_rest_classifier.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/multiclass/output_code_classifier.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/naive_bayes/categorical_nb.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/naive_bayes/complement_nb.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/naive_bayes/gaussian_nb.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/naive_bayes/multinomial_nb.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/neighbors/kernel_density.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/neighbors/local_outlier_factor.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/neighbors/nearest_centroid.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/neighbors/nearest_neighbors.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/neighbors/neighborhood_components_analysis.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/neural_network/bernoulli_rbm.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/neural_network/mlp_classifier.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/neural_network/mlp_regressor.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/pipeline/__init__.py +1 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/pipeline/pipeline.py +18 -18
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/preprocessing/__init__.py +1 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/preprocessing/k_bins_discretizer.py +13 -13
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/preprocessing/max_abs_scaler.py +4 -4
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/preprocessing/min_max_scaler.py +8 -8
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/preprocessing/normalizer.py +0 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/preprocessing/one_hot_encoder.py +28 -28
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/preprocessing/ordinal_encoder.py +9 -9
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/preprocessing/polynomial_features.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/preprocessing/robust_scaler.py +7 -7
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/preprocessing/standard_scaler.py +5 -5
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/semi_supervised/label_propagation.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/semi_supervised/label_spreading.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/svm/linear_svc.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/svm/linear_svr.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/svm/nu_svc.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/svm/nu_svr.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/svm/svc.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/svm/svr.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/tree/decision_tree_classifier.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/tree/decision_tree_regressor.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/tree/extra_tree_classifier.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/tree/extra_tree_regressor.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/xgboost/xgb_classifier.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/xgboost/xgb_regressor.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/xgboost/xgbrf_classifier.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/xgboost/xgbrf_regressor.py +9 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/monitoring/_client/model_monitor_sql_client.py +26 -26
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/monitoring/_manager/model_monitor_manager.py +5 -5
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/monitoring/entities/model_monitor_config.py +6 -6
- snowflake_ml_python-1.8.4/snowflake/ml/monitoring/explain_visualize.py +286 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/registry/_manager/model_manager.py +55 -32
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/registry/registry.py +39 -31
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/utils/authentication.py +2 -2
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/utils/connection_params.py +5 -5
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/utils/sparse.py +5 -4
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/utils/sql_client.py +1 -2
- snowflake_ml_python-1.8.4/snowflake/ml/version.py +2 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4/snowflake_ml_python.egg-info}/PKG-INFO +55 -14
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake_ml_python.egg-info/SOURCES.txt +1 -2
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake_ml_python.egg-info/requires.txt +16 -7
- snowflake_ml_python-1.8.2/snowflake/ml/_internal/env.py +0 -8
- snowflake_ml_python-1.8.2/snowflake/ml/model/_client/service/model_deployment_spec.py +0 -116
- snowflake_ml_python-1.8.2/snowflake/ml/model/_client/service/model_deployment_spec_schema.py +0 -33
- snowflake_ml_python-1.8.2/snowflake/ml/model/_packager/model_meta/_packaging_requirements.py +0 -1
- snowflake_ml_python-1.8.2/snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py +0 -1
- snowflake_ml_python-1.8.2/snowflake/ml/modeling/_internal/constants.py +0 -2
- snowflake_ml_python-1.8.2/snowflake/ml/version.py +0 -1
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/LICENSE.txt +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/README.md +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/setup.cfg +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/cortex/_extract_answer.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/cortex/_sentiment.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/cortex/_sse_client.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/cortex/_summarize.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/cortex/_translate.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/exceptions/dataset_error_messages.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/exceptions/dataset_errors.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/exceptions/error_codes.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/exceptions/error_messages.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/exceptions/exceptions.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/exceptions/fileset_error_messages.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/exceptions/fileset_errors.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/exceptions/modeling_error_messages.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/exceptions/sql_error_codes.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/human_readable_id/adjectives.txt +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/human_readable_id/animals.txt +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/human_readable_id/hrid_generator.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/migrator_utils.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/relax_version_strategy.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/utils/formatting.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/utils/jwt_generator.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/utils/result.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/utils/service_logger.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/_internal/utils/temp_file_utils.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/data/__init__.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/dataset/__init__.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/dataset/dataset_factory.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/feature_store/examples/airline_features/source.yaml +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/feature_store/examples/citibike_trip_features/source.yaml +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/feature_store/examples/new_york_taxi_features/source.yaml +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/feature_store/examples/source_data/airline.yaml +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/feature_store/examples/source_data/citibike_trips.yaml +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/feature_store/examples/source_data/fraud_transactions.yaml +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/feature_store/examples/source_data/nyc_yellow_trips.yaml +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/feature_store/examples/source_data/winequality_red.yaml +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/feature_store/examples/wine_quality_features/source.yaml +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/fileset/snowfs.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/jobs/__init__.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/jobs/_utils/scripts/constants.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/jobs/_utils/scripts/worker_shutdown_listener.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/lineage/__init__.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/__init__.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_client/sql/_base.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_model_composer/model_method/constants.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_model_composer/model_method/function_generator.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_model_composer/model_method/infer_function.py_template +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_model_composer/model_method/infer_partitioned.py_template +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_model_composer/model_method/infer_table_function.py_template +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_model_composer/model_user_file/model_user_file.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_packager/model_handlers_migrator/base_migrator.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_packager/model_handlers_migrator/pytorch_migrator_2023_12_01.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2023_12_01.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2025_01_01.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_packager/model_handlers_migrator/torchscript_migrator_2023_12_01.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_packager/model_task/model_task_utils.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_signatures/base_handler.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_signatures/builtins_handler.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_signatures/numpy_handler.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_signatures/pandas_handler.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_signatures/pytorch_handler.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_signatures/snowpark_handler.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/model/_signatures/tensorflow_handler.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/_internal/model_transformer_builder.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_search_udf_file.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/calibration/__init__.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/cluster/__init__.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/compose/__init__.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/covariance/__init__.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/decomposition/__init__.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/discriminant_analysis/__init__.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/ensemble/__init__.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/feature_selection/__init__.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/gaussian_process/__init__.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/kernel_approximation/__init__.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/kernel_ridge/__init__.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/lightgbm/__init__.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/linear_model/__init__.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/manifold/__init__.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/metrics/correlation.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/metrics/covariance.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/mixture/__init__.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/multiclass/__init__.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/naive_bayes/__init__.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/neighbors/__init__.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/neural_network/__init__.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/parameters/disable_distributed_hpo.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/parameters/disable_model_tracer.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/parameters/enable_anonymous_sproc.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/preprocessing/binarizer.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/preprocessing/label_encoder.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/semi_supervised/__init__.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/svm/__init__.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/tree/__init__.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/modeling/xgboost/__init__.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/monitoring/_client/queries/record_count.ssql +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/monitoring/_client/queries/rmse.ssql +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/monitoring/model_monitor.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/monitoring/model_monitor_version.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/monitoring/shap.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/ml/registry/__init__.py +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake_ml_python.egg-info/dependency_links.txt +0 -0
- {snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake_ml_python.egg-info/top_level.txt +0 -0
@@ -1,6 +1,31 @@
|
|
1
1
|
# Release History
|
2
2
|
|
3
|
-
## 1.8.
|
3
|
+
## 1.8.4
|
4
|
+
|
5
|
+
### Bug Fixes
|
6
|
+
|
7
|
+
- Registry: Default `enable_explainability` to True when the model can be deployed to Warehouse.
|
8
|
+
- Registry: Add `custom_model.partitioned_api` decorator and deprecate `partitioned_inference_api`.
|
9
|
+
- Registry: Fixed a bug when logging pytroch and tensorflow models that caused
|
10
|
+
`UnboundLocalError: local variable 'multiple_inputs' referenced before assignment`.
|
11
|
+
|
12
|
+
### Breaking change
|
13
|
+
|
14
|
+
- ML Job: Updated property `id` to be fully qualified name; Introduced new property `name` to represent the ML Job name
|
15
|
+
- ML Job: Modified `list_jobs()` to return ML Job `name` instead of `id`
|
16
|
+
- Registry: Error in `log_model` if `enable_explainability` is True and model is only deployed to
|
17
|
+
Snowpark Container Services, instead of just user warning.
|
18
|
+
|
19
|
+
### New Features
|
20
|
+
|
21
|
+
- ML Job: Extend `@remote` function decorator, `submit_file()` and `submit_directory()` to accept `database` and
|
22
|
+
`schema` parameters
|
23
|
+
- ML Job: Support querying by fully qualified name in `get_job()`
|
24
|
+
- Explainability: Added visualization functions to `snowflake.ml.monitoring` to plot explanations in notebooks.
|
25
|
+
- Explainability: Support explain for categorical transforms for sklearn pipeline
|
26
|
+
- Support categorical type for `xgboost.DMatrix` inputs.
|
27
|
+
|
28
|
+
## 1.8.3
|
4
29
|
|
5
30
|
### Bug Fixes
|
6
31
|
|
@@ -8,6 +33,17 @@
|
|
8
33
|
|
9
34
|
### New Features
|
10
35
|
|
36
|
+
- Registry: Default to the runtime cuda version if available when logging a GPU model in Container Runtime.
|
37
|
+
- ML Job: Added `as_list` argument to `MLJob.get_logs()` to enable retrieving logs
|
38
|
+
as a list of strings
|
39
|
+
- Registry: Support `ModelVersion.run_job` to run inference with a single-node Snowpark Container Services job.
|
40
|
+
- DataConnector: Removed PrPr decorators
|
41
|
+
- Registry: Default the target platform to warehouse when logging a partitioned model.
|
42
|
+
|
43
|
+
## 1.8.2
|
44
|
+
|
45
|
+
### New Features
|
46
|
+
|
11
47
|
- ML Job now available as a PuPr feature
|
12
48
|
- ML Job: Add ability to retrieve results for `@remote` decorated functions using
|
13
49
|
new `MLJobWithResult.result()` API, which will return the unpickled result
|
@@ -16,7 +52,6 @@
|
|
16
52
|
`snowflake.snowpark.context.get_active_session()`
|
17
53
|
- Registry: Introducing `save_location` to `log_model` using the `options` argument.
|
18
54
|
User's can provide the path to write the model version's files that get stored in Snowflake's stage.
|
19
|
-
- Registry: Include model dependencies in pip requirements by default when logging in Container Runtime.
|
20
55
|
|
21
56
|
```python
|
22
57
|
reg.log_model(
|
@@ -28,8 +63,9 @@ reg.log_model(
|
|
28
63
|
)
|
29
64
|
```
|
30
65
|
|
31
|
-
-
|
32
|
-
- ML Job (PrPr): Add `
|
66
|
+
- Registry: Include model dependencies in pip requirements by default when logging in Container Runtime.
|
67
|
+
- Multi-node ML Job (PrPr): Add `instance_id` argument to `get_logs` and `show_logs` method to support multi node log retrieval
|
68
|
+
- Multi-node ML Job (PrPr): Add `job.get_instance_status(instance_id=...)` API to support multi node status retrieval
|
33
69
|
|
34
70
|
## 1.8.1 (03-26-2025)
|
35
71
|
|
@@ -39,8 +75,6 @@ reg.log_model(
|
|
39
75
|
inference method.
|
40
76
|
- Registry: Fix a bug that model inference service creation fails on an existing and suspended service.
|
41
77
|
|
42
|
-
### Behavior Change
|
43
|
-
|
44
78
|
### New Features
|
45
79
|
|
46
80
|
- ML Job (PrPr): Update Container Runtime image version to `1.0.1`
|
{snowflake_ml_python-1.8.2/snowflake_ml_python.egg-info → snowflake_ml_python-1.8.4}/PKG-INFO
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: snowflake-ml-python
|
3
|
-
Version: 1.8.
|
3
|
+
Version: 1.8.4
|
4
4
|
Summary: The machine learning client library that is used for interacting with Snowflake to build machine learning solutions.
|
5
5
|
Author-email: "Snowflake, Inc" <support@snowflake.com>
|
6
6
|
License:
|
@@ -236,7 +236,7 @@ License-File: LICENSE.txt
|
|
236
236
|
Requires-Dist: absl-py<2,>=0.15
|
237
237
|
Requires-Dist: anyio<5,>=3.5.0
|
238
238
|
Requires-Dist: cachetools<6,>=3.1.1
|
239
|
-
Requires-Dist: cloudpickle
|
239
|
+
Requires-Dist: cloudpickle>=2.0.0
|
240
240
|
Requires-Dist: cryptography
|
241
241
|
Requires-Dist: fsspec[http]<2026,>=2024.6.1
|
242
242
|
Requires-Dist: importlib_resources<7,>=6.1.1
|
@@ -244,32 +244,37 @@ Requires-Dist: numpy<2,>=1.23
|
|
244
244
|
Requires-Dist: packaging<25,>=20.9
|
245
245
|
Requires-Dist: pandas<3,>=1.0.0
|
246
246
|
Requires-Dist: pyarrow
|
247
|
+
Requires-Dist: pydantic<3,>=2.8.2
|
247
248
|
Requires-Dist: pyjwt<3,>=2.0.0
|
248
249
|
Requires-Dist: pytimeparse<2,>=1.1.8
|
249
250
|
Requires-Dist: pyyaml<7,>=6.0
|
250
251
|
Requires-Dist: retrying<2,>=1.3.3
|
251
252
|
Requires-Dist: s3fs<2026,>=2024.6.1
|
252
|
-
Requires-Dist: scikit-learn<1.6
|
253
|
+
Requires-Dist: scikit-learn<1.6
|
253
254
|
Requires-Dist: scipy<2,>=1.9
|
254
|
-
Requires-Dist:
|
255
|
+
Requires-Dist: shap<1,>=0.46.0
|
256
|
+
Requires-Dist: snowflake-connector-python[pandas]<4,>=3.14.0
|
255
257
|
Requires-Dist: snowflake-snowpark-python!=1.26.0,<2,>=1.17.0
|
256
258
|
Requires-Dist: snowflake.core<2,>=1.0.2
|
257
259
|
Requires-Dist: sqlparse<1,>=0.4
|
258
260
|
Requires-Dist: typing-extensions<5,>=4.1.0
|
259
|
-
Requires-Dist: xgboost<3,>=1.7.3
|
260
261
|
Provides-Extra: all
|
262
|
+
Requires-Dist: altair<6,>=5; extra == "all"
|
261
263
|
Requires-Dist: catboost<2,>=1.2.0; extra == "all"
|
262
264
|
Requires-Dist: keras<4,>=2.0.0; extra == "all"
|
263
265
|
Requires-Dist: lightgbm<5,>=4.1.0; extra == "all"
|
264
266
|
Requires-Dist: mlflow<3,>=2.16.0; extra == "all"
|
265
267
|
Requires-Dist: sentence-transformers<4,>=2.7.0; extra == "all"
|
266
268
|
Requires-Dist: sentencepiece<0.2.0,>=0.1.95; extra == "all"
|
267
|
-
Requires-Dist:
|
269
|
+
Requires-Dist: streamlit<2,>=1.44.0; extra == "all"
|
268
270
|
Requires-Dist: tensorflow<3,>=2.17.0; extra == "all"
|
269
271
|
Requires-Dist: tokenizers<1,>=0.15.1; extra == "all"
|
270
272
|
Requires-Dist: torch<3,>=2.0.1; extra == "all"
|
271
273
|
Requires-Dist: torchdata<1,>=0.4; extra == "all"
|
272
274
|
Requires-Dist: transformers<5,>=4.39.3; extra == "all"
|
275
|
+
Requires-Dist: xgboost<3,>=1.7.3; extra == "all"
|
276
|
+
Provides-Extra: altair
|
277
|
+
Requires-Dist: altair<6,>=5; extra == "altair"
|
273
278
|
Provides-Extra: catboost
|
274
279
|
Requires-Dist: catboost<2,>=1.2.0; extra == "catboost"
|
275
280
|
Provides-Extra: keras
|
@@ -280,8 +285,8 @@ Provides-Extra: lightgbm
|
|
280
285
|
Requires-Dist: lightgbm<5,>=4.1.0; extra == "lightgbm"
|
281
286
|
Provides-Extra: mlflow
|
282
287
|
Requires-Dist: mlflow<3,>=2.16.0; extra == "mlflow"
|
283
|
-
Provides-Extra:
|
284
|
-
Requires-Dist:
|
288
|
+
Provides-Extra: streamlit
|
289
|
+
Requires-Dist: streamlit<2,>=1.44.0; extra == "streamlit"
|
285
290
|
Provides-Extra: tensorflow
|
286
291
|
Requires-Dist: tensorflow<3,>=2.17.0; extra == "tensorflow"
|
287
292
|
Provides-Extra: torch
|
@@ -293,6 +298,8 @@ Requires-Dist: sentencepiece<0.2.0,>=0.1.95; extra == "transformers"
|
|
293
298
|
Requires-Dist: tokenizers<1,>=0.15.1; extra == "transformers"
|
294
299
|
Requires-Dist: torch<3,>=2.0.1; extra == "transformers"
|
295
300
|
Requires-Dist: transformers<5,>=4.39.3; extra == "transformers"
|
301
|
+
Provides-Extra: xgboost
|
302
|
+
Requires-Dist: xgboost<3,>=1.7.3; extra == "xgboost"
|
296
303
|
Dynamic: license-file
|
297
304
|
|
298
305
|
# Snowpark ML
|
@@ -403,7 +410,32 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
|
|
403
410
|
|
404
411
|
# Release History
|
405
412
|
|
406
|
-
## 1.8.
|
413
|
+
## 1.8.4
|
414
|
+
|
415
|
+
### Bug Fixes
|
416
|
+
|
417
|
+
- Registry: Default `enable_explainability` to True when the model can be deployed to Warehouse.
|
418
|
+
- Registry: Add `custom_model.partitioned_api` decorator and deprecate `partitioned_inference_api`.
|
419
|
+
- Registry: Fixed a bug when logging pytroch and tensorflow models that caused
|
420
|
+
`UnboundLocalError: local variable 'multiple_inputs' referenced before assignment`.
|
421
|
+
|
422
|
+
### Breaking change
|
423
|
+
|
424
|
+
- ML Job: Updated property `id` to be fully qualified name; Introduced new property `name` to represent the ML Job name
|
425
|
+
- ML Job: Modified `list_jobs()` to return ML Job `name` instead of `id`
|
426
|
+
- Registry: Error in `log_model` if `enable_explainability` is True and model is only deployed to
|
427
|
+
Snowpark Container Services, instead of just user warning.
|
428
|
+
|
429
|
+
### New Features
|
430
|
+
|
431
|
+
- ML Job: Extend `@remote` function decorator, `submit_file()` and `submit_directory()` to accept `database` and
|
432
|
+
`schema` parameters
|
433
|
+
- ML Job: Support querying by fully qualified name in `get_job()`
|
434
|
+
- Explainability: Added visualization functions to `snowflake.ml.monitoring` to plot explanations in notebooks.
|
435
|
+
- Explainability: Support explain for categorical transforms for sklearn pipeline
|
436
|
+
- Support categorical type for `xgboost.DMatrix` inputs.
|
437
|
+
|
438
|
+
## 1.8.3
|
407
439
|
|
408
440
|
### Bug Fixes
|
409
441
|
|
@@ -411,6 +443,17 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
|
|
411
443
|
|
412
444
|
### New Features
|
413
445
|
|
446
|
+
- Registry: Default to the runtime cuda version if available when logging a GPU model in Container Runtime.
|
447
|
+
- ML Job: Added `as_list` argument to `MLJob.get_logs()` to enable retrieving logs
|
448
|
+
as a list of strings
|
449
|
+
- Registry: Support `ModelVersion.run_job` to run inference with a single-node Snowpark Container Services job.
|
450
|
+
- DataConnector: Removed PrPr decorators
|
451
|
+
- Registry: Default the target platform to warehouse when logging a partitioned model.
|
452
|
+
|
453
|
+
## 1.8.2
|
454
|
+
|
455
|
+
### New Features
|
456
|
+
|
414
457
|
- ML Job now available as a PuPr feature
|
415
458
|
- ML Job: Add ability to retrieve results for `@remote` decorated functions using
|
416
459
|
new `MLJobWithResult.result()` API, which will return the unpickled result
|
@@ -419,7 +462,6 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
|
|
419
462
|
`snowflake.snowpark.context.get_active_session()`
|
420
463
|
- Registry: Introducing `save_location` to `log_model` using the `options` argument.
|
421
464
|
User's can provide the path to write the model version's files that get stored in Snowflake's stage.
|
422
|
-
- Registry: Include model dependencies in pip requirements by default when logging in Container Runtime.
|
423
465
|
|
424
466
|
```python
|
425
467
|
reg.log_model(
|
@@ -431,8 +473,9 @@ reg.log_model(
|
|
431
473
|
)
|
432
474
|
```
|
433
475
|
|
434
|
-
-
|
435
|
-
- ML Job (PrPr): Add `
|
476
|
+
- Registry: Include model dependencies in pip requirements by default when logging in Container Runtime.
|
477
|
+
- Multi-node ML Job (PrPr): Add `instance_id` argument to `get_logs` and `show_logs` method to support multi node log retrieval
|
478
|
+
- Multi-node ML Job (PrPr): Add `job.get_instance_status(instance_id=...)` API to support multi node status retrieval
|
436
479
|
|
437
480
|
## 1.8.1 (03-26-2025)
|
438
481
|
|
@@ -442,8 +485,6 @@ reg.log_model(
|
|
442
485
|
inference method.
|
443
486
|
- Registry: Fix a bug that model inference service creation fails on an existing and suspended service.
|
444
487
|
|
445
|
-
### Behavior Change
|
446
|
-
|
447
488
|
### New Features
|
448
489
|
|
449
490
|
- ML Job (PrPr): Update Container Runtime image version to `1.0.1`
|
@@ -8,7 +8,7 @@ description = "The machine learning client library that is used for interacting
|
|
8
8
|
classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Environment :: Other Environment", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Database", "Topic :: Software Development", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Application Frameworks", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Scientific/Engineering :: Information Analysis",]
|
9
9
|
requires-python = ">=3.9, <3.13"
|
10
10
|
dynamic = [ "version", "readme",]
|
11
|
-
dependencies = [ "absl-py>=0.15,<2", "anyio>=3.5.0,<5", "cachetools>=3.1.1,<6", "cloudpickle>=2.0.0
|
11
|
+
dependencies = [ "absl-py>=0.15,<2", "anyio>=3.5.0,<5", "cachetools>=3.1.1,<6", "cloudpickle>=2.0.0", "cryptography", "fsspec[http]>=2024.6.1,<2026", "importlib_resources>=6.1.1, <7", "numpy>=1.23,<2", "packaging>=20.9,<25", "pandas>=1.0.0,<3", "pyarrow", "pydantic>=2.8.2, <3", "pyjwt>=2.0.0, <3", "pytimeparse>=1.1.8,<2", "pyyaml>=6.0,<7", "retrying>=1.3.3,<2", "s3fs>=2024.6.1,<2026", "scikit-learn<1.6", "scipy>=1.9,<2", "shap>=0.46.0,<1", "snowflake-connector-python[pandas]>=3.14.0,<4", "snowflake-snowpark-python>=1.17.0,<2,!=1.26.0", "snowflake.core>=1.0.2,<2", "sqlparse>=0.4,<1", "typing-extensions>=4.1.0,<5",]
|
12
12
|
[[project.authors]]
|
13
13
|
name = "Snowflake, Inc"
|
14
14
|
email = "support@snowflake.com"
|
@@ -24,15 +24,17 @@ Issues = "https://github.com/snowflakedb/snowflake-ml-python/issues"
|
|
24
24
|
Changelog = "https://github.com/snowflakedb/snowflake-ml-python/blob/master/CHANGELOG.md"
|
25
25
|
|
26
26
|
[project.optional-dependencies]
|
27
|
-
all = [ "catboost>=1.2.0, <2", "keras>=2.0.0,<4", "lightgbm>=4.1.0, <5", "mlflow>=2.16.0, <3", "sentence-transformers>=2.7.0,<4", "sentencepiece>=0.1.95,<0.2.0", "
|
27
|
+
all = [ "altair>=5,<6", "catboost>=1.2.0, <2", "keras>=2.0.0,<4", "lightgbm>=4.1.0, <5", "mlflow>=2.16.0, <3", "sentence-transformers>=2.7.0,<4", "sentencepiece>=0.1.95,<0.2.0", "streamlit>=1.44.0,<2", "tensorflow>=2.17.0,<3", "tokenizers>=0.15.1,<1", "torch>=2.0.1,<3", "torchdata>=0.4,<1", "transformers>=4.39.3,<5", "xgboost>=1.7.3,<3",]
|
28
|
+
altair = [ "altair>=5,<6",]
|
28
29
|
catboost = [ "catboost>=1.2.0, <2",]
|
29
30
|
keras = [ "keras>=2.0.0,<4", "tensorflow>=2.17.0,<3", "torch>=2.0.1,<3",]
|
30
31
|
lightgbm = [ "lightgbm>=4.1.0, <5",]
|
31
32
|
mlflow = [ "mlflow>=2.16.0, <3",]
|
32
|
-
|
33
|
+
streamlit = [ "streamlit>=1.44.0,<2",]
|
33
34
|
tensorflow = [ "tensorflow>=2.17.0,<3",]
|
34
35
|
torch = [ "torch>=2.0.1,<3", "torchdata>=0.4,<1",]
|
35
36
|
transformers = [ "sentence-transformers>=2.7.0,<4", "sentencepiece>=0.1.95,<0.2.0", "tokenizers>=0.15.1,<1", "torch>=2.0.1,<3", "transformers>=4.39.3,<5",]
|
37
|
+
xgboost = [ "xgboost>=1.7.3,<3",]
|
36
38
|
|
37
39
|
[tool.setuptools.package-data]
|
38
40
|
"*" = [ "*",]
|
@@ -1,5 +1,10 @@
|
|
1
1
|
from snowflake.cortex._classify_text import ClassifyText, classify_text
|
2
|
-
from snowflake.cortex._complete import
|
2
|
+
from snowflake.cortex._complete import (
|
3
|
+
Complete,
|
4
|
+
CompleteOptions,
|
5
|
+
ConversationMessage,
|
6
|
+
complete,
|
7
|
+
)
|
3
8
|
from snowflake.cortex._embed_text_768 import EmbedText768, embed_text_768
|
4
9
|
from snowflake.cortex._embed_text_1024 import EmbedText1024, embed_text_1024
|
5
10
|
from snowflake.cortex._extract_answer import ExtractAnswer, extract_answer
|
@@ -14,6 +19,7 @@ __all__ = [
|
|
14
19
|
"Complete",
|
15
20
|
"complete",
|
16
21
|
"CompleteOptions",
|
22
|
+
"ConversationMessage",
|
17
23
|
"EmbedText768",
|
18
24
|
"embed_text_768",
|
19
25
|
"EmbedText1024",
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from typing import
|
1
|
+
from typing import Optional, Union, cast
|
2
2
|
|
3
3
|
from typing_extensions import deprecated
|
4
4
|
|
@@ -12,7 +12,7 @@ from snowflake.ml._internal import telemetry
|
|
12
12
|
)
|
13
13
|
def classify_text(
|
14
14
|
str_input: Union[str, snowpark.Column],
|
15
|
-
categories: Union[
|
15
|
+
categories: Union[list[str], snowpark.Column],
|
16
16
|
session: Optional[snowpark.Session] = None,
|
17
17
|
) -> Union[str, snowpark.Column]:
|
18
18
|
"""Use the LLM inference service to classify the INPUT text into one of the target CATEGORIES.
|
@@ -32,7 +32,7 @@ def classify_text(
|
|
32
32
|
def _classify_text_impl(
|
33
33
|
function: str,
|
34
34
|
str_input: Union[str, snowpark.Column],
|
35
|
-
categories: Union[
|
35
|
+
categories: Union[list[str], snowpark.Column],
|
36
36
|
session: Optional[snowpark.Session] = None,
|
37
37
|
) -> Union[str, snowpark.Column]:
|
38
38
|
return cast(Union[str, snowpark.Column], call_sql_function(function, session, str_input, categories))
|
@@ -3,7 +3,7 @@ import logging
|
|
3
3
|
import time
|
4
4
|
import typing
|
5
5
|
from io import BytesIO
|
6
|
-
from typing import Any, Callable,
|
6
|
+
from typing import Any, Callable, Iterator, Optional, TypedDict, Union, cast
|
7
7
|
from urllib.parse import urlunparse
|
8
8
|
|
9
9
|
import requests
|
@@ -30,7 +30,7 @@ class ResponseFormat(TypedDict):
|
|
30
30
|
|
31
31
|
type: str
|
32
32
|
"""The response format type (e.g. "json")"""
|
33
|
-
schema:
|
33
|
+
schema: dict[str, Any]
|
34
34
|
"""The schema defining the structure of the response. For json it should be a valid json schema object"""
|
35
35
|
|
36
36
|
|
@@ -71,12 +71,11 @@ class CompleteOptions(TypedDict):
|
|
71
71
|
class ResponseParseException(Exception):
|
72
72
|
"""This exception is raised when the server response cannot be parsed."""
|
73
73
|
|
74
|
-
pass
|
75
|
-
|
76
74
|
|
77
75
|
class MidStreamException(Exception):
|
78
76
|
"""The SSE (Server-sent Event) stream can contain error messages in the middle of the stream,
|
79
|
-
using the “error” event type. This exception is raised when there is such a mid-stream error.
|
77
|
+
using the “error” event type. This exception is raised when there is such a mid-stream error.
|
78
|
+
"""
|
80
79
|
|
81
80
|
def __init__(
|
82
81
|
self,
|
@@ -135,7 +134,7 @@ def retry(func: Callable[..., requests.Response]) -> Callable[..., requests.Resp
|
|
135
134
|
return inner
|
136
135
|
|
137
136
|
|
138
|
-
def _make_common_request_headers() ->
|
137
|
+
def _make_common_request_headers() -> dict[str, str]:
|
139
138
|
headers = {
|
140
139
|
"Content-Type": "application/json",
|
141
140
|
"Accept": "application/json, text/event-stream",
|
@@ -143,7 +142,7 @@ def _make_common_request_headers() -> Dict[str, str]:
|
|
143
142
|
return headers
|
144
143
|
|
145
144
|
|
146
|
-
def _get_request_id(resp:
|
145
|
+
def _get_request_id(resp: dict[str, Any]) -> Optional[Any]:
|
147
146
|
request_id = None
|
148
147
|
if "headers" in resp:
|
149
148
|
for key, value in resp["headers"].items():
|
@@ -183,14 +182,14 @@ def _validate_response_format_object(options: CompleteOptions) -> None:
|
|
183
182
|
|
184
183
|
def _make_request_body(
|
185
184
|
model: str,
|
186
|
-
prompt: Union[str,
|
185
|
+
prompt: Union[str, list[ConversationMessage]],
|
187
186
|
options: Optional[CompleteOptions] = None,
|
188
|
-
) ->
|
187
|
+
) -> dict[str, Any]:
|
189
188
|
data = {
|
190
189
|
"model": model,
|
191
190
|
"stream": True,
|
192
191
|
}
|
193
|
-
if isinstance(prompt,
|
192
|
+
if isinstance(prompt, list):
|
194
193
|
data["messages"] = prompt
|
195
194
|
else:
|
196
195
|
data["messages"] = [{"content": prompt}]
|
@@ -217,7 +216,7 @@ def _make_request_body(
|
|
217
216
|
|
218
217
|
# XP endpoint returns a dict response which needs to be converted to a format which can
|
219
218
|
# be consumed by the SSEClient. This method does that.
|
220
|
-
def _xp_dict_to_response(raw_resp:
|
219
|
+
def _xp_dict_to_response(raw_resp: dict[str, Any]) -> requests.Response:
|
221
220
|
|
222
221
|
response = requests.Response()
|
223
222
|
response.status_code = int(raw_resp["status"])
|
@@ -251,9 +250,9 @@ def _xp_dict_to_response(raw_resp: Dict[str, Any]) -> requests.Response:
|
|
251
250
|
|
252
251
|
@retry
|
253
252
|
def _call_complete_xp(
|
254
|
-
snow_api_xp_request_handler: Optional[Callable[...,
|
253
|
+
snow_api_xp_request_handler: Optional[Callable[..., dict[str, Any]]],
|
255
254
|
model: str,
|
256
|
-
prompt: Union[str,
|
255
|
+
prompt: Union[str, list[ConversationMessage]],
|
257
256
|
options: Optional[CompleteOptions] = None,
|
258
257
|
deadline: Optional[float] = None,
|
259
258
|
) -> requests.Response:
|
@@ -267,7 +266,7 @@ def _call_complete_xp(
|
|
267
266
|
@retry
|
268
267
|
def _call_complete_rest(
|
269
268
|
model: str,
|
270
|
-
prompt: Union[str,
|
269
|
+
prompt: Union[str, list[ConversationMessage]],
|
271
270
|
options: Optional[CompleteOptions] = None,
|
272
271
|
session: Optional[snowpark.Session] = None,
|
273
272
|
) -> requests.Response:
|
@@ -340,9 +339,9 @@ def _complete_call_sql_function_snowpark(
|
|
340
339
|
|
341
340
|
|
342
341
|
def _complete_non_streaming_immediate(
|
343
|
-
snow_api_xp_request_handler: Optional[Callable[...,
|
342
|
+
snow_api_xp_request_handler: Optional[Callable[..., dict[str, Any]]],
|
344
343
|
model: str,
|
345
|
-
prompt: Union[str,
|
344
|
+
prompt: Union[str, list[ConversationMessage]],
|
346
345
|
options: Optional[CompleteOptions],
|
347
346
|
session: Optional[snowpark.Session] = None,
|
348
347
|
deadline: Optional[float] = None,
|
@@ -359,10 +358,10 @@ def _complete_non_streaming_immediate(
|
|
359
358
|
|
360
359
|
|
361
360
|
def _complete_non_streaming_impl(
|
362
|
-
snow_api_xp_request_handler: Optional[Callable[...,
|
361
|
+
snow_api_xp_request_handler: Optional[Callable[..., dict[str, Any]]],
|
363
362
|
function: str,
|
364
363
|
model: Union[str, snowpark.Column],
|
365
|
-
prompt: Union[str,
|
364
|
+
prompt: Union[str, list[ConversationMessage], snowpark.Column],
|
366
365
|
options: Optional[Union[CompleteOptions, snowpark.Column]],
|
367
366
|
session: Optional[snowpark.Session] = None,
|
368
367
|
deadline: Optional[float] = None,
|
@@ -389,9 +388,9 @@ def _complete_non_streaming_impl(
|
|
389
388
|
|
390
389
|
|
391
390
|
def _complete_rest(
|
392
|
-
snow_api_xp_request_handler: Optional[Callable[...,
|
391
|
+
snow_api_xp_request_handler: Optional[Callable[..., dict[str, Any]]],
|
393
392
|
model: str,
|
394
|
-
prompt: Union[str,
|
393
|
+
prompt: Union[str, list[ConversationMessage]],
|
395
394
|
options: Optional[CompleteOptions] = None,
|
396
395
|
session: Optional[snowpark.Session] = None,
|
397
396
|
deadline: Optional[float] = None,
|
@@ -414,8 +413,8 @@ def _complete_rest(
|
|
414
413
|
|
415
414
|
def _complete_impl(
|
416
415
|
model: Union[str, snowpark.Column],
|
417
|
-
prompt: Union[str,
|
418
|
-
snow_api_xp_request_handler: Optional[Callable[...,
|
416
|
+
prompt: Union[str, list[ConversationMessage], snowpark.Column],
|
417
|
+
snow_api_xp_request_handler: Optional[Callable[..., dict[str, Any]]] = None,
|
419
418
|
function: str = "snowflake.cortex.complete",
|
420
419
|
options: Optional[CompleteOptions] = None,
|
421
420
|
session: Optional[snowpark.Session] = None,
|
@@ -430,7 +429,7 @@ def _complete_impl(
|
|
430
429
|
if stream:
|
431
430
|
if not isinstance(model, str):
|
432
431
|
raise ValueError("in REST mode, 'model' must be a string")
|
433
|
-
if not isinstance(prompt, str) and not isinstance(prompt,
|
432
|
+
if not isinstance(prompt, str) and not isinstance(prompt, list):
|
434
433
|
raise ValueError("in REST mode, 'prompt' must be a string or a list of ConversationMessage")
|
435
434
|
return _complete_rest(
|
436
435
|
snow_api_xp_request_handler=snow_api_xp_request_handler,
|
@@ -456,7 +455,7 @@ def _complete_impl(
|
|
456
455
|
)
|
457
456
|
def complete(
|
458
457
|
model: Union[str, snowpark.Column],
|
459
|
-
prompt: Union[str,
|
458
|
+
prompt: Union[str, list[ConversationMessage], snowpark.Column],
|
460
459
|
*,
|
461
460
|
options: Optional[CompleteOptions] = None,
|
462
461
|
session: Optional[snowpark.Session] = None,
|
{snowflake_ml_python-1.8.2 → snowflake_ml_python-1.8.4}/snowflake/cortex/_embed_text_1024.py
RENAMED
@@ -1,4 +1,4 @@
|
|
1
|
-
from typing import
|
1
|
+
from typing import Optional, Union, cast
|
2
2
|
|
3
3
|
from typing_extensions import deprecated
|
4
4
|
|
@@ -14,7 +14,7 @@ def embed_text_1024(
|
|
14
14
|
model: Union[str, snowpark.Column],
|
15
15
|
text: Union[str, snowpark.Column],
|
16
16
|
session: Optional[snowpark.Session] = None,
|
17
|
-
) -> Union[
|
17
|
+
) -> Union[list[float], snowpark.Column]:
|
18
18
|
"""Calls into the LLM inference service to embed the text.
|
19
19
|
|
20
20
|
Args:
|
@@ -35,8 +35,8 @@ def _embed_text_1024_impl(
|
|
35
35
|
model: Union[str, snowpark.Column],
|
36
36
|
text: Union[str, snowpark.Column],
|
37
37
|
session: Optional[snowpark.Session] = None,
|
38
|
-
) -> Union[
|
39
|
-
return cast(Union[
|
38
|
+
) -> Union[list[float], snowpark.Column]:
|
39
|
+
return cast(Union[list[float], snowpark.Column], call_sql_function(function, session, model, text))
|
40
40
|
|
41
41
|
|
42
42
|
EmbedText1024 = deprecated(
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from typing import
|
1
|
+
from typing import Optional, Union, cast
|
2
2
|
|
3
3
|
from typing_extensions import deprecated
|
4
4
|
|
@@ -14,7 +14,7 @@ def embed_text_768(
|
|
14
14
|
model: Union[str, snowpark.Column],
|
15
15
|
text: Union[str, snowpark.Column],
|
16
16
|
session: Optional[snowpark.Session] = None,
|
17
|
-
) -> Union[
|
17
|
+
) -> Union[list[float], snowpark.Column]:
|
18
18
|
"""Calls into the LLM inference service to embed the text.
|
19
19
|
|
20
20
|
Args:
|
@@ -35,8 +35,8 @@ def _embed_text_768_impl(
|
|
35
35
|
model: Union[str, snowpark.Column],
|
36
36
|
text: Union[str, snowpark.Column],
|
37
37
|
session: Optional[snowpark.Session] = None,
|
38
|
-
) -> Union[
|
39
|
-
return cast(Union[
|
38
|
+
) -> Union[list[float], snowpark.Column]:
|
39
|
+
return cast(Union[list[float], snowpark.Column], call_sql_function(function, session, model, text))
|
40
40
|
|
41
41
|
|
42
42
|
EmbedText768 = deprecated(
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import json
|
2
2
|
from dataclasses import dataclass
|
3
|
-
from typing import Any,
|
3
|
+
from typing import Any, Optional, Union, cast
|
4
4
|
|
5
5
|
from snowflake import snowpark
|
6
6
|
from snowflake.cortex._util import (
|
@@ -53,7 +53,7 @@ class FinetuneStatus:
|
|
53
53
|
created_on: Optional[int] = None
|
54
54
|
"""Creation timestamp of the Fine-tuning job in milliseconds."""
|
55
55
|
|
56
|
-
error: Optional[
|
56
|
+
error: Optional[dict[str, Any]] = None
|
57
57
|
"""Error message propagated from the job."""
|
58
58
|
|
59
59
|
finished_on: Optional[int] = None
|
@@ -62,7 +62,7 @@ class FinetuneStatus:
|
|
62
62
|
progress: Optional[float] = None
|
63
63
|
"""Progress made as a fraction of total [0.0,1.0]."""
|
64
64
|
|
65
|
-
training_result: Optional[
|
65
|
+
training_result: Optional[list[dict[str, Any]]] = None
|
66
66
|
"""Detailed metrics report for a completed training."""
|
67
67
|
|
68
68
|
trained_tokens: Optional[int] = None
|
@@ -135,7 +135,7 @@ class FinetuneJob:
|
|
135
135
|
"""
|
136
136
|
result_string = _finetune_impl(operation="DESCRIBE", session=self._session, function_args=[self.status.id])
|
137
137
|
|
138
|
-
result = FinetuneStatus(**cast(
|
138
|
+
result = FinetuneStatus(**cast(dict[str, Any], _try_load_json(result_string)))
|
139
139
|
return result
|
140
140
|
|
141
141
|
|
@@ -167,7 +167,7 @@ class Finetune:
|
|
167
167
|
base_model: str,
|
168
168
|
training_data: Union[str, snowpark.DataFrame],
|
169
169
|
validation_data: Optional[Union[str, snowpark.DataFrame]] = None,
|
170
|
-
options: Optional[
|
170
|
+
options: Optional[dict[str, Any]] = None,
|
171
171
|
) -> FinetuneJob:
|
172
172
|
"""Create a new fine-tuning runs.
|
173
173
|
|
@@ -240,7 +240,7 @@ class Finetune:
|
|
240
240
|
project=CORTEX_FUNCTIONS_TELEMETRY_PROJECT,
|
241
241
|
subproject=CORTEX_FINETUNE_TELEMETRY_SUBPROJECT,
|
242
242
|
)
|
243
|
-
def list_jobs(self) ->
|
243
|
+
def list_jobs(self) -> list["FinetuneJob"]:
|
244
244
|
"""Show current and past fine-tuning runs.
|
245
245
|
|
246
246
|
Returns:
|
@@ -253,7 +253,7 @@ class Finetune:
|
|
253
253
|
return [FinetuneJob(session=self._session, status=FinetuneStatus(**run_status)) for run_status in result]
|
254
254
|
|
255
255
|
|
256
|
-
def _try_load_json(json_string: str) -> Union[
|
256
|
+
def _try_load_json(json_string: str) -> Union[dict[Any, Any], list[Any]]:
|
257
257
|
try:
|
258
258
|
result = json.loads(str(json_string))
|
259
259
|
except json.JSONDecodeError as e:
|
@@ -269,5 +269,5 @@ def _try_load_json(json_string: str) -> Union[Dict[Any, Any], List[Any]]:
|
|
269
269
|
return result
|
270
270
|
|
271
271
|
|
272
|
-
def _finetune_impl(operation: str, session: Optional[snowpark.Session], function_args:
|
272
|
+
def _finetune_impl(operation: str, session: Optional[snowpark.Session], function_args: list[Any]) -> str:
|
273
273
|
return call_sql_function_literals(_CORTEX_FINETUNE_SYSTEM_FUNCTION_NAME, session, operation, *function_args)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from typing import Any,
|
1
|
+
from typing import Any, Optional, Union, cast
|
2
2
|
|
3
3
|
from snowflake import snowpark
|
4
4
|
from snowflake.ml._internal.exceptions import error_codes, exceptions
|
@@ -11,22 +11,18 @@ CORTEX_FUNCTIONS_TELEMETRY_PROJECT = "CortexFunctions"
|
|
11
11
|
class SnowflakeAuthenticationException(Exception):
|
12
12
|
"""This exception is raised when there is an issue with Snowflake's configuration."""
|
13
13
|
|
14
|
-
pass
|
15
|
-
|
16
14
|
|
17
15
|
class SnowflakeConfigurationException(Exception):
|
18
16
|
"""This exception is raised when there is an issue with Snowflake's configuration."""
|
19
17
|
|
20
|
-
pass
|
21
|
-
|
22
18
|
|
23
19
|
# Calls a sql function, handling both immediate (e.g. python types) and batch
|
24
20
|
# (e.g. snowpark column and literal type modes).
|
25
21
|
def call_sql_function(
|
26
22
|
function: str,
|
27
23
|
session: Optional[snowpark.Session],
|
28
|
-
*args: Union[str,
|
29
|
-
) -> Union[str,
|
24
|
+
*args: Union[str, list[str], snowpark.Column, dict[str, Union[int, float]]],
|
25
|
+
) -> Union[str, list[float], snowpark.Column]:
|
30
26
|
handle_as_column = False
|
31
27
|
|
32
28
|
for arg in args:
|
@@ -34,15 +30,15 @@ def call_sql_function(
|
|
34
30
|
handle_as_column = True
|
35
31
|
|
36
32
|
if handle_as_column:
|
37
|
-
return cast(Union[str,
|
33
|
+
return cast(Union[str, list[float], snowpark.Column], _call_sql_function_column(function, *args))
|
38
34
|
return cast(
|
39
|
-
Union[str,
|
35
|
+
Union[str, list[float], snowpark.Column],
|
40
36
|
_call_sql_function_immediate(function, session, *args),
|
41
37
|
)
|
42
38
|
|
43
39
|
|
44
40
|
def _call_sql_function_column(
|
45
|
-
function: str, *args: Union[str,
|
41
|
+
function: str, *args: Union[str, list[str], snowpark.Column, dict[str, Union[int, float]]]
|
46
42
|
) -> snowpark.Column:
|
47
43
|
return cast(snowpark.Column, functions.builtin(function)(*args))
|
48
44
|
|
@@ -50,8 +46,8 @@ def _call_sql_function_column(
|
|
50
46
|
def _call_sql_function_immediate(
|
51
47
|
function: str,
|
52
48
|
session: Optional[snowpark.Session],
|
53
|
-
*args: Union[str,
|
54
|
-
) -> Union[str,
|
49
|
+
*args: Union[str, list[str], snowpark.Column, dict[str, Union[int, float]]],
|
50
|
+
) -> Union[str, list[float]]:
|
55
51
|
session = session or context.get_active_session()
|
56
52
|
if session is None:
|
57
53
|
raise SnowflakeAuthenticationException(
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import os
|
2
|
+
import platform
|
3
|
+
|
4
|
+
SOURCE = "SnowML"
|
5
|
+
PYTHON_VERSION = platform.python_version()
|
6
|
+
OS = platform.system()
|
7
|
+
IN_ML_RUNTIME_ENV_VAR = "IN_SPCS_ML_RUNTIME"
|
8
|
+
IN_ML_RUNTIME = os.getenv(IN_ML_RUNTIME_ENV_VAR)
|
9
|
+
USE_OPTIMIZED_DATA_INGESTOR = "USE_OPTIMIZED_DATA_INGESTOR"
|