snowflake-ml-python 2.2.0__tar.gz → 2.4.0__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-2.2.0 → snowflake_ml_python-2.4.0}/CHANGELOG.md +66 -10
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/PKG-INFO +71 -13
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/README.md +1 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/pyproject.toml +2 -2
- snowflake_ml_python-2.4.0/snowflake/cortex/_classify_text.py +93 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/cortex/_complete.py +41 -9
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/cortex/_embed_text_1024.py +11 -5
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/cortex/_embed_text_768.py +11 -5
- snowflake_ml_python-2.4.0/snowflake/cortex/_extract_answer.py +85 -0
- snowflake_ml_python-2.4.0/snowflake/cortex/_sentiment.py +78 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/cortex/_summarize.py +11 -5
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/cortex/_translate.py +11 -5
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/cortex/_util.py +35 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/experiment/_entities/run.py +14 -6
- snowflake_ml_python-2.4.0/snowflake/ml/experiment/callback/catboost.py +75 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/experiment/experiment_tracking.py +41 -24
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/feature_store.py +55 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/tile_sql_generator.py +40 -31
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/jobs/job.py +19 -3
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_client/model/batch_inference_job_specs.py +81 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_client/model/batch_inference_task.py +24 -6
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_client/model/model_version_impl.py +97 -5
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_client/ops/model_ops.py +253 -6
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_client/ops/service_ops.py +5 -4
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_client/service/inference_job_service_spec.py +1 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_client/sql/model.py +11 -3
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_signatures/core.py +9 -4
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/model_signature.py +85 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/_internal/model_specifications.py +10 -4
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +0 -2
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/cluster/affinity_propagation.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/cluster/agglomerative_clustering.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/cluster/birch.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/cluster/bisecting_k_means.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/cluster/dbscan.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/cluster/feature_agglomeration.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/cluster/k_means.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/cluster/mean_shift.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/cluster/mini_batch_k_means.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/cluster/optics.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/cluster/spectral_biclustering.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/cluster/spectral_clustering.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/cluster/spectral_coclustering.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/compose/column_transformer.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/compose/transformed_target_regressor.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/covariance/elliptic_envelope.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/covariance/empirical_covariance.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/covariance/graphical_lasso.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/covariance/graphical_lasso_cv.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/covariance/ledoit_wolf.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/covariance/min_cov_det.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/covariance/oas.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/covariance/shrunk_covariance.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/decomposition/dictionary_learning.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/decomposition/factor_analysis.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/decomposition/fast_ica.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/decomposition/incremental_pca.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/decomposition/kernel_pca.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/decomposition/pca.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/decomposition/sparse_pca.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/decomposition/truncated_svd.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/discriminant_analysis/quadratic_discriminant_analysis.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/ensemble/ada_boost_classifier.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/ensemble/ada_boost_regressor.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/ensemble/bagging_classifier.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/ensemble/bagging_regressor.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/ensemble/extra_trees_classifier.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/ensemble/extra_trees_regressor.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/ensemble/isolation_forest.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/ensemble/random_forest_classifier.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/ensemble/random_forest_regressor.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/ensemble/stacking_regressor.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/ensemble/voting_classifier.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/ensemble/voting_regressor.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/feature_selection/generic_univariate_select.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/feature_selection/select_fdr.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/feature_selection/select_fpr.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/feature_selection/select_fwe.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/feature_selection/select_k_best.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/feature_selection/select_percentile.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/feature_selection/variance_threshold.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_classifier.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_regressor.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/impute/iterative_imputer.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/impute/knn_imputer.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/impute/missing_indicator.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/kernel_approximation/additive_chi2_sampler.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/kernel_approximation/nystroem.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/kernel_approximation/polynomial_count_sketch.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/kernel_approximation/rbf_sampler.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/lightgbm/lgbm_classifier.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/lightgbm/lgbm_regressor.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/ard_regression.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/bayesian_ridge.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/elastic_net.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/elastic_net_cv.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/gamma_regressor.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/huber_regressor.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/lars.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/lars_cv.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/lasso.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/lasso_cv.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/lasso_lars.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/lasso_lars_cv.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/lasso_lars_ic.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/linear_regression.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/logistic_regression.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/logistic_regression_cv.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net_cv.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/multi_task_lasso.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/perceptron.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/poisson_regressor.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/ransac_regressor.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/ridge.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/ridge_classifier.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/ridge_cv.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/sgd_classifier.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/sgd_regressor.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/theil_sen_regressor.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/tweedie_regressor.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/manifold/isomap.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/manifold/mds.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/manifold/spectral_embedding.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/manifold/tsne.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/metrics/classification.py +1 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/metrics/metrics_utils.py +6 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/metrics/ranking.py +3 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/metrics/regression.py +3 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/mixture/bayesian_gaussian_mixture.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/mixture/gaussian_mixture.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/model_selection/grid_search_cv.py +2 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/model_selection/randomized_search_cv.py +2 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/multiclass/one_vs_one_classifier.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/multiclass/one_vs_rest_classifier.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/multiclass/output_code_classifier.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/naive_bayes/categorical_nb.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/naive_bayes/complement_nb.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/naive_bayes/gaussian_nb.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/naive_bayes/multinomial_nb.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/neighbors/kernel_density.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/neighbors/local_outlier_factor.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/neighbors/nearest_centroid.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/neighbors/nearest_neighbors.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/neighbors/neighborhood_components_analysis.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/neural_network/bernoulli_rbm.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/neural_network/mlp_classifier.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/neural_network/mlp_regressor.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/pipeline/pipeline.py +6 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/preprocessing/polynomial_features.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/semi_supervised/label_propagation.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/semi_supervised/label_spreading.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/svm/linear_svc.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/svm/linear_svr.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/svm/nu_svc.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/svm/nu_svr.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/svm/svc.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/svm/svr.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/tree/decision_tree_classifier.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/tree/decision_tree_regressor.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/tree/extra_tree_classifier.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/tree/extra_tree_regressor.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/xgboost/xgb_classifier.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/xgboost/xgb_regressor.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/xgboost/xgbrf_classifier.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/xgboost/xgbrf_regressor.py +2 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/registry/_manager/model_manager.py +78 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/registry/_manager/model_parameter_reconciler.py +7 -7
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/version.py +1 -1
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake_ml_python.egg-info/PKG-INFO +71 -13
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake_ml_python.egg-info/SOURCES.txt +1 -0
- snowflake_ml_python-2.2.0/snowflake/cortex/_classify_text.py +0 -47
- snowflake_ml_python-2.2.0/snowflake/cortex/_extract_answer.py +0 -43
- snowflake_ml_python-2.2.0/snowflake/cortex/_sentiment.py +0 -38
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/LICENSE.txt +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/setup.cfg +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/cortex/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/cortex/_finetune.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/cortex/_sse_client.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/env.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/env_utils.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/exceptions/dataset_error_messages.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/exceptions/dataset_errors.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/exceptions/error_codes.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/exceptions/error_messages.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/exceptions/exceptions.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/exceptions/fileset_error_messages.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/exceptions/fileset_errors.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/exceptions/modeling_error_messages.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/exceptions/sql_error_codes.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/file_utils.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/human_readable_id/adjectives.txt +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/human_readable_id/animals.txt +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/human_readable_id/hrid_generator.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/human_readable_id/hrid_generator_base.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/init_utils.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/lineage/lineage_utils.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/migrator_utils.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/platform_capabilities.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/relax_version_strategy.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/telemetry.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/type_utils.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/utils/connection_params.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/utils/db_utils.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/utils/formatting.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/utils/identifier.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/utils/import_utils.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/utils/jwt_generator.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/utils/mixins.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/utils/parallelize.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/utils/pkg_version_utils.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/utils/query_result_checker.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/utils/result.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/utils/service_logger.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/utils/snowflake_env.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/utils/snowpark_dataframe_utils.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/utils/sql_identifier.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/utils/table_manager.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/utils/tee.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/utils/temp_file_utils.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/_internal/utils/url.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/data/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/data/_internal/arrow_ingestor.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/data/data_connector.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/data/data_ingestor.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/data/data_source.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/data/ingestor_utils.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/data/torch_utils.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/dataset/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/dataset/dataset.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/dataset/dataset_factory.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/dataset/dataset_metadata.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/dataset/dataset_reader.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/experiment/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/experiment/_client/artifact.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/experiment/_client/experiment_tracking_sql_client.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/experiment/_entities/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/experiment/_entities/experiment.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/experiment/_entities/run_metadata.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/experiment/_experiment_info.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/experiment/_logging/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/experiment/_logging/experiment_logger.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/experiment/_logging/experiment_logging_context.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/experiment/_source_info.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/experiment/callback/keras.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/experiment/callback/lightgbm.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/experiment/callback/xgboost.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/experiment/utils.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/_compute_fn_validation.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/access_manager.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/aggregation.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/entity.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/examples/airline_features/entities.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/examples/airline_features/features/plane_features.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/examples/airline_features/features/weather_features.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/examples/airline_features/source.yaml +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/examples/citibike_trip_features/entities.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/station_feature.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/trip_feature.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/examples/citibike_trip_features/source.yaml +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/examples/example_helper.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/entities.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/location_features.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/trip_features.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/source.yaml +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/examples/source_data/airline.yaml +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/examples/source_data/citibike_trips.yaml +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/examples/source_data/fraud_transactions.yaml +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/examples/source_data/nyc_yellow_trips.yaml +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/examples/source_data/winequality_red.yaml +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/examples/wine_quality_features/entities.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/managed_wine_features.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/static_wine_features.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/examples/wine_quality_features/source.yaml +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/feature.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/feature_group.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/feature_view.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/feature_view_append_only_validation.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/feature_view_refresh_freq.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/interval_utils.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/metadata_manager.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/online_service.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/online_service_http_client.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/realtime_config.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/realtime_dataset.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/realtime_dataset_udf.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/realtime_registration.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/request_source.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/spec/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/spec/builder.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/spec/enums.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/spec/models.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/spec/table_schema_evolution.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/stream_config.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/stream_source.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/feature_store/streaming_registration.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/fileset/embedded_stage_fs.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/fileset/fileset.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/fileset/sfcfs.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/fileset/snowfs.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/fileset/stage_fs.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/jobs/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/jobs/_interop/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/jobs/_interop/data_utils.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/jobs/_interop/dto_schema.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/jobs/_interop/exception_utils.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/jobs/_interop/legacy.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/jobs/_interop/protocols.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/jobs/_interop/results.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/jobs/_interop/utils.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/jobs/_utils/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/jobs/_utils/arg_protocol.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/jobs/_utils/constants.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/jobs/_utils/feature_flags.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/jobs/_utils/payload_utils.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/jobs/_utils/query_helper.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/jobs/_utils/runtime_env_utils.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/jobs/_utils/scripts/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/jobs/_utils/scripts/constants.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/jobs/_utils/scripts/get_instance_ip.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/jobs/_utils/scripts/mljob_launcher.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/jobs/_utils/scripts/signal_workers.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/jobs/_utils/scripts/start_mlruntime.sh +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/jobs/_utils/scripts/startup.sh +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/jobs/_utils/scripts/worker_shutdown_listener.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/jobs/_utils/stage_utils.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/jobs/_utils/type_utils.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/jobs/decorators.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/jobs/job_definition.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/jobs/manager.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/lineage/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/lineage/lineage_node.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_client/model/_loaded_model_telemetry.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_client/model/inference_engine_utils.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_client/model/model_impl.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_client/model/telemetry_params.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_client/model_spec/legacy_model_spec.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_client/model_spec/model_extension_spec.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_client/model_spec/model_extension_spec_schema.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_client/model_spec/model_spec.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_client/model_spec/model_spec_parser.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_client/ops/deployment_step.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_client/ops/live_commit_naming.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_client/ops/metadata_ops.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_client/ops/param_ops.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_client/ops/param_utils.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_client/service/import_model_spec_schema.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_client/service/model_deployment_spec.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_client/service/model_deployment_spec_schema.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_client/sql/_base.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_client/sql/model_version.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_client/sql/service.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_client/sql/stage.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_client/sql/tag.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_model_composer/huggingface_lazy_uploader.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_model_composer/model_composer.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_model_composer/model_method/constants.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_model_composer/model_method/function_generator.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_model_composer/model_method/infer_function.py_template +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_model_composer/model_method/infer_function_init_once.py_template +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_model_composer/model_method/infer_partitioned.py_template +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_model_composer/model_method/infer_partitioned_init_once.py_template +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_model_composer/model_method/infer_table_function.py_template +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_model_composer/model_method/infer_table_function_init_once.py_template +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_model_composer/model_method/model_method.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_model_composer/model_method/utils.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_model_composer/model_user_file/model_user_file.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_env/model_env.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handler.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/_base.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/_utils.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/catboost.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/custom.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/huggingface/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_default.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_handler.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_openai_chat_wrapper.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_task_handler.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_utils.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/huggingface/audio_classification.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/huggingface/audio_text_to_text.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/huggingface/automatic_speech_recognition.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/huggingface/conversational.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/huggingface/document_question_answering.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/huggingface/fill_mask.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_classification.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_feature_extraction.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_text_to_text.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_to_text.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/huggingface/object_detection.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/huggingface/question_answering.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/huggingface/summarization.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/huggingface/table_question_answering.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/huggingface/text2text_generation.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/huggingface/text_classification.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/huggingface/text_generation.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/huggingface/token_classification.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/huggingface/translation.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/huggingface/video_classification.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/huggingface/video_text_to_text.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/huggingface/visual_question_answering.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_audio_classification.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_image_classification.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_object_detection.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_text_classification.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/keras.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/lightgbm.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/mlflow.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/peft_adapter.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/prophet.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/pytorch.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/sentence_transformers.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/sklearn.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/snowmlmodel.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/tensorflow.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/torchscript.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers/xgboost.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers_migrator/base_migrator.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers_migrator/pytorch_migrator_2023_12_01.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2023_12_01.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2025_01_01.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_handlers_migrator/torchscript_migrator_2023_12_01.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_meta/model_blob_meta.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_meta/model_meta.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_meta/model_meta_schema.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_meta/model_sample_input_data.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_meta_migrator/base_migrator.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_v1.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_packager.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_runtime/model_runtime.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_save_options.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_packager/model_task/model_task_utils.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_signatures/base_handler.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_signatures/builtins_handler.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_signatures/dmatrix_handler.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_signatures/numpy_handler.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_signatures/pandas_handler.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_signatures/pytorch_handler.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_signatures/snowpark_handler.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_signatures/tensorflow_handler.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/_signatures/utils.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/batch_inference/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/code_path.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/compute_pool.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/custom_model.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/event_handler.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/inference_engine.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/models/huggingface.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/models/huggingface_pipeline.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/openai_signatures.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/target_platform.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/task.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/type_hints.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/model/volatility.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/_internal/estimator_utils.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_trainer.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/_internal/model_trainer.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/_internal/model_trainer_builder.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/_internal/model_transformer_builder.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/_internal/optional_dependency.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_search_udf_file.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_trainer.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/_internal/snowpark_implementations/xgboost_external_memory_trainer.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/_internal/transformer_protocols.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/calibration/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/cluster/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/compose/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/covariance/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/decomposition/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/discriminant_analysis/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/ensemble/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/feature_selection/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/framework/_utils.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/framework/base.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/gaussian_process/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/impute/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/impute/simple_imputer.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/kernel_approximation/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/kernel_ridge/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/lightgbm/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/linear_model/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/manifold/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/metrics/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/metrics/correlation.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/metrics/covariance.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/mixture/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/model_selection/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/multiclass/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/naive_bayes/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/neighbors/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/neural_network/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/parameters/disable_distributed_hpo.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/parameters/disable_model_tracer.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/parameters/enable_anonymous_sproc.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/pipeline/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/preprocessing/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/preprocessing/binarizer.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/preprocessing/k_bins_discretizer.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/preprocessing/label_encoder.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/preprocessing/max_abs_scaler.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/preprocessing/min_max_scaler.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/preprocessing/normalizer.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/preprocessing/one_hot_encoder.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/preprocessing/ordinal_encoder.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/preprocessing/robust_scaler.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/preprocessing/standard_scaler.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/semi_supervised/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/svm/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/tree/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/modeling/xgboost/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/monitoring/_client/model_monitor_sql_client.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/monitoring/_client/queries/record_count.ssql +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/monitoring/_client/queries/rmse.ssql +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/monitoring/_manager/model_monitor_manager.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/monitoring/entities/model_monitor_config.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/monitoring/explain_visualize.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/monitoring/model_monitor.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/monitoring/shap.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/registry/__init__.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/registry/registry.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/utils/authentication.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/utils/html_utils.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/utils/sparse.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/utils/sql_client.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/ml/utils/stage_file.py +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake_ml_python.egg-info/dependency_links.txt +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake_ml_python.egg-info/requires.txt +0 -0
- {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake_ml_python.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,62 @@
|
|
|
1
1
|
# Release History
|
|
2
2
|
|
|
3
|
-
## 2.
|
|
3
|
+
## 2.4.0
|
|
4
|
+
|
|
5
|
+
### New Features
|
|
6
|
+
|
|
7
|
+
* Generic: Support Python 3.14.
|
|
8
|
+
|
|
9
|
+
* Registry: `FeatureSpec(dtype=DataType.OBJECT)` now accepts schema-free Python dictionaries as a
|
|
10
|
+
model input or output (SQL `OBJECT`). Callers can pass a dict to `ModelVersion.run`, an object
|
|
11
|
+
literal in SQL, or a JSON object over REST, without stringifying to JSON. Use `shape=(-1,)` for
|
|
12
|
+
a list of dictionaries (`ARRAY(OBJECT)`). Closed structs with a fixed field list remain
|
|
13
|
+
`FeatureGroupSpec`.
|
|
14
|
+
|
|
15
|
+
* Experiment Tracking: Added `snowflake.ml.experiment.callback.catboost.SnowflakeCatboostCallback`, a
|
|
16
|
+
CatBoost training callback that logs metrics and, optionally, parameters to a Snowflake experiment.
|
|
17
|
+
Pass `params=model.get_params()` to log parameters. Model logging is handled separately after
|
|
18
|
+
training via ``ExperimentTracking.log_model``.
|
|
19
|
+
|
|
20
|
+
* Experiment Tracking: `ExperimentTracking` accepts an optional `warnings_as_errors` parameter. When True,
|
|
21
|
+
conditions that are normally reported as warnings are raised instead.
|
|
22
|
+
|
|
23
|
+
### Bug Fixes
|
|
24
|
+
|
|
25
|
+
### Behavior Changes
|
|
26
|
+
|
|
27
|
+
* Experiment Tracking: Re-constructing the `ExperimentTracking` singleton now logs an informational
|
|
28
|
+
message instead of emitting a `UserWarning`.
|
|
29
|
+
|
|
30
|
+
* Registry: `log_model` no longer raises when `options={'relax_version': True}` is used with pip
|
|
31
|
+
requirements or Snowpark Container Services-only targets. The option is ignored, a warning is
|
|
32
|
+
emitted, and exact pip version specifications are kept.
|
|
33
|
+
|
|
34
|
+
### Deprecations
|
|
35
|
+
|
|
36
|
+
## 2.3.0 (2026-09-28)
|
|
37
|
+
|
|
38
|
+
### New Features
|
|
39
|
+
|
|
40
|
+
* Experiment Tracking: `ExperimentTracking` accepts an optional `model_registry` parameter. When provided,
|
|
41
|
+
`log_model` stores models in the registry's database and schema instead of the experiment's, so experiments
|
|
42
|
+
and models can live in separate schemas.
|
|
43
|
+
|
|
44
|
+
### Bug Fixes
|
|
45
|
+
|
|
46
|
+
* Feature Store: Offline reads of a feature view with several list aggregations or several secondary-key
|
|
47
|
+
aggregation windows used to return incomplete results in some scenarios. The bug has been fixed
|
|
48
|
+
and the existing feature views pick up the fix on their next read, with no re-registration or backfill required.
|
|
49
|
+
|
|
50
|
+
### Behavior Changes
|
|
51
|
+
|
|
52
|
+
* Feature Store: `update_feature_view()` now rejects a `target_lag` change on a feature view whose online store
|
|
53
|
+
is `POSTGRES`, instead of reporting success for a change that is not applied. Set `target_lag` when online
|
|
54
|
+
storage is first enabled, or delete and re-register the feature view to change it. Enabling or disabling
|
|
55
|
+
online storage, and `target_lag` changes on hybrid-table online stores, are unaffected.
|
|
56
|
+
|
|
57
|
+
### Deprecations
|
|
58
|
+
|
|
59
|
+
## 2.2.0 (2026-09-21)
|
|
4
60
|
|
|
5
61
|
### New Features
|
|
6
62
|
|
|
@@ -14,8 +70,17 @@
|
|
|
14
70
|
|
|
15
71
|
### Bug Fixes
|
|
16
72
|
|
|
73
|
+
* Registry: `ModelVersion.load()` now compares the model owner to `CURRENT_ROLE()` (the role that
|
|
74
|
+
executes SQL) instead of `Session.get_current_role()`. Owner's-rights Streamlit apps and
|
|
75
|
+
`EXECUTE AS OWNER` procedures can load when statements run as the owner even if the caller's
|
|
76
|
+
primary role is not the owner.
|
|
77
|
+
|
|
17
78
|
### Behavior Changes
|
|
18
79
|
|
|
80
|
+
* Dependencies: `scipy` is no longer a required dependency of `snowflake-ml-python`. It is still
|
|
81
|
+
installed transitively with `pip install snowflake-ml-python[scikit-learn]`. Direct `scipy` usage
|
|
82
|
+
in `snowflake.ml.modeling.preprocessing` already requires that extra.
|
|
83
|
+
|
|
19
84
|
### Deprecations
|
|
20
85
|
|
|
21
86
|
## 2.1.0 (2026-09-14)
|
|
@@ -37,21 +102,12 @@
|
|
|
37
102
|
|
|
38
103
|
### Bug Fixes
|
|
39
104
|
|
|
40
|
-
* Registry: `ModelVersion.load()` now compares the model owner to `CURRENT_ROLE()` (the role that
|
|
41
|
-
executes SQL) instead of `Session.get_current_role()`. Owner's-rights Streamlit apps and
|
|
42
|
-
`EXECUTE AS OWNER` procedures can load when statements run as the owner even if the caller's
|
|
43
|
-
primary role is not the owner.
|
|
44
|
-
|
|
45
105
|
* Registry: Fixed logging of MLflow models created with `mlflow.sklearn.save_model()`. The model is
|
|
46
106
|
now re-logged from the scikit-learn estimator using the serialization format it was saved with,
|
|
47
107
|
instead of from MLflow's PyFunc wrapper with the version-dependent default format.
|
|
48
108
|
|
|
49
109
|
### Behavior Changes
|
|
50
110
|
|
|
51
|
-
* Dependencies: `scipy` is no longer a required dependency of `snowflake-ml-python`. It is still
|
|
52
|
-
installed transitively with `pip install snowflake-ml-python[scikit-learn]`. Direct `scipy` usage
|
|
53
|
-
in `snowflake.ml.modeling.preprocessing` already requires that extra.
|
|
54
|
-
|
|
55
111
|
### Deprecations
|
|
56
112
|
|
|
57
113
|
## 2.0.0 (2026-09-09)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: snowflake-ml-python
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.4.0
|
|
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:
|
|
@@ -223,13 +223,15 @@ Classifier: Operating System :: OS Independent
|
|
|
223
223
|
Classifier: Programming Language :: Python :: 3.10
|
|
224
224
|
Classifier: Programming Language :: Python :: 3.11
|
|
225
225
|
Classifier: Programming Language :: Python :: 3.12
|
|
226
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
227
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
226
228
|
Classifier: Topic :: Database
|
|
227
229
|
Classifier: Topic :: Software Development
|
|
228
230
|
Classifier: Topic :: Software Development :: Libraries
|
|
229
231
|
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
230
232
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
231
233
|
Classifier: Topic :: Scientific/Engineering :: Information Analysis
|
|
232
|
-
Requires-Python: <3.
|
|
234
|
+
Requires-Python: <3.15,>=3.10
|
|
233
235
|
Description-Content-Type: text/markdown
|
|
234
236
|
License-File: LICENSE.txt
|
|
235
237
|
Requires-Dist: anyio<5,>=3.5.0
|
|
@@ -378,7 +380,7 @@ In Snowflake Warehouse notebook environments, snowflake-ml-python can be install
|
|
|
378
380
|
Follow the [installation instructions](https://docs.snowflake.com/en/developer-guide/snowpark-ml/index#installing-snowpark-ml)
|
|
379
381
|
in the Snowflake documentation.
|
|
380
382
|
|
|
381
|
-
Python versions 3.10 to 3.
|
|
383
|
+
Python versions 3.10 to 3.14 are supported. You can use [miniconda](https://docs.conda.io/en/latest/miniconda.html) or
|
|
382
384
|
[anaconda](https://www.anaconda.com/) to create a Conda environment (recommended),
|
|
383
385
|
or [virtualenv](https://docs.python.org/3/tutorial/venv.html) to create a virtual environment.
|
|
384
386
|
|
|
@@ -424,7 +426,63 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
|
|
|
424
426
|
|
|
425
427
|
# Release History
|
|
426
428
|
|
|
427
|
-
## 2.
|
|
429
|
+
## 2.4.0
|
|
430
|
+
|
|
431
|
+
### New Features
|
|
432
|
+
|
|
433
|
+
* Generic: Support Python 3.14.
|
|
434
|
+
|
|
435
|
+
* Registry: `FeatureSpec(dtype=DataType.OBJECT)` now accepts schema-free Python dictionaries as a
|
|
436
|
+
model input or output (SQL `OBJECT`). Callers can pass a dict to `ModelVersion.run`, an object
|
|
437
|
+
literal in SQL, or a JSON object over REST, without stringifying to JSON. Use `shape=(-1,)` for
|
|
438
|
+
a list of dictionaries (`ARRAY(OBJECT)`). Closed structs with a fixed field list remain
|
|
439
|
+
`FeatureGroupSpec`.
|
|
440
|
+
|
|
441
|
+
* Experiment Tracking: Added `snowflake.ml.experiment.callback.catboost.SnowflakeCatboostCallback`, a
|
|
442
|
+
CatBoost training callback that logs metrics and, optionally, parameters to a Snowflake experiment.
|
|
443
|
+
Pass `params=model.get_params()` to log parameters. Model logging is handled separately after
|
|
444
|
+
training via ``ExperimentTracking.log_model``.
|
|
445
|
+
|
|
446
|
+
* Experiment Tracking: `ExperimentTracking` accepts an optional `warnings_as_errors` parameter. When True,
|
|
447
|
+
conditions that are normally reported as warnings are raised instead.
|
|
448
|
+
|
|
449
|
+
### Bug Fixes
|
|
450
|
+
|
|
451
|
+
### Behavior Changes
|
|
452
|
+
|
|
453
|
+
* Experiment Tracking: Re-constructing the `ExperimentTracking` singleton now logs an informational
|
|
454
|
+
message instead of emitting a `UserWarning`.
|
|
455
|
+
|
|
456
|
+
* Registry: `log_model` no longer raises when `options={'relax_version': True}` is used with pip
|
|
457
|
+
requirements or Snowpark Container Services-only targets. The option is ignored, a warning is
|
|
458
|
+
emitted, and exact pip version specifications are kept.
|
|
459
|
+
|
|
460
|
+
### Deprecations
|
|
461
|
+
|
|
462
|
+
## 2.3.0 (2026-09-28)
|
|
463
|
+
|
|
464
|
+
### New Features
|
|
465
|
+
|
|
466
|
+
* Experiment Tracking: `ExperimentTracking` accepts an optional `model_registry` parameter. When provided,
|
|
467
|
+
`log_model` stores models in the registry's database and schema instead of the experiment's, so experiments
|
|
468
|
+
and models can live in separate schemas.
|
|
469
|
+
|
|
470
|
+
### Bug Fixes
|
|
471
|
+
|
|
472
|
+
* Feature Store: Offline reads of a feature view with several list aggregations or several secondary-key
|
|
473
|
+
aggregation windows used to return incomplete results in some scenarios. The bug has been fixed
|
|
474
|
+
and the existing feature views pick up the fix on their next read, with no re-registration or backfill required.
|
|
475
|
+
|
|
476
|
+
### Behavior Changes
|
|
477
|
+
|
|
478
|
+
* Feature Store: `update_feature_view()` now rejects a `target_lag` change on a feature view whose online store
|
|
479
|
+
is `POSTGRES`, instead of reporting success for a change that is not applied. Set `target_lag` when online
|
|
480
|
+
storage is first enabled, or delete and re-register the feature view to change it. Enabling or disabling
|
|
481
|
+
online storage, and `target_lag` changes on hybrid-table online stores, are unaffected.
|
|
482
|
+
|
|
483
|
+
### Deprecations
|
|
484
|
+
|
|
485
|
+
## 2.2.0 (2026-09-21)
|
|
428
486
|
|
|
429
487
|
### New Features
|
|
430
488
|
|
|
@@ -438,8 +496,17 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
|
|
|
438
496
|
|
|
439
497
|
### Bug Fixes
|
|
440
498
|
|
|
499
|
+
* Registry: `ModelVersion.load()` now compares the model owner to `CURRENT_ROLE()` (the role that
|
|
500
|
+
executes SQL) instead of `Session.get_current_role()`. Owner's-rights Streamlit apps and
|
|
501
|
+
`EXECUTE AS OWNER` procedures can load when statements run as the owner even if the caller's
|
|
502
|
+
primary role is not the owner.
|
|
503
|
+
|
|
441
504
|
### Behavior Changes
|
|
442
505
|
|
|
506
|
+
* Dependencies: `scipy` is no longer a required dependency of `snowflake-ml-python`. It is still
|
|
507
|
+
installed transitively with `pip install snowflake-ml-python[scikit-learn]`. Direct `scipy` usage
|
|
508
|
+
in `snowflake.ml.modeling.preprocessing` already requires that extra.
|
|
509
|
+
|
|
443
510
|
### Deprecations
|
|
444
511
|
|
|
445
512
|
## 2.1.0 (2026-09-14)
|
|
@@ -461,21 +528,12 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
|
|
|
461
528
|
|
|
462
529
|
### Bug Fixes
|
|
463
530
|
|
|
464
|
-
* Registry: `ModelVersion.load()` now compares the model owner to `CURRENT_ROLE()` (the role that
|
|
465
|
-
executes SQL) instead of `Session.get_current_role()`. Owner's-rights Streamlit apps and
|
|
466
|
-
`EXECUTE AS OWNER` procedures can load when statements run as the owner even if the caller's
|
|
467
|
-
primary role is not the owner.
|
|
468
|
-
|
|
469
531
|
* Registry: Fixed logging of MLflow models created with `mlflow.sklearn.save_model()`. The model is
|
|
470
532
|
now re-logged from the scikit-learn estimator using the serialization format it was saved with,
|
|
471
533
|
instead of from MLflow's PyFunc wrapper with the version-dependent default format.
|
|
472
534
|
|
|
473
535
|
### Behavior Changes
|
|
474
536
|
|
|
475
|
-
* Dependencies: `scipy` is no longer a required dependency of `snowflake-ml-python`. It is still
|
|
476
|
-
installed transitively with `pip install snowflake-ml-python[scikit-learn]`. Direct `scipy` usage
|
|
477
|
-
in `snowflake.ml.modeling.preprocessing` already requires that extra.
|
|
478
|
-
|
|
479
537
|
### Deprecations
|
|
480
538
|
|
|
481
539
|
## 2.0.0 (2026-09-09)
|
|
@@ -57,7 +57,7 @@ In Snowflake Warehouse notebook environments, snowflake-ml-python can be install
|
|
|
57
57
|
Follow the [installation instructions](https://docs.snowflake.com/en/developer-guide/snowpark-ml/index#installing-snowpark-ml)
|
|
58
58
|
in the Snowflake documentation.
|
|
59
59
|
|
|
60
|
-
Python versions 3.10 to 3.
|
|
60
|
+
Python versions 3.10 to 3.14 are supported. You can use [miniconda](https://docs.conda.io/en/latest/miniconda.html) or
|
|
61
61
|
[anaconda](https://www.anaconda.com/) to create a Conda environment (recommended),
|
|
62
62
|
or [virtualenv](https://docs.python.org/3/tutorial/venv.html) to create a virtual environment.
|
|
63
63
|
|
|
@@ -5,8 +5,8 @@ build-backend = "setuptools.build_meta"
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "snowflake-ml-python"
|
|
7
7
|
description = "The machine learning client library that is used for interacting with Snowflake to build machine learning solutions."
|
|
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.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
|
-
requires-python = ">=3.10, <3.
|
|
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.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", "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
|
+
requires-python = ">=3.10, <3.15"
|
|
10
10
|
dynamic = [ "version", "readme",]
|
|
11
11
|
dependencies = [ "anyio>=3.5.0,<5", "cachetools>=3.1.1", "cloudpickle>=2.0.0", "fsspec[http]>=2024.6.1,<2026", "importlib_resources>=6.1.1, <7", "jinja2>=3.1.0,<4", "numpy>=1.23,<3", "packaging>=20.9,<26", "pandas>=2.1.4,<3", "platformdirs<5", "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", "snowflake-connector-python[pandas]>=3.17.3,<5", "snowflake-snowpark-python>=1.37.0,<2", "sqlparse>=0.4,<1", "tqdm<5", "typing-extensions>=4.1.0,<5",]
|
|
12
12
|
[[project.authors]]
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import json
|
|
2
|
+
from typing import Any, cast
|
|
3
|
+
|
|
4
|
+
from typing_extensions import deprecated
|
|
5
|
+
|
|
6
|
+
from snowflake import snowpark
|
|
7
|
+
from snowflake.cortex._util import (
|
|
8
|
+
CORTEX_FUNCTIONS_TELEMETRY_PROJECT,
|
|
9
|
+
call_sql_function,
|
|
10
|
+
warn_cortex_deprecated,
|
|
11
|
+
)
|
|
12
|
+
from snowflake.ml._internal import telemetry
|
|
13
|
+
from snowflake.snowpark import functions
|
|
14
|
+
|
|
15
|
+
_AI_CLASSIFY_FUNCTION_NAME = "AI_CLASSIFY"
|
|
16
|
+
# Legacy CLASSIFY_TEXT always returned exactly one label. AI_CLASSIFY defaults to single-label mode, but
|
|
17
|
+
# we set output_mode explicitly so the single-label contract can't drift and multi-label results can
|
|
18
|
+
# never leak through.
|
|
19
|
+
_AI_CLASSIFY_SINGLE_LABEL_CONFIG = {"output_mode": "single"}
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def _adapt_ai_classify_result(result: Any) -> str:
|
|
23
|
+
"""Map an AI_CLASSIFY result to the legacy CLASSIFY_TEXT {"label": ...} JSON string."""
|
|
24
|
+
# Legacy classify_text returned the raw CLASSIFY_TEXT OBJECT, which the immediate (non-Column) path
|
|
25
|
+
# collects as a JSON string such as '{"label": "positive"}'. We reproduce that exact shape so
|
|
26
|
+
# existing callers that json.loads the result and read ["label"] keep working.
|
|
27
|
+
parsed: Any = result
|
|
28
|
+
if isinstance(result, str):
|
|
29
|
+
try:
|
|
30
|
+
parsed = json.loads(result)
|
|
31
|
+
except json.JSONDecodeError:
|
|
32
|
+
return result
|
|
33
|
+
label: Any = None
|
|
34
|
+
if isinstance(parsed, dict):
|
|
35
|
+
labels = parsed.get("labels")
|
|
36
|
+
if isinstance(labels, list) and labels:
|
|
37
|
+
label = labels[0]
|
|
38
|
+
elif parsed.get("label") is not None:
|
|
39
|
+
label = parsed.get("label")
|
|
40
|
+
return json.dumps({"label": label})
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
@telemetry.send_api_usage_telemetry(
|
|
44
|
+
project=CORTEX_FUNCTIONS_TELEMETRY_PROJECT,
|
|
45
|
+
)
|
|
46
|
+
def classify_text(
|
|
47
|
+
str_input: str | snowpark.Column,
|
|
48
|
+
categories: list[str] | snowpark.Column,
|
|
49
|
+
session: snowpark.Session | None = None,
|
|
50
|
+
) -> str | snowpark.Column:
|
|
51
|
+
"""Use the LLM inference service to classify the INPUT text into one of the target CATEGORIES.
|
|
52
|
+
|
|
53
|
+
Args:
|
|
54
|
+
str_input: A Column of strings to classify.
|
|
55
|
+
categories: A list of candidate categories to classify the INPUT text into.
|
|
56
|
+
session: The snowpark session to use. Will be inferred by context if not specified.
|
|
57
|
+
|
|
58
|
+
Returns:
|
|
59
|
+
A column of classification responses.
|
|
60
|
+
"""
|
|
61
|
+
warn_cortex_deprecated("classify_text", "ai_classify")
|
|
62
|
+
result = _classify_text_impl(
|
|
63
|
+
_AI_CLASSIFY_FUNCTION_NAME, str_input, categories, _AI_CLASSIFY_SINGLE_LABEL_CONFIG, session=session
|
|
64
|
+
)
|
|
65
|
+
if isinstance(result, snowpark.Column):
|
|
66
|
+
# AI_CLASSIFY returns {"labels": [...]}; re-wrap as the legacy CLASSIFY_TEXT {"label": ...} OBJECT
|
|
67
|
+
# so downstream SQL that reads col["label"] is unchanged. Subscript access (not functions.get with
|
|
68
|
+
# a bare string, which Snowpark treats as a column identifier) extracts the field by literal key.
|
|
69
|
+
label = functions.coalesce(result["labels"][0], result["label"])
|
|
70
|
+
return functions.object_construct(functions.lit("label"), label)
|
|
71
|
+
return _adapt_ai_classify_result(result)
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
def _classify_text_impl(
|
|
75
|
+
function: str,
|
|
76
|
+
str_input: str | snowpark.Column,
|
|
77
|
+
categories: list[str] | snowpark.Column,
|
|
78
|
+
config: dict[str, Any] | None = None,
|
|
79
|
+
session: snowpark.Session | None = None,
|
|
80
|
+
) -> str | snowpark.Column:
|
|
81
|
+
args: list[Any] = [str_input, categories]
|
|
82
|
+
if config is not None:
|
|
83
|
+
args.append(config)
|
|
84
|
+
return cast(str | snowpark.Column, call_sql_function(function, session, *args))
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
ClassifyText = deprecated(
|
|
88
|
+
"ClassifyText() is deprecated and will be removed in a future release. Please use classify_text() instead."
|
|
89
|
+
)(
|
|
90
|
+
telemetry.send_api_usage_telemetry(
|
|
91
|
+
project=CORTEX_FUNCTIONS_TELEMETRY_PROJECT,
|
|
92
|
+
)(classify_text)
|
|
93
|
+
)
|
|
@@ -14,6 +14,7 @@ from snowflake.cortex._util import (
|
|
|
14
14
|
CORTEX_FUNCTIONS_TELEMETRY_PROJECT,
|
|
15
15
|
SnowflakeAuthenticationException,
|
|
16
16
|
SnowflakeConfigurationException,
|
|
17
|
+
warn_cortex_deprecated,
|
|
17
18
|
)
|
|
18
19
|
from snowflake.ml._internal import telemetry
|
|
19
20
|
from snowflake.snowpark import context, functions
|
|
@@ -331,12 +332,46 @@ def _return_stream_response(
|
|
|
331
332
|
pass
|
|
332
333
|
|
|
333
334
|
|
|
334
|
-
def _complete_call_sql_function_snowpark(
|
|
335
|
-
function: str, *args: str | snowpark.Column | CompleteOptions
|
|
336
|
-
) -> snowpark.Column:
|
|
335
|
+
def _complete_call_sql_function_snowpark(function: str, *args: Any) -> snowpark.Column:
|
|
337
336
|
return cast(snowpark.Column, functions.builtin(function)(*args))
|
|
338
337
|
|
|
339
338
|
|
|
339
|
+
_SQL_MODEL_PARAMETER_KEYS = ("max_tokens", "temperature", "top_p", "guardrails")
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
def _sql_ai_complete_args(
|
|
343
|
+
model: str | snowpark.Column,
|
|
344
|
+
prompt: str | list[ConversationMessage] | snowpark.Column,
|
|
345
|
+
options: CompleteOptions | snowpark.Column | None,
|
|
346
|
+
) -> tuple[Any, ...]:
|
|
347
|
+
"""Build positional SQL arguments for AI_COMPLETE.
|
|
348
|
+
|
|
349
|
+
Args:
|
|
350
|
+
model: Model name or Column of model names.
|
|
351
|
+
prompt: Prompt string, conversation history, or Column of prompts.
|
|
352
|
+
options: Complete options, a Column of options, or None.
|
|
353
|
+
|
|
354
|
+
Returns:
|
|
355
|
+
Positional AI_COMPLETE arguments with response format separate from
|
|
356
|
+
model parameters.
|
|
357
|
+
"""
|
|
358
|
+
if options is None:
|
|
359
|
+
return (model, prompt)
|
|
360
|
+
if isinstance(options, snowpark.Column):
|
|
361
|
+
# Can't introspect a Column's keys at build time, so split response_format out of the options
|
|
362
|
+
# object in SQL: model_parameters is the object minus response_format, response_format is read
|
|
363
|
+
# out separately (NULL when absent, which AI_COMPLETE treats as "no response format").
|
|
364
|
+
model_parameters_col = functions.builtin("object_delete")(options, functions.lit("response_format"))
|
|
365
|
+
response_format_col = functions.get(options, functions.lit("response_format"))
|
|
366
|
+
return (model, prompt, model_parameters_col, response_format_col)
|
|
367
|
+
option_values = cast(dict[str, Any], options)
|
|
368
|
+
model_parameters = {key: option_values[key] for key in _SQL_MODEL_PARAMETER_KEYS if key in option_values}
|
|
369
|
+
response_format = options.get("response_format")
|
|
370
|
+
if response_format is None:
|
|
371
|
+
return (model, prompt, model_parameters) if model_parameters else (model, prompt)
|
|
372
|
+
return (model, prompt, model_parameters, response_format)
|
|
373
|
+
|
|
374
|
+
|
|
340
375
|
def _complete_non_streaming_immediate(
|
|
341
376
|
snow_api_xp_request_handler: Callable[..., dict[str, Any]] | None,
|
|
342
377
|
model: str,
|
|
@@ -366,10 +401,7 @@ def _complete_non_streaming_impl(
|
|
|
366
401
|
deadline: float | None = None,
|
|
367
402
|
) -> str | snowpark.Column:
|
|
368
403
|
if isinstance(prompt, snowpark.Column):
|
|
369
|
-
|
|
370
|
-
return _complete_call_sql_function_snowpark(function, model, prompt, options)
|
|
371
|
-
else:
|
|
372
|
-
return _complete_call_sql_function_snowpark(function, model, prompt)
|
|
404
|
+
return _complete_call_sql_function_snowpark(function, *_sql_ai_complete_args(model, prompt, options))
|
|
373
405
|
if isinstance(model, snowpark.Column):
|
|
374
406
|
raise ValueError("'model' cannot be a snowpark.Column when 'prompt' is a string.")
|
|
375
407
|
if isinstance(options, snowpark.Column):
|
|
@@ -414,7 +446,7 @@ def _complete_impl(
|
|
|
414
446
|
model: str | snowpark.Column,
|
|
415
447
|
prompt: str | list[ConversationMessage] | snowpark.Column,
|
|
416
448
|
snow_api_xp_request_handler: Callable[..., dict[str, Any]] | None = None,
|
|
417
|
-
function: str = "
|
|
449
|
+
function: str = "AI_COMPLETE",
|
|
418
450
|
options: CompleteOptions | None = None,
|
|
419
451
|
session: snowpark.Session | None = None,
|
|
420
452
|
stream: bool = False,
|
|
@@ -480,7 +512,7 @@ def complete(
|
|
|
480
512
|
Returns:
|
|
481
513
|
A column of string responses.
|
|
482
514
|
"""
|
|
483
|
-
|
|
515
|
+
warn_cortex_deprecated("complete", "ai_complete")
|
|
484
516
|
# Set the XP snow api function, if available.
|
|
485
517
|
snow_api_xp_request_handler = None
|
|
486
518
|
if is_in_stored_procedure(): # type: ignore[no-untyped-call]
|
{snowflake_ml_python-2.2.0 → snowflake_ml_python-2.4.0}/snowflake/cortex/_embed_text_1024.py
RENAMED
|
@@ -1,11 +1,17 @@
|
|
|
1
|
-
from typing import
|
|
1
|
+
from typing import cast
|
|
2
2
|
|
|
3
3
|
from typing_extensions import deprecated
|
|
4
4
|
|
|
5
5
|
from snowflake import snowpark
|
|
6
|
-
from snowflake.cortex._util import
|
|
6
|
+
from snowflake.cortex._util import (
|
|
7
|
+
CORTEX_FUNCTIONS_TELEMETRY_PROJECT,
|
|
8
|
+
call_sql_function,
|
|
9
|
+
warn_cortex_deprecated,
|
|
10
|
+
)
|
|
7
11
|
from snowflake.ml._internal import telemetry
|
|
8
12
|
|
|
13
|
+
_AI_EMBED_FUNCTION_NAME = "AI_EMBED"
|
|
14
|
+
|
|
9
15
|
|
|
10
16
|
@telemetry.send_api_usage_telemetry(
|
|
11
17
|
project=CORTEX_FUNCTIONS_TELEMETRY_PROJECT,
|
|
@@ -26,8 +32,8 @@ def embed_text_1024(
|
|
|
26
32
|
Returns:
|
|
27
33
|
A column of vectors containing embeddings.
|
|
28
34
|
"""
|
|
29
|
-
|
|
30
|
-
return _embed_text_1024_impl(
|
|
35
|
+
warn_cortex_deprecated("embed_text_1024", "ai_embed")
|
|
36
|
+
return _embed_text_1024_impl(_AI_EMBED_FUNCTION_NAME, model, text, session=session)
|
|
31
37
|
|
|
32
38
|
|
|
33
39
|
def _embed_text_1024_impl(
|
|
@@ -36,7 +42,7 @@ def _embed_text_1024_impl(
|
|
|
36
42
|
text: str | snowpark.Column,
|
|
37
43
|
session: snowpark.Session | None = None,
|
|
38
44
|
) -> list[float] | snowpark.Column:
|
|
39
|
-
return cast(
|
|
45
|
+
return cast(list[float] | snowpark.Column, call_sql_function(function, session, model, text))
|
|
40
46
|
|
|
41
47
|
|
|
42
48
|
EmbedText1024 = deprecated(
|
|
@@ -1,11 +1,17 @@
|
|
|
1
|
-
from typing import
|
|
1
|
+
from typing import cast
|
|
2
2
|
|
|
3
3
|
from typing_extensions import deprecated
|
|
4
4
|
|
|
5
5
|
from snowflake import snowpark
|
|
6
|
-
from snowflake.cortex._util import
|
|
6
|
+
from snowflake.cortex._util import (
|
|
7
|
+
CORTEX_FUNCTIONS_TELEMETRY_PROJECT,
|
|
8
|
+
call_sql_function,
|
|
9
|
+
warn_cortex_deprecated,
|
|
10
|
+
)
|
|
7
11
|
from snowflake.ml._internal import telemetry
|
|
8
12
|
|
|
13
|
+
_AI_EMBED_FUNCTION_NAME = "AI_EMBED"
|
|
14
|
+
|
|
9
15
|
|
|
10
16
|
@telemetry.send_api_usage_telemetry(
|
|
11
17
|
project=CORTEX_FUNCTIONS_TELEMETRY_PROJECT,
|
|
@@ -26,8 +32,8 @@ def embed_text_768(
|
|
|
26
32
|
Returns:
|
|
27
33
|
A column of vectors containing embeddings.
|
|
28
34
|
"""
|
|
29
|
-
|
|
30
|
-
return _embed_text_768_impl(
|
|
35
|
+
warn_cortex_deprecated("embed_text_768", "ai_embed")
|
|
36
|
+
return _embed_text_768_impl(_AI_EMBED_FUNCTION_NAME, model, text, session=session)
|
|
31
37
|
|
|
32
38
|
|
|
33
39
|
def _embed_text_768_impl(
|
|
@@ -36,7 +42,7 @@ def _embed_text_768_impl(
|
|
|
36
42
|
text: str | snowpark.Column,
|
|
37
43
|
session: snowpark.Session | None = None,
|
|
38
44
|
) -> list[float] | snowpark.Column:
|
|
39
|
-
return cast(
|
|
45
|
+
return cast(list[float] | snowpark.Column, call_sql_function(function, session, model, text))
|
|
40
46
|
|
|
41
47
|
|
|
42
48
|
EmbedText768 = deprecated(
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
from typing import Any, cast
|
|
2
|
+
|
|
3
|
+
from typing_extensions import deprecated
|
|
4
|
+
|
|
5
|
+
from snowflake import snowpark
|
|
6
|
+
from snowflake.cortex._util import (
|
|
7
|
+
CORTEX_FUNCTIONS_TELEMETRY_PROJECT,
|
|
8
|
+
SnowflakeAuthenticationException,
|
|
9
|
+
warn_cortex_deprecated,
|
|
10
|
+
)
|
|
11
|
+
from snowflake.ml._internal import telemetry
|
|
12
|
+
from snowflake.snowpark import context, functions
|
|
13
|
+
|
|
14
|
+
_AI_EXTRACT_FUNCTION_NAME = "AI_EXTRACT"
|
|
15
|
+
_ANSWER_KEY = "answer"
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def _legacy_extract_answer_column(
|
|
19
|
+
from_text: str | snowpark.Column,
|
|
20
|
+
response_format: dict[str, Any] | snowpark.Column,
|
|
21
|
+
) -> snowpark.Column:
|
|
22
|
+
"""Call AI_EXTRACT and reshape it to the legacy EXTRACT_ANSWER [{"answer": ..., "score": ...}] ARRAY."""
|
|
23
|
+
# AI_EXTRACT returns the score only when the `scores` argument is TRUE, and `scores` is a named-only
|
|
24
|
+
# argument that the Snowpark builtin wrapper can't pass positionally -- inject it as a raw SQL fragment.
|
|
25
|
+
# AI_EXTRACT(<text>, <response_format>, scores => TRUE) returns:
|
|
26
|
+
# {"response": {"answer": ...}, "scoring": {"scores": {"answer": {"score": ...}}}}
|
|
27
|
+
extracted = functions.builtin(_AI_EXTRACT_FUNCTION_NAME)(
|
|
28
|
+
from_text, response_format, functions.sql_expr("scores => TRUE")
|
|
29
|
+
)
|
|
30
|
+
# Subscript access (not functions.get with a bare string, which Snowpark treats as a column
|
|
31
|
+
# identifier) extracts fields by literal key.
|
|
32
|
+
answer = extracted["response"][_ANSWER_KEY]
|
|
33
|
+
score = extracted["scoring"]["scores"][_ANSWER_KEY]["score"]
|
|
34
|
+
return functions.array_construct(
|
|
35
|
+
functions.object_construct(functions.lit(_ANSWER_KEY), answer, functions.lit("score"), score)
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
@telemetry.send_api_usage_telemetry(
|
|
40
|
+
project=CORTEX_FUNCTIONS_TELEMETRY_PROJECT,
|
|
41
|
+
)
|
|
42
|
+
def extract_answer(
|
|
43
|
+
from_text: str | snowpark.Column,
|
|
44
|
+
question: str | snowpark.Column,
|
|
45
|
+
session: snowpark.Session | None = None,
|
|
46
|
+
) -> str | snowpark.Column:
|
|
47
|
+
"""Calls into the LLM inference service to extract an answer from within specified text.
|
|
48
|
+
|
|
49
|
+
Args:
|
|
50
|
+
from_text: A Column of strings representing input text.
|
|
51
|
+
question: A Column of strings representing a question to ask against from_text.
|
|
52
|
+
session: The snowpark session to use. Will be inferred by context if not specified.
|
|
53
|
+
|
|
54
|
+
Returns:
|
|
55
|
+
A column of arrays, each [{"answer": ..., "score": ...}], matching legacy EXTRACT_ANSWER.
|
|
56
|
+
|
|
57
|
+
Raises:
|
|
58
|
+
SnowflakeAuthenticationException: if no session is provided and none is active.
|
|
59
|
+
"""
|
|
60
|
+
warn_cortex_deprecated("extract_answer", "ai_extract")
|
|
61
|
+
if isinstance(question, snowpark.Column):
|
|
62
|
+
response_format: dict[str, Any] | snowpark.Column = functions.object_construct(
|
|
63
|
+
functions.lit(_ANSWER_KEY), question
|
|
64
|
+
)
|
|
65
|
+
else:
|
|
66
|
+
response_format = {_ANSWER_KEY: question}
|
|
67
|
+
|
|
68
|
+
column = _legacy_extract_answer_column(from_text, response_format)
|
|
69
|
+
if isinstance(from_text, snowpark.Column) or isinstance(question, snowpark.Column):
|
|
70
|
+
return column
|
|
71
|
+
|
|
72
|
+
# Immediate (literal) path: evaluate the expression and return the collected ARRAY as a JSON string,
|
|
73
|
+
# exactly as the legacy EXTRACT_ANSWER immediate path did.
|
|
74
|
+
session = session or context.get_active_session()
|
|
75
|
+
if session is None:
|
|
76
|
+
raise SnowflakeAuthenticationException(
|
|
77
|
+
"""Session required. Provide the session through a session=... argument or ensure an active session is
|
|
78
|
+
available in your environment."""
|
|
79
|
+
)
|
|
80
|
+
return cast(str, session.create_dataframe([snowpark.Row()]).select(column).collect()[0][0])
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
ExtractAnswer = deprecated(
|
|
84
|
+
"ExtractAnswer() is deprecated and will be removed in a future release. Use extract_answer() instead"
|
|
85
|
+
)(telemetry.send_api_usage_telemetry(project=CORTEX_FUNCTIONS_TELEMETRY_PROJECT)(extract_answer))
|