Skip to content

Releases: snowflakedb/snowflake-ml-python

1.19.0

13 Nov 18:12
edac9be

Choose a tag to compare

1.19.0

Bug Fixes

  • Experiment Tracking (PrPr): No longer throw an exception in list_artifacts when run does not have artifacts.
  • Registry: Fix get_version_by_alias: now requires an exact match of snowflake identifier.

Behavior Changes

New Features

  • Online feature serving in Feature Store is in public preview.
  • Experiment Tracking (snowflake.ml.experiment) is in public preview.

Deprecations

1.18.0

24 Oct 00:51
b86c656

Choose a tag to compare

1.18.0

Bug Fixes

  • Registry: The create_service API now validates that a model has a GPU runtime configuration and will throw a
    descriptive error if the configuration is missing.

Behavior Changes

New Features

  • Registry (PrPr): Introducing ModelVersion.run_batch for batch inference in Snowpark Container Services.
  • Experiment Tracking (PrPr): Added version_name argument to the autologging callbacks
    to specify the version name for the autologged model.

Deprecations

  • Python 3.9 is deprecated.

1.17.0

16 Oct 23:43
30c6592

Choose a tag to compare

1.17.0

Bug Fixes

  • ML Job: Added support for retrieving details of deleted jobs, including status, compute pool, and target instances.

Behavior Changes

New Features

  • Support xgboost 3.x.
  • ML Job: Overhauled the MLJob.result() API with broader cross-version
    compatibility and support for additional data types, namely:
    • Pandas DataFrames
    • PyArrow Tables
    • NumPy arrays
    • NOTE: Requires snowflake-ml-python>=1.17.0 to be installed inside remote container environment.
  • ML Job: Enabled job submission v2 by default
    • Jobs submitted using v2 will automatically use the latest Container Runtime image
    • v1 behavior can be restored by setting environment variable MLRS_USE_SUBMIT_JOB_V2 to false

1.16.0

06 Oct 22:54
17a5728

Choose a tag to compare

1.16.0

Bug Fixes

  • Registry: Remove redundant pip dependency warnings when artifact_repository_map is provided for warehouse model deployments.

Behavior Changes

New Features

  • Support scikit-learn < 1.8.
  • ML Job: Added support for configuring the runtime image via runtime_environment
    (image tag or full image URL) at submission time.
    Examples:
    • @Remote(compute_pool, stage_name = 'payload_stage', runtime_environment = '1.8.0')
    • submit_file('/path/to/repo/test.py', compute_pool, stage_name = 'payload_stage', runtime_environment = '/mydb/myschema/myrepo/myimage:latest')
  • Registry: Ability to mark model methods as Volatility.VOLATILE or Volatility.IMMUTABLE.
from snowflake.ml.model.volatility import Volatility

options = {
    "embed_local_ml_library": True,
    "relax_version": True,
    "save_location": "/path/to/my/directory",
    "function_type": "TABLE_FUNCTION",
    "volatility": Volatility.IMMUTABLE,
    "method_options": {
        "predict": {
            "case_sensitive": False,
            "max_batch_size": 100,
            "function_type": "TABLE_FUNCTION",
            "volatility": Volatility.VOLATILE,
        },
}

1.15.0

29 Sep 19:45
39e2082

Choose a tag to compare

1.15.0

Bug Fixes

Behavior Changes

New Features

1.14.0

19 Sep 00:42
1697443

Choose a tag to compare

1.14.0

Bug Fixes

Behavior Changes

New Features

  • ML Job: The additional_payloads argument is now deprecated in favor of imports.

1.13.0

11 Sep 20:31
d03c59c

Choose a tag to compare

1.13.0

Bug Fixes

Behavior Changes

New Features

  • Registry: Log a HuggingFace model without having to load the model in memory using
    the huggingface_pipeline.HuggingFacePipelineModel. Requires huggingface_hub package to installed.
    To disable downloading HuggingFace repository, provide download_snapshot=False while creating the
    huggingface_pipeline.HuggingFacePipelineModel object.
  • Registry: Added support for XGBoost models to use enable_categorical=True with pandas DataFrame
  • Registry: Added support to display privatelink inference endpoint in ModelVersion list services.

1.12.0

04 Sep 16:12
ca265f1

Choose a tag to compare

1.12.0

Bug Fixes

  • Registry: Fixed an issue where the string representation of dictionary-type output columns was being incorrectly
    created during structured output deserialization. Now, the original data type is properly preserved.

Behavior Changes

New Features

  • Registry: Add OpenAI chat completion compatible signature option for text-generation models.
from snowflake.ml.model import openai_signatures
import pandas as pd

mv = snowflake_registry.log_model(
    model=generator,
    model_name=...,
    ...,
    signatures=openai_signatures.OPENAI_CHAT_SIGNATURE,
)

# create a pd.DataFrame with openai.client.chat.completions arguments like below:
x_df = pd.DataFrame.from_records(
    [
        {
            "messages": [
                {"role": "system", "content": "Complete the sentence."},
                {
                    "role": "user",
                    "content": "A descendant of the Lost City of Atlantis, who swam to Earth while saying, ",
                },
            ],
            "max_completion_tokens": 250,
            "temperature": 0.9,
            "stop": None,
            "n": 3,
            "stream": False,
            "top_p": 1.0,
            "frequency_penalty": 0.1,
            "presence_penalty": 0.2,
        }
    ],
)

# OpenAI Chat Completion compatible output
output_df = mv.run(X=x_df)
  • Model Monitoring: Added support for segment columns to enable filtered analysis.
    • Added segment_columns parameter to ModelMonitorSourceConfig to specify columns for segmenting monitoring data
    • Segment columns must be of STRING type and exist in the source table
    • Added methods to dynamically manage segments:
      • add_segment_column(): Add a new segment column to an existing monitor
      • drop_segment_column(): Remove a segment column from an existing monitor
  • Experiment Tracking (PrPr): Support for logging artifacts (files and directories) with log_artifact
  • Experiment Tracking (PrPr): Support for listing artifacts in a run with list_artifacts
  • Experiment Tracking (PrPr): Support for downloading artifacts in a run with download_artifacts

1.11.0

12 Aug 17:51
6b5f761

Choose a tag to compare

1.11.0

Bug Fixes

  • ML Job: Fix Error: Unable to retrieve head IP address if not all instances start within the timeout.
  • ML Job: Fix TypeError: SnowflakeCursor.execute() got an unexpected keyword argument '_force_qmark_paramstyle'
    when running inside Stored Procedures.

Behavior Changes

New Features

  • ModelVersion.create_service(): Made image_repo argument optional. By
    default it will use a default image repo, which is
    being rolled out in server version 9.22+.
  • Experiment Tracking (PrPr): Automatically log the model, metrics, and parameters while training Keras models with
    snowflake.ml.experiment.callback.keras.SnowflakeKerasCallback.

1.10.0

01 Aug 16:27
097f9be

Choose a tag to compare

1.10.0

Bug Fixes

Behavior Changes

New Features

  • Registry: add progress bars for ModelVersion.create_service and ModelVersion.log_model.
  • ModelRegistry: Logs emitted during ModelVersion.create_service will be written to a file. The file location
    will be shown in the console.