snowflake-ml-python 1.22.0__py3-none-any.whl → 1.23.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- snowflake/ml/jobs/__init__.py +2 -0
- snowflake/ml/jobs/_utils/constants.py +1 -0
- snowflake/ml/jobs/_utils/payload_utils.py +38 -18
- snowflake/ml/jobs/_utils/query_helper.py +8 -1
- snowflake/ml/jobs/_utils/runtime_env_utils.py +117 -0
- snowflake/ml/jobs/_utils/stage_utils.py +2 -2
- snowflake/ml/jobs/_utils/types.py +22 -2
- snowflake/ml/jobs/job_definition.py +232 -0
- snowflake/ml/jobs/manager.py +16 -177
- snowflake/ml/model/_client/model/model_version_impl.py +90 -76
- snowflake/ml/model/_client/ops/model_ops.py +2 -18
- snowflake/ml/model/_client/ops/param_utils.py +124 -0
- snowflake/ml/model/_client/ops/service_ops.py +63 -18
- snowflake/ml/model/_client/service/model_deployment_spec.py +12 -5
- snowflake/ml/model/_client/service/model_deployment_spec_schema.py +1 -0
- snowflake/ml/model/_client/sql/service.py +4 -25
- snowflake/ml/model/_model_composer/model_method/infer_function.py_template +21 -3
- snowflake/ml/model/_model_composer/model_method/infer_partitioned.py_template +21 -3
- snowflake/ml/model/_model_composer/model_method/infer_table_function.py_template +21 -3
- snowflake/ml/model/_model_composer/model_method/model_method.py +2 -1
- snowflake/ml/model/_packager/model_handlers/huggingface.py +54 -10
- snowflake/ml/model/_packager/model_handlers/sentence_transformers.py +52 -16
- snowflake/ml/model/_signatures/utils.py +55 -0
- snowflake/ml/model/openai_signatures.py +97 -0
- snowflake/ml/registry/_manager/model_parameter_reconciler.py +1 -1
- snowflake/ml/version.py +1 -1
- {snowflake_ml_python-1.22.0.dist-info → snowflake_ml_python-1.23.0.dist-info}/METADATA +67 -1
- {snowflake_ml_python-1.22.0.dist-info → snowflake_ml_python-1.23.0.dist-info}/RECORD +31 -29
- snowflake/ml/experiment/callback/__init__.py +0 -0
- {snowflake_ml_python-1.22.0.dist-info → snowflake_ml_python-1.23.0.dist-info}/WHEEL +0 -0
- {snowflake_ml_python-1.22.0.dist-info → snowflake_ml_python-1.23.0.dist-info}/licenses/LICENSE.txt +0 -0
- {snowflake_ml_python-1.22.0.dist-info → snowflake_ml_python-1.23.0.dist-info}/top_level.txt +0 -0
|
@@ -23,24 +23,55 @@ if TYPE_CHECKING:
|
|
|
23
23
|
|
|
24
24
|
logger = logging.getLogger(__name__)
|
|
25
25
|
|
|
26
|
+
# Allowlist of supported target methods for SentenceTransformer models.
|
|
27
|
+
_ALLOWED_TARGET_METHODS = ["encode", "encode_queries", "encode_documents"]
|
|
28
|
+
|
|
26
29
|
|
|
27
30
|
def _validate_sentence_transformers_signatures(sigs: dict[str, model_signature.ModelSignature]) -> None:
|
|
28
|
-
|
|
29
|
-
|
|
31
|
+
"""Validate signatures for SentenceTransformer models.
|
|
32
|
+
|
|
33
|
+
Args:
|
|
34
|
+
sigs: Dictionary mapping method names to their signatures.
|
|
35
|
+
|
|
36
|
+
Raises:
|
|
37
|
+
ValueError: If signatures are empty, contain unsupported methods, or violate per-method constraints.
|
|
38
|
+
"""
|
|
39
|
+
# Check that signatures are non-empty
|
|
40
|
+
if not sigs:
|
|
41
|
+
raise ValueError("At least one signature must be provided.")
|
|
42
|
+
|
|
43
|
+
# Check that all methods are in the allowlist
|
|
44
|
+
unsupported_methods = set(sigs.keys()) - set(_ALLOWED_TARGET_METHODS)
|
|
45
|
+
if unsupported_methods:
|
|
46
|
+
raise ValueError(
|
|
47
|
+
f"Unsupported target methods: {sorted(unsupported_methods)}. "
|
|
48
|
+
f"Supported methods are: {_ALLOWED_TARGET_METHODS}."
|
|
49
|
+
)
|
|
30
50
|
|
|
31
|
-
|
|
32
|
-
|
|
51
|
+
# Validate per-method constraints
|
|
52
|
+
for method_name, sig in sigs.items():
|
|
53
|
+
if len(sig.inputs) != 1:
|
|
54
|
+
raise ValueError(f"SentenceTransformer method '{method_name}' must have exactly 1 input column.")
|
|
33
55
|
|
|
34
|
-
|
|
35
|
-
|
|
56
|
+
if len(sig.outputs) != 1:
|
|
57
|
+
raise ValueError(f"SentenceTransformer method '{method_name}' must have exactly 1 output column.")
|
|
36
58
|
|
|
37
|
-
|
|
59
|
+
# FeatureSpec is expected here; FeatureGroupSpec would indicate a nested/grouped input
|
|
60
|
+
# which SentenceTransformer does not support.
|
|
61
|
+
if not isinstance(sig.inputs[0], model_signature.FeatureSpec):
|
|
62
|
+
raise ValueError(
|
|
63
|
+
f"SentenceTransformer method '{method_name}' requires a FeatureSpec input, "
|
|
64
|
+
f"got {type(sig.inputs[0]).__name__}."
|
|
65
|
+
)
|
|
38
66
|
|
|
39
|
-
|
|
40
|
-
|
|
67
|
+
if sig.inputs[0]._shape is not None:
|
|
68
|
+
raise ValueError(f"SentenceTransformer method '{method_name}' does not support input shape.")
|
|
41
69
|
|
|
42
|
-
|
|
43
|
-
|
|
70
|
+
if sig.inputs[0]._dtype != model_signature.DataType.STRING:
|
|
71
|
+
raise ValueError(
|
|
72
|
+
f"SentenceTransformer method '{method_name}' only accepts STRING input, "
|
|
73
|
+
f"got {sig.inputs[0]._dtype.name}."
|
|
74
|
+
)
|
|
44
75
|
|
|
45
76
|
|
|
46
77
|
@final
|
|
@@ -51,7 +82,7 @@ class SentenceTransformerHandler(_base.BaseModelHandler["sentence_transformers.S
|
|
|
51
82
|
_HANDLER_MIGRATOR_PLANS: dict[str, type[base_migrator.BaseModelHandlerMigrator]] = {}
|
|
52
83
|
|
|
53
84
|
MODEL_BLOB_FILE_OR_DIR = "model"
|
|
54
|
-
DEFAULT_TARGET_METHODS = ["encode"]
|
|
85
|
+
DEFAULT_TARGET_METHODS = ["encode", "encode_queries", "encode_documents"]
|
|
55
86
|
|
|
56
87
|
@classmethod
|
|
57
88
|
def can_handle(
|
|
@@ -98,8 +129,13 @@ class SentenceTransformerHandler(_base.BaseModelHandler["sentence_transformers.S
|
|
|
98
129
|
target_methods=kwargs.pop("target_methods", None),
|
|
99
130
|
default_target_methods=cls.DEFAULT_TARGET_METHODS,
|
|
100
131
|
)
|
|
101
|
-
|
|
102
|
-
|
|
132
|
+
|
|
133
|
+
# Validate target_methods
|
|
134
|
+
if not target_methods:
|
|
135
|
+
raise ValueError("At least one target method must be specified.")
|
|
136
|
+
|
|
137
|
+
if not set(target_methods).issubset(_ALLOWED_TARGET_METHODS):
|
|
138
|
+
raise ValueError(f"target_methods {target_methods} must be a subset of {_ALLOWED_TARGET_METHODS}.")
|
|
103
139
|
|
|
104
140
|
def get_prediction(
|
|
105
141
|
target_method_name: str, sample_input_data: model_types.SupportedLocalDataType
|
|
@@ -246,10 +282,10 @@ class SentenceTransformerHandler(_base.BaseModelHandler["sentence_transformers.S
|
|
|
246
282
|
|
|
247
283
|
type_method_dict = {}
|
|
248
284
|
for target_method_name, sig in model_meta.signatures.items():
|
|
249
|
-
if target_method_name
|
|
285
|
+
if target_method_name in _ALLOWED_TARGET_METHODS:
|
|
250
286
|
type_method_dict[target_method_name] = get_prediction(raw_model, sig, target_method_name)
|
|
251
287
|
else:
|
|
252
|
-
ValueError(f"{target_method_name} is currently not supported.")
|
|
288
|
+
raise ValueError(f"{target_method_name} is currently not supported.")
|
|
253
289
|
|
|
254
290
|
_SentenceTransformer = type(
|
|
255
291
|
"_SentenceTransformer",
|
|
@@ -9,6 +9,7 @@ from snowflake.ml._internal.exceptions import (
|
|
|
9
9
|
error_codes,
|
|
10
10
|
exceptions as snowml_exceptions,
|
|
11
11
|
)
|
|
12
|
+
from snowflake.ml.model import openai_signatures
|
|
12
13
|
from snowflake.ml.model._signatures import core
|
|
13
14
|
|
|
14
15
|
|
|
@@ -259,6 +260,48 @@ def huggingface_pipeline_signature_auto_infer(
|
|
|
259
260
|
],
|
|
260
261
|
)
|
|
261
262
|
|
|
263
|
+
# https://huggingface.co/docs/transformers/en/main_classes/pipelines#transformers.ImageClassificationPipeline
|
|
264
|
+
if task == "image-classification":
|
|
265
|
+
return core.ModelSignature(
|
|
266
|
+
inputs=[
|
|
267
|
+
core.FeatureSpec(name="images", dtype=core.DataType.BYTES),
|
|
268
|
+
],
|
|
269
|
+
outputs=[
|
|
270
|
+
core.FeatureGroupSpec(
|
|
271
|
+
name="labels",
|
|
272
|
+
specs=[
|
|
273
|
+
core.FeatureSpec(name="label", dtype=core.DataType.STRING),
|
|
274
|
+
core.FeatureSpec(name="score", dtype=core.DataType.DOUBLE),
|
|
275
|
+
],
|
|
276
|
+
shape=(-1,),
|
|
277
|
+
),
|
|
278
|
+
],
|
|
279
|
+
)
|
|
280
|
+
|
|
281
|
+
# https://huggingface.co/docs/transformers/en/main_classes/pipelines#transformers.AutomaticSpeechRecognitionPipeline
|
|
282
|
+
if task == "automatic-speech-recognition":
|
|
283
|
+
return core.ModelSignature(
|
|
284
|
+
inputs=[
|
|
285
|
+
core.FeatureSpec(name="audio", dtype=core.DataType.BYTES),
|
|
286
|
+
],
|
|
287
|
+
outputs=[
|
|
288
|
+
core.FeatureGroupSpec(
|
|
289
|
+
name="outputs",
|
|
290
|
+
specs=[
|
|
291
|
+
core.FeatureSpec(name="text", dtype=core.DataType.STRING),
|
|
292
|
+
core.FeatureGroupSpec(
|
|
293
|
+
name="chunks",
|
|
294
|
+
specs=[
|
|
295
|
+
core.FeatureSpec(name="timestamp", dtype=core.DataType.DOUBLE, shape=(2,)),
|
|
296
|
+
core.FeatureSpec(name="text", dtype=core.DataType.STRING),
|
|
297
|
+
],
|
|
298
|
+
shape=(-1,), # Variable length list of chunks
|
|
299
|
+
),
|
|
300
|
+
],
|
|
301
|
+
),
|
|
302
|
+
],
|
|
303
|
+
)
|
|
304
|
+
|
|
262
305
|
# https://huggingface.co/docs/transformers/en/main_classes/pipelines#transformers.TextGenerationPipeline
|
|
263
306
|
if task == "text-generation":
|
|
264
307
|
if params.get("return_tensors", False):
|
|
@@ -288,6 +331,18 @@ def huggingface_pipeline_signature_auto_infer(
|
|
|
288
331
|
)
|
|
289
332
|
],
|
|
290
333
|
)
|
|
334
|
+
|
|
335
|
+
# https://huggingface.co/docs/transformers/en/main_classes/pipelines#transformers.ImageTextToTextPipeline
|
|
336
|
+
if task == "image-text-to-text":
|
|
337
|
+
if params.get("return_tensors", False):
|
|
338
|
+
raise NotImplementedError(
|
|
339
|
+
f"Auto deployment for HuggingFace pipeline {task} "
|
|
340
|
+
"when `return_tensors` set to `True` has not been supported yet."
|
|
341
|
+
)
|
|
342
|
+
# Always generate a dict per input
|
|
343
|
+
# defaulting to OPENAI_CHAT_SIGNATURE_SPEC for image-text-to-text pipeline
|
|
344
|
+
return openai_signatures._OPENAI_CHAT_SIGNATURE_SPEC
|
|
345
|
+
|
|
291
346
|
# https://huggingface.co/docs/transformers/en/main_classes/pipelines#transformers.Text2TextGenerationPipeline
|
|
292
347
|
if task == "text2text-generation":
|
|
293
348
|
if params.get("return_tensors", False):
|
|
@@ -1,6 +1,94 @@
|
|
|
1
1
|
from snowflake.ml.model._signatures import core
|
|
2
2
|
|
|
3
3
|
_OPENAI_CHAT_SIGNATURE_SPEC = core.ModelSignature(
|
|
4
|
+
inputs=[
|
|
5
|
+
core.FeatureGroupSpec(
|
|
6
|
+
name="messages",
|
|
7
|
+
specs=[
|
|
8
|
+
core.FeatureGroupSpec(
|
|
9
|
+
name="content",
|
|
10
|
+
specs=[
|
|
11
|
+
core.FeatureSpec(name="type", dtype=core.DataType.STRING),
|
|
12
|
+
# Text prompts
|
|
13
|
+
core.FeatureSpec(name="text", dtype=core.DataType.STRING),
|
|
14
|
+
# Image URL prompts
|
|
15
|
+
core.FeatureGroupSpec(
|
|
16
|
+
name="image_url",
|
|
17
|
+
specs=[
|
|
18
|
+
# Base64 encoded image URL or image URL
|
|
19
|
+
core.FeatureSpec(name="url", dtype=core.DataType.STRING),
|
|
20
|
+
# Image detail level (e.g., "low", "high", "auto")
|
|
21
|
+
core.FeatureSpec(name="detail", dtype=core.DataType.STRING),
|
|
22
|
+
],
|
|
23
|
+
),
|
|
24
|
+
# Video URL prompts
|
|
25
|
+
core.FeatureGroupSpec(
|
|
26
|
+
name="video_url",
|
|
27
|
+
specs=[
|
|
28
|
+
# Base64 encoded video URL
|
|
29
|
+
core.FeatureSpec(name="url", dtype=core.DataType.STRING),
|
|
30
|
+
],
|
|
31
|
+
),
|
|
32
|
+
# Audio prompts
|
|
33
|
+
core.FeatureGroupSpec(
|
|
34
|
+
name="input_audio",
|
|
35
|
+
specs=[
|
|
36
|
+
core.FeatureSpec(name="data", dtype=core.DataType.STRING),
|
|
37
|
+
core.FeatureSpec(name="format", dtype=core.DataType.STRING),
|
|
38
|
+
],
|
|
39
|
+
),
|
|
40
|
+
],
|
|
41
|
+
shape=(-1,),
|
|
42
|
+
),
|
|
43
|
+
core.FeatureSpec(name="name", dtype=core.DataType.STRING),
|
|
44
|
+
core.FeatureSpec(name="role", dtype=core.DataType.STRING),
|
|
45
|
+
core.FeatureSpec(name="title", dtype=core.DataType.STRING),
|
|
46
|
+
],
|
|
47
|
+
shape=(-1,),
|
|
48
|
+
),
|
|
49
|
+
core.FeatureSpec(name="temperature", dtype=core.DataType.DOUBLE),
|
|
50
|
+
core.FeatureSpec(name="max_completion_tokens", dtype=core.DataType.INT64),
|
|
51
|
+
core.FeatureSpec(name="stop", dtype=core.DataType.STRING, shape=(-1,)),
|
|
52
|
+
core.FeatureSpec(name="n", dtype=core.DataType.INT32),
|
|
53
|
+
core.FeatureSpec(name="stream", dtype=core.DataType.BOOL),
|
|
54
|
+
core.FeatureSpec(name="top_p", dtype=core.DataType.DOUBLE),
|
|
55
|
+
core.FeatureSpec(name="frequency_penalty", dtype=core.DataType.DOUBLE),
|
|
56
|
+
core.FeatureSpec(name="presence_penalty", dtype=core.DataType.DOUBLE),
|
|
57
|
+
],
|
|
58
|
+
outputs=[
|
|
59
|
+
core.FeatureSpec(name="id", dtype=core.DataType.STRING),
|
|
60
|
+
core.FeatureSpec(name="object", dtype=core.DataType.STRING),
|
|
61
|
+
core.FeatureSpec(name="created", dtype=core.DataType.FLOAT),
|
|
62
|
+
core.FeatureSpec(name="model", dtype=core.DataType.STRING),
|
|
63
|
+
core.FeatureGroupSpec(
|
|
64
|
+
name="choices",
|
|
65
|
+
specs=[
|
|
66
|
+
core.FeatureSpec(name="index", dtype=core.DataType.INT32),
|
|
67
|
+
core.FeatureGroupSpec(
|
|
68
|
+
name="message",
|
|
69
|
+
specs=[
|
|
70
|
+
core.FeatureSpec(name="content", dtype=core.DataType.STRING),
|
|
71
|
+
core.FeatureSpec(name="name", dtype=core.DataType.STRING),
|
|
72
|
+
core.FeatureSpec(name="role", dtype=core.DataType.STRING),
|
|
73
|
+
],
|
|
74
|
+
),
|
|
75
|
+
core.FeatureSpec(name="logprobs", dtype=core.DataType.STRING),
|
|
76
|
+
core.FeatureSpec(name="finish_reason", dtype=core.DataType.STRING),
|
|
77
|
+
],
|
|
78
|
+
shape=(-1,),
|
|
79
|
+
),
|
|
80
|
+
core.FeatureGroupSpec(
|
|
81
|
+
name="usage",
|
|
82
|
+
specs=[
|
|
83
|
+
core.FeatureSpec(name="completion_tokens", dtype=core.DataType.INT32),
|
|
84
|
+
core.FeatureSpec(name="prompt_tokens", dtype=core.DataType.INT32),
|
|
85
|
+
core.FeatureSpec(name="total_tokens", dtype=core.DataType.INT32),
|
|
86
|
+
],
|
|
87
|
+
),
|
|
88
|
+
],
|
|
89
|
+
)
|
|
90
|
+
|
|
91
|
+
_OPENAI_CHAT_SIGNATURE_SPEC_WITH_CONTENT_FORMAT_STRING = core.ModelSignature(
|
|
4
92
|
inputs=[
|
|
5
93
|
core.FeatureGroupSpec(
|
|
6
94
|
name="messages",
|
|
@@ -54,4 +142,13 @@ _OPENAI_CHAT_SIGNATURE_SPEC = core.ModelSignature(
|
|
|
54
142
|
],
|
|
55
143
|
)
|
|
56
144
|
|
|
145
|
+
|
|
146
|
+
# Refer vLLM documentation: https://docs.vllm.ai/en/stable/serving/openai_compatible_server/#chat-template
|
|
147
|
+
|
|
148
|
+
# Use this if you prefer to use the content format string instead of the default ChatML template.
|
|
149
|
+
# Most models support this.
|
|
150
|
+
OPENAI_CHAT_SIGNATURE_WITH_CONTENT_FORMAT_STRING = {"__call__": _OPENAI_CHAT_SIGNATURE_SPEC_WITH_CONTENT_FORMAT_STRING}
|
|
151
|
+
|
|
152
|
+
# This is the default signature.
|
|
153
|
+
# The content format allows vLLM to handler content parts like text, image, video, audio, file, etc.
|
|
57
154
|
OPENAI_CHAT_SIGNATURE = {"__call__": _OPENAI_CHAT_SIGNATURE_SPEC}
|
|
@@ -126,7 +126,7 @@ class ModelParameterReconciler:
|
|
|
126
126
|
# Default the target platform to SPCS if not specified when running in ML runtime
|
|
127
127
|
if env.IN_ML_RUNTIME:
|
|
128
128
|
logger.info(
|
|
129
|
-
"Logging the model on Container Runtime
|
|
129
|
+
"Logging the model on Container Runtime without specifying `target_platforms`. "
|
|
130
130
|
'Default to `target_platforms=["SNOWPARK_CONTAINER_SERVICES"]`.'
|
|
131
131
|
)
|
|
132
132
|
return [target_platform.TargetPlatform.SNOWPARK_CONTAINER_SERVICES]
|
snowflake/ml/version.py
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# This is parsed by regex in conda recipe meta file. Make sure not to break it.
|
|
2
|
-
VERSION = "1.
|
|
2
|
+
VERSION = "1.23.0"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: snowflake-ml-python
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.23.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:
|
|
@@ -417,6 +417,22 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
|
|
|
417
417
|
|
|
418
418
|
# Release History
|
|
419
419
|
|
|
420
|
+
## 1.23.0
|
|
421
|
+
|
|
422
|
+
### New Features
|
|
423
|
+
|
|
424
|
+
* ML Jobs: Enabled support for Python 3.11 and Python 3.12 by default. Jobs will automatically select a
|
|
425
|
+
runtime environment matching the client Python version.
|
|
426
|
+
|
|
427
|
+
### Bug Fixes
|
|
428
|
+
|
|
429
|
+
* Registry: Fix failures on empty output in HuggingFace's Token Classification (aka Named Entity Recognition) models.
|
|
430
|
+
* Model serving: don't parse instance or container statuses to fix bug with missing container status.
|
|
431
|
+
|
|
432
|
+
### Behavior Changes
|
|
433
|
+
|
|
434
|
+
### Deprecations
|
|
435
|
+
|
|
420
436
|
## 1.22.0
|
|
421
437
|
|
|
422
438
|
### New Features
|
|
@@ -439,10 +455,60 @@ mv = registry.log_model(
|
|
|
439
455
|
)
|
|
440
456
|
```
|
|
441
457
|
|
|
458
|
+
* Registry: Added support for `image-text-to-text` task type in `huggingface.TransformersPipeline`.
|
|
459
|
+
Note: Requires vLLM inference engine while creating the service.
|
|
460
|
+
|
|
442
461
|
### Bug Fixes
|
|
443
462
|
|
|
444
463
|
### Behavior Changes
|
|
445
464
|
|
|
465
|
+
* Registry: The `openai_signatures.OPENAI_CHAT_SIGNATURE` signature now handles content parts and
|
|
466
|
+
requires input data to be passed in list of dictionary. To use string content (previous behavior),
|
|
467
|
+
use `openai_signatures.OPENAI_CHAT_SIGNATURE_WITH_CONTENT_FORMAT_STRING`.
|
|
468
|
+
|
|
469
|
+
```python
|
|
470
|
+
from snowflake.ml.model import openai_signatures
|
|
471
|
+
import pandas as pd
|
|
472
|
+
|
|
473
|
+
mv = snowflake_registry.log_model(
|
|
474
|
+
model=generator,
|
|
475
|
+
model_name=...,
|
|
476
|
+
...,
|
|
477
|
+
signatures=openai_signatures.OPENAI_CHAT_SIGNATURE,
|
|
478
|
+
)
|
|
479
|
+
|
|
480
|
+
# create a pd.DataFrame with openai.client.chat.completions arguments like below:
|
|
481
|
+
x_df = pd.DataFrame.from_records(
|
|
482
|
+
[
|
|
483
|
+
{
|
|
484
|
+
"messages": [
|
|
485
|
+
{"role": "system", "content": "Complete the sentence."},
|
|
486
|
+
{
|
|
487
|
+
"role": "user",
|
|
488
|
+
"content": [
|
|
489
|
+
{
|
|
490
|
+
"type": "text",
|
|
491
|
+
"text": "A descendant of the Lost City of Atlantis, who swam to Earth while saying, ",
|
|
492
|
+
}
|
|
493
|
+
],
|
|
494
|
+
},
|
|
495
|
+
],
|
|
496
|
+
"max_completion_tokens": 250,
|
|
497
|
+
"temperature": 0.9,
|
|
498
|
+
"stop": None,
|
|
499
|
+
"n": 3,
|
|
500
|
+
"stream": False,
|
|
501
|
+
"top_p": 1.0,
|
|
502
|
+
"frequency_penalty": 0.1,
|
|
503
|
+
"presence_penalty": 0.2,
|
|
504
|
+
}
|
|
505
|
+
],
|
|
506
|
+
)
|
|
507
|
+
|
|
508
|
+
# OpenAI Chat Completion compatible output
|
|
509
|
+
output_df = mv.run(X=x_df)
|
|
510
|
+
```
|
|
511
|
+
|
|
446
512
|
### Deprecations
|
|
447
513
|
|
|
448
514
|
## 1.21.0
|
|
@@ -10,7 +10,7 @@ snowflake/cortex/_sse_client.py,sha256=sLYgqAfTOPADCnaWH2RWAJi8KbU_7gSRsTUDcDD5T
|
|
|
10
10
|
snowflake/cortex/_summarize.py,sha256=7GH8zqfIdOiHA5w4b6EvJEKEWhaTrL4YA6iDGbn7BNM,1307
|
|
11
11
|
snowflake/cortex/_translate.py,sha256=9ZGjvAnJFisbzJ_bXnt4pyug5UzhHJRXW8AhGQEersM,1652
|
|
12
12
|
snowflake/cortex/_util.py,sha256=krNTpbkFLXwdFqy1bd0xi7ZmOzOHRnIfHdQCPiLZJxk,3288
|
|
13
|
-
snowflake/ml/version.py,sha256=
|
|
13
|
+
snowflake/ml/version.py,sha256=4kkULHrWTWUklPOTCjLofNqUa56UDa5-aT7xzkSZmTQ,99
|
|
14
14
|
snowflake/ml/_internal/env.py,sha256=EY_2KVe8oR3LgKWdaeRb5rRU-NDNXJppPDsFJmMZUUY,265
|
|
15
15
|
snowflake/ml/_internal/env_utils.py,sha256=Xx03pV_qEIVJJY--J3ZmnqK9Ugf0Os3O2vrF8xOyq_c,31500
|
|
16
16
|
snowflake/ml/_internal/file_utils.py,sha256=7sA6loOeSfmGP4yx16P4usT9ZtRqG3ycnXu7_Tk7dOs,14206
|
|
@@ -74,7 +74,6 @@ snowflake/ml/experiment/_entities/__init__.py,sha256=11XxkvAzosydf5owNmMzLwXZdQ2
|
|
|
74
74
|
snowflake/ml/experiment/_entities/experiment.py,sha256=lKmQj59K8fGDWVwRqeIesxorrChb-m78vX_WUmI7PV0,225
|
|
75
75
|
snowflake/ml/experiment/_entities/run.py,sha256=6_R35nI24PzIWMrwPKDif5ZINAAE6J0R7p4UmlT-m4o,2251
|
|
76
76
|
snowflake/ml/experiment/_entities/run_metadata.py,sha256=25cIg8FnAYHk5SoTg_StzL10_BkomL7xrhMmWxUTU8E,366
|
|
77
|
-
snowflake/ml/experiment/callback/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
78
77
|
snowflake/ml/experiment/callback/keras.py,sha256=2kNYVWJjBKn9i2pioiGthLNjclNdSHn-6xHm6tlDc4E,4122
|
|
79
78
|
snowflake/ml/experiment/callback/lightgbm.py,sha256=dftlOMT9Wxo-XPaSvgbMh5IwVfQEskz4Ev4jd4G3_ns,4249
|
|
80
79
|
snowflake/ml/experiment/callback/xgboost.py,sha256=VLO3uW0Pot1b4nRaoi8tjLtDt3hrkTV0_6cqja3SqZQ,4197
|
|
@@ -110,10 +109,11 @@ snowflake/ml/fileset/fileset.py,sha256=ApMpHiiyzGRkyxQfJPdXPuKtw_wOXbOfQCXSH6pDw
|
|
|
110
109
|
snowflake/ml/fileset/sfcfs.py,sha256=FJFc9-gc0KXaNyc10ZovN_87aUCShb0WztVwa02t0io,15517
|
|
111
110
|
snowflake/ml/fileset/snowfs.py,sha256=uF5QluYtiJ-HezGIhF55dONi3t0E6N7ByaVAIAlM3nk,5133
|
|
112
111
|
snowflake/ml/fileset/stage_fs.py,sha256=SnkgCta6_5G6Ljl-Nzctr4yavhHUSlNKN3je0ojp54E,20685
|
|
113
|
-
snowflake/ml/jobs/__init__.py,sha256=
|
|
112
|
+
snowflake/ml/jobs/__init__.py,sha256=JypKzxERpcn4yJ7FILA98Gl0sFDEGkAIQ35b1iSzaXg,741
|
|
114
113
|
snowflake/ml/jobs/decorators.py,sha256=mQgdWvvCwD7q79cSFKZHKegXGh2j1u8WM64UD3lCKr4,3428
|
|
115
114
|
snowflake/ml/jobs/job.py,sha256=wEeIk5RZhkaJ56Zb1cBxsTAUJIo4QyhpRWaZaiYBuGY,27697
|
|
116
|
-
snowflake/ml/jobs/
|
|
115
|
+
snowflake/ml/jobs/job_definition.py,sha256=f1lZoTdn1AulJTHstAN8yDd-8Cx4kv4A0KBm-TAxJq4,10377
|
|
116
|
+
snowflake/ml/jobs/manager.py,sha256=heuOXEn7Y5Gb5s2y55GEx6i9mr-Z2tTL-b0rPGYv3ao,20469
|
|
117
117
|
snowflake/ml/jobs/_interop/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
118
118
|
snowflake/ml/jobs/_interop/data_utils.py,sha256=xUO5YlhUKFVCDtbjam5gP2lka3lfoknTLr7syNAVxK0,4074
|
|
119
119
|
snowflake/ml/jobs/_interop/dto_schema.py,sha256=NhoQ6WJa7uLO9VJojEENVVZhZMfL_G1VPPSSUYmmhO8,2750
|
|
@@ -123,14 +123,15 @@ snowflake/ml/jobs/_interop/protocols.py,sha256=I-RGWUDUc_FsKsq_mtczO7n93O_IzUvmE
|
|
|
123
123
|
snowflake/ml/jobs/_interop/results.py,sha256=nQ07XJ1BZEkPB4xa12pbGyaKqR8sWCoSzx0IKQlub4w,1714
|
|
124
124
|
snowflake/ml/jobs/_interop/utils.py,sha256=TWFkUcAYmb-fpTwEL8idkk3XxlZ8vLz4X_gyS78PSi4,5552
|
|
125
125
|
snowflake/ml/jobs/_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
126
|
-
snowflake/ml/jobs/_utils/constants.py,sha256=
|
|
126
|
+
snowflake/ml/jobs/_utils/constants.py,sha256=7KMhM-7KEursLjFBlj4xaQ4uGFJtjJ12rlx55hcBCQ0,4677
|
|
127
127
|
snowflake/ml/jobs/_utils/feature_flags.py,sha256=dLWBVIjyB2vsa4Vtm7Yhty6DOi8Nn73_YSjuYf73Y7A,1669
|
|
128
128
|
snowflake/ml/jobs/_utils/function_payload_utils.py,sha256=4LBaStMdhRxcqwRkwFje-WwiEKRWnBfkaOYouF3N3Kg,1308
|
|
129
|
-
snowflake/ml/jobs/_utils/payload_utils.py,sha256=
|
|
130
|
-
snowflake/ml/jobs/_utils/query_helper.py,sha256=
|
|
129
|
+
snowflake/ml/jobs/_utils/payload_utils.py,sha256=X9nG3kKlxr-2EfnLXhLwHdXoAhQS_MaTPfXPydlE_JU,33824
|
|
130
|
+
snowflake/ml/jobs/_utils/query_helper.py,sha256=DxezZzftVT7WZzf0uzEn0l6U7BFLNU4U4W_IRCzgbaI,1265
|
|
131
|
+
snowflake/ml/jobs/_utils/runtime_env_utils.py,sha256=EHESq95LhgKi1E68u9vlp8Brc4Ff8R0dFlIXAXoB1EA,4472
|
|
131
132
|
snowflake/ml/jobs/_utils/spec_utils.py,sha256=eC24LFiHtHQiswrZy7m94jixIInJFXNZ_-Km-xr9NJg,871
|
|
132
|
-
snowflake/ml/jobs/_utils/stage_utils.py,sha256=
|
|
133
|
-
snowflake/ml/jobs/_utils/types.py,sha256=
|
|
133
|
+
snowflake/ml/jobs/_utils/stage_utils.py,sha256=vUWBj5nAsdcYe5Gtv_JhHYMbE5sKGFW6w7qh6uPtBUI,5912
|
|
134
|
+
snowflake/ml/jobs/_utils/types.py,sha256=UJ_WjiHcMxR3DZb5LQm-bUs7i74tZi7DHXrWRyvqlpg,3154
|
|
134
135
|
snowflake/ml/jobs/_utils/scripts/constants.py,sha256=YyIWZqQPYOTtgCY6SfyJjk2A98I5RQVmrOuLtET5Pqg,173
|
|
135
136
|
snowflake/ml/jobs/_utils/scripts/get_instance_ip.py,sha256=N2wJYMPlwg-hidwgHhDhiBWOE6TskqCfWLMRRNnZBQs,5776
|
|
136
137
|
snowflake/ml/jobs/_utils/scripts/mljob_launcher.py,sha256=D2yheAux0GrIcxzD7IPEuUaRb4JyDdDpxRXXNlxszWQ,19912
|
|
@@ -147,7 +148,7 @@ snowflake/ml/model/custom_model.py,sha256=sdyKhT-QNNtTeu3idu6BExZNVyjUD4YTU8cru3
|
|
|
147
148
|
snowflake/ml/model/event_handler.py,sha256=pojleQVM9TPNeDvliTvon2Sfxqbf2WWxrOebo1SaEHo,7211
|
|
148
149
|
snowflake/ml/model/inference_engine.py,sha256=L0nwySY2Qwp3JzuRpPS87r0--m3HTUNUgZXYyOPJjyk,66
|
|
149
150
|
snowflake/ml/model/model_signature.py,sha256=ae1tkh3Rw9MzJSxmVT9kb0PwD3TANtKbWwp6b8-cItE,32847
|
|
150
|
-
snowflake/ml/model/openai_signatures.py,sha256=
|
|
151
|
+
snowflake/ml/model/openai_signatures.py,sha256=wu7l9V6-fWNJoAdE3R25hYBAmVfND5oaWdsUXilxBDo,7329
|
|
151
152
|
snowflake/ml/model/target_platform.py,sha256=H5d-wtuKQyVlq9x33vPtYZAlR5ka0ytcKRYgwlKl0bQ,390
|
|
152
153
|
snowflake/ml/model/task.py,sha256=Zp5JaLB-YfX5p_HSaw81P3J7UnycQq5EMa87A35VOaQ,286
|
|
153
154
|
snowflake/ml/model/type_hints.py,sha256=Xxa6b9ezbvXYvSIN5R4Zv6Dro4ZH74-eW4cno92VTJE,11475
|
|
@@ -155,18 +156,19 @@ snowflake/ml/model/volatility.py,sha256=qu-wqe9oKkRwXwE2qkKygxTWzUypQYEk3UjsqOGR
|
|
|
155
156
|
snowflake/ml/model/_client/model/batch_inference_specs.py,sha256=BA_pF9Hnwz9iIywi4CUaNMLPqWE4R7Q8QE9kWFU369E,4797
|
|
156
157
|
snowflake/ml/model/_client/model/inference_engine_utils.py,sha256=yPkdImi2qP1uG1WzLKCBZgXV-DiIBVpImEosIjYJk8Y,1958
|
|
157
158
|
snowflake/ml/model/_client/model/model_impl.py,sha256=Yabrbir5vPMOnsVmQJ23YN7vqhi756Jcm6pfO8Aq92o,17469
|
|
158
|
-
snowflake/ml/model/_client/model/model_version_impl.py,sha256=
|
|
159
|
+
snowflake/ml/model/_client/model/model_version_impl.py,sha256=Un8AiOjIxee8RmieXCMSeCfVWXjThurT5ABpXUDxjoM,69024
|
|
159
160
|
snowflake/ml/model/_client/ops/deployment_step.py,sha256=9kxKDr9xcD4KmVM-9O4_tm3ytkllQVoElJD793VI84Q,1428
|
|
160
161
|
snowflake/ml/model/_client/ops/metadata_ops.py,sha256=qpK6PL3OyfuhyOmpvLCpHLy6vCxbZbp1HlEvakFGwv4,4884
|
|
161
|
-
snowflake/ml/model/_client/ops/model_ops.py,sha256=
|
|
162
|
-
snowflake/ml/model/_client/ops/
|
|
162
|
+
snowflake/ml/model/_client/ops/model_ops.py,sha256=QzUFshidzdHkWIalbI0iLLA46OUgt4DWQVYQnHsWF3A,54272
|
|
163
|
+
snowflake/ml/model/_client/ops/param_utils.py,sha256=MPPerO8wYNYIuig4rFoG_YI5idD_dBlrWXgmAXcR2nM,5160
|
|
164
|
+
snowflake/ml/model/_client/ops/service_ops.py,sha256=Ew86CVvKiJtAMcoDw_1QmQqwdoVRxKH85yXmHr5PpEs,48414
|
|
163
165
|
snowflake/ml/model/_client/service/import_model_spec_schema.py,sha256=SlEX1GiPlB8whMCmiwKUopnrGlm4fkQOQbTW2KyVTFU,554
|
|
164
|
-
snowflake/ml/model/_client/service/model_deployment_spec.py,sha256=
|
|
165
|
-
snowflake/ml/model/_client/service/model_deployment_spec_schema.py,sha256=
|
|
166
|
+
snowflake/ml/model/_client/service/model_deployment_spec.py,sha256=Qg7cR9jQTnbWHIV5FyxUZocxWH0nFEem9wdOt5osKIw,20149
|
|
167
|
+
snowflake/ml/model/_client/service/model_deployment_spec_schema.py,sha256=2FCfhyg7F2XYVWKFybeEQ9Fq3goZ3XKmJdH_CuRqPpI,2649
|
|
166
168
|
snowflake/ml/model/_client/sql/_base.py,sha256=Qrm8M92g3MHb-QnSLUlbd8iVKCRxLhG_zr5M2qmXwJ8,1473
|
|
167
169
|
snowflake/ml/model/_client/sql/model.py,sha256=nstZ8zR7MkXVEfhqLt7PWMik6dZr06nzq7VsF5NVNow,5840
|
|
168
170
|
snowflake/ml/model/_client/sql/model_version.py,sha256=SOYr13YEq0mxgIatsSchOq0aKUgdPhKO3clRQ6AMa7U,24766
|
|
169
|
-
snowflake/ml/model/_client/sql/service.py,sha256=
|
|
171
|
+
snowflake/ml/model/_client/sql/service.py,sha256=e_qnt-mGlac1vCGjqOHjYDpplvZy8YiC82Ir0VyH1Tc,14882
|
|
170
172
|
snowflake/ml/model/_client/sql/stage.py,sha256=1TWYIVoWIeNwhVG9uqwmNpmKcC6x45LrbxCtzJW7fi4,1214
|
|
171
173
|
snowflake/ml/model/_client/sql/tag.py,sha256=9sI0VoldKmsfToWSjMQddozPPGCxYUI6n0gPBiqd6x8,4333
|
|
172
174
|
snowflake/ml/model/_model_composer/model_composer.py,sha256=1iMJe9b71xHC4K8VGTreQMJhI3ryAeQl3SpSK77uK_g,8313
|
|
@@ -174,10 +176,10 @@ snowflake/ml/model/_model_composer/model_manifest/model_manifest.py,sha256=MyNaO
|
|
|
174
176
|
snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py,sha256=GsHTjZPUpiVSePzNswNFxW3w07IQ32Vi_B9t-W8jUHE,3140
|
|
175
177
|
snowflake/ml/model/_model_composer/model_method/constants.py,sha256=hoJwIopSdZiYn0fGq15_NiirC0l02d5LEs2D-4J_tPk,35
|
|
176
178
|
snowflake/ml/model/_model_composer/model_method/function_generator.py,sha256=nnUJki3bJVCTF3gZ-usZW3xQ6wwlJ08EfNsPAgsnI3s,2625
|
|
177
|
-
snowflake/ml/model/_model_composer/model_method/infer_function.py_template,sha256=
|
|
178
|
-
snowflake/ml/model/_model_composer/model_method/infer_partitioned.py_template,sha256=
|
|
179
|
-
snowflake/ml/model/_model_composer/model_method/infer_table_function.py_template,sha256=
|
|
180
|
-
snowflake/ml/model/_model_composer/model_method/model_method.py,sha256=
|
|
179
|
+
snowflake/ml/model/_model_composer/model_method/infer_function.py_template,sha256=YBVm2KL6lUNuuyTwvYDrvc6x94SeqLPx7G_snRoUEMI,2193
|
|
180
|
+
snowflake/ml/model/_model_composer/model_method/infer_partitioned.py_template,sha256=QsnDLnPKYgm01HSAflxWUUr5rf_tDnEyI6d8wgXd3fE,2253
|
|
181
|
+
snowflake/ml/model/_model_composer/model_method/infer_table_function.py_template,sha256=p8ymUzEiZG6Rd7091HxRSEaxxNru6lT0SQAE46GcHxQ,2167
|
|
182
|
+
snowflake/ml/model/_model_composer/model_method/model_method.py,sha256=txvypSvsNh9mvJLwP01B4WiosFNzYjqLS-dSgD2bDYw,11916
|
|
181
183
|
snowflake/ml/model/_model_composer/model_method/utils.py,sha256=RQi2qebBeE-0Y-jLYXiDWZU8nfvbnif9QbExeWiMmyI,1057
|
|
182
184
|
snowflake/ml/model/_model_composer/model_user_file/model_user_file.py,sha256=dYNgg8P9p6nRH47-OLxZIbt_Ja3t1VPGNQ0qJtpGuAw,1018
|
|
183
185
|
snowflake/ml/model/_packager/model_handler.py,sha256=xbqTFDC7ArQyYuOk6zMV_dSttWbsKKVuaOUAY3ddQmE,2846
|
|
@@ -187,13 +189,13 @@ snowflake/ml/model/_packager/model_handlers/_base.py,sha256=OZhGv7nyej3PqaoBz021
|
|
|
187
189
|
snowflake/ml/model/_packager/model_handlers/_utils.py,sha256=v_IjjbvzJDqrAYSq4_l7_CiN8vkMzLx5MlYDJ_oL970,15522
|
|
188
190
|
snowflake/ml/model/_packager/model_handlers/catboost.py,sha256=dbI2QizGZS04l6ehgXb3oy5YSXrlwRHz8YENVefEbms,10676
|
|
189
191
|
snowflake/ml/model/_packager/model_handlers/custom.py,sha256=eOPTt3BoT5r9Z6rzvKaLhbffND647-j8aQ8fD50-cmA,10595
|
|
190
|
-
snowflake/ml/model/_packager/model_handlers/huggingface.py,sha256=
|
|
192
|
+
snowflake/ml/model/_packager/model_handlers/huggingface.py,sha256=rp4W4ZlkeGjaUq3xZHZuUVfroWggVDSXOGV5R0fbet8,45216
|
|
191
193
|
snowflake/ml/model/_packager/model_handlers/keras.py,sha256=JKBCiJEjc41zaoEhsen7rnlyPo2RBuEqG9Vq6JR_Cq0,8696
|
|
192
194
|
snowflake/ml/model/_packager/model_handlers/lightgbm.py,sha256=DAFMiqpXEUmKqeq5rgn5j6rtuwScNnuiMUBwS4OyC7Q,11074
|
|
193
195
|
snowflake/ml/model/_packager/model_handlers/mlflow.py,sha256=6ZkRRiaTtFatIv1zaWAJ-TGkTRTmrj0P-YCSgpYnRrQ,9434
|
|
194
196
|
snowflake/ml/model/_packager/model_handlers/prophet.py,sha256=MzmIkX2WukTApf85SUEmn8k_jeBAhfGa_8RTZK0-aCA,23913
|
|
195
197
|
snowflake/ml/model/_packager/model_handlers/pytorch.py,sha256=mF-pzH1kqL7egpYA3kP1NVwOLNPYdOViEkywdzRXYJc,9867
|
|
196
|
-
snowflake/ml/model/_packager/model_handlers/sentence_transformers.py,sha256=
|
|
198
|
+
snowflake/ml/model/_packager/model_handlers/sentence_transformers.py,sha256=ER3FEZB-iq3_rGxofOsBGDFSuxC2OUOm020rP97SEhs,13023
|
|
197
199
|
snowflake/ml/model/_packager/model_handlers/sklearn.py,sha256=_D1YE7TmEJDsuOUt-mT-2Nza2Bz0sIzSGRKn9sxuDhI,18340
|
|
198
200
|
snowflake/ml/model/_packager/model_handlers/snowmlmodel.py,sha256=uvz-hosuNbtcQFprnS8GzjnM8fWULBDMRbXq8immW9Q,18352
|
|
199
201
|
snowflake/ml/model/_packager/model_handlers/tensorflow.py,sha256=2J2XWYOC70axWaoNJa9aQLMyjLAKIskrT31t_LgqcIk,11350
|
|
@@ -222,7 +224,7 @@ snowflake/ml/model/_signatures/pandas_handler.py,sha256=Gz2olwWzT4Kb3yBH0uYn3o92
|
|
|
222
224
|
snowflake/ml/model/_signatures/pytorch_handler.py,sha256=Xy-ITCCX_EgHcyIIqeYSDUIvE2kiqECa8swy1hmohyc,5036
|
|
223
225
|
snowflake/ml/model/_signatures/snowpark_handler.py,sha256=aNGPa2v0kTMuSZ80NBdHeAWYva0Nc1vo17ZjQwIjf2E,7621
|
|
224
226
|
snowflake/ml/model/_signatures/tensorflow_handler.py,sha256=_yrvMg-w_jJoYuyrGXKPX4Dv7Vt8z1e6xIKiWGuZcc4,5660
|
|
225
|
-
snowflake/ml/model/_signatures/utils.py,sha256=
|
|
227
|
+
snowflake/ml/model/_signatures/utils.py,sha256=6iu52gcbaZXQb6rDgzGJDNRhKQk0MqwJnt9ihDZQHC4,19014
|
|
226
228
|
snowflake/ml/model/models/huggingface.py,sha256=VO84lBizmSALntWCnK4O_eY_Cq2uzMooyHtfJXuFkew,13791
|
|
227
229
|
snowflake/ml/model/models/huggingface_pipeline.py,sha256=yJ7NW97EW5GRtOPYCYuNjoPIgXbAIyOEKW9P1trt9vY,14226
|
|
228
230
|
snowflake/ml/modeling/_internal/estimator_utils.py,sha256=dfPPWO-RHf5C3Tya3VQ4KEqoa32pm-WKwRrjzjDInLk,13956
|
|
@@ -453,14 +455,14 @@ snowflake/ml/monitoring/entities/model_monitor_config.py,sha256=auy9BD0IoyUpZPZX
|
|
|
453
455
|
snowflake/ml/registry/__init__.py,sha256=XdPQK9ejYkSJVrSQ7HD3jKQO0hKq2mC4bPCB6qrtH3U,76
|
|
454
456
|
snowflake/ml/registry/registry.py,sha256=_vtQCh4DmhnPusTKWJteRPJkDpLFEfG150cjED70sOA,34611
|
|
455
457
|
snowflake/ml/registry/_manager/model_manager.py,sha256=splK5YGErt-eDIy6UbZAB3VKsGMZSJk2_MzfgrIQOhY,26306
|
|
456
|
-
snowflake/ml/registry/_manager/model_parameter_reconciler.py,sha256=
|
|
458
|
+
snowflake/ml/registry/_manager/model_parameter_reconciler.py,sha256=BTi8WNQCW1TiW8jd9LbR6mrIHE29ehocKSh6mVQX0vI,15325
|
|
457
459
|
snowflake/ml/utils/authentication.py,sha256=TQV3E8YDHAPXA3dS8JWDmb_Zm8P0d9c8kCexRI4nefo,3106
|
|
458
460
|
snowflake/ml/utils/connection_params.py,sha256=NSBUgcs-DXPRHs1BKpxdSubbJx1yrFRlMPBp-bE3Ugc,8308
|
|
459
461
|
snowflake/ml/utils/html_utils.py,sha256=4g1EPuD8EnOAK7BCYiY8Wp3ZrdDkNOcUDrDAbUYxLfs,9954
|
|
460
462
|
snowflake/ml/utils/sparse.py,sha256=zLBNh-ynhGpKH5TFtopk0YLkHGvv0yq1q-sV59YQKgg,3819
|
|
461
463
|
snowflake/ml/utils/sql_client.py,sha256=pSe2od6Pkh-8NwG3D-xqN76_uNf-ohOtVbT55HeQg1Y,668
|
|
462
|
-
snowflake_ml_python-1.
|
|
463
|
-
snowflake_ml_python-1.
|
|
464
|
-
snowflake_ml_python-1.
|
|
465
|
-
snowflake_ml_python-1.
|
|
466
|
-
snowflake_ml_python-1.
|
|
464
|
+
snowflake_ml_python-1.23.0.dist-info/licenses/LICENSE.txt,sha256=PdEp56Av5m3_kl21iFkVTX_EbHJKFGEdmYeIO1pL_Yk,11365
|
|
465
|
+
snowflake_ml_python-1.23.0.dist-info/METADATA,sha256=xQBz4OlefNPg0IGBeFQ3iFWZA3WYziR-xmnaVaiyQE8,104165
|
|
466
|
+
snowflake_ml_python-1.23.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
467
|
+
snowflake_ml_python-1.23.0.dist-info/top_level.txt,sha256=TY0gFSHKDdZy3THb0FGomyikWQasEGldIR1O0HGOHVw,10
|
|
468
|
+
snowflake_ml_python-1.23.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
{snowflake_ml_python-1.22.0.dist-info → snowflake_ml_python-1.23.0.dist-info}/licenses/LICENSE.txt
RENAMED
|
File without changes
|
|
File without changes
|