snowflake-ml-python 1.24.0__py3-none-any.whl → 1.25.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/_internal/utils/mixins.py +26 -1
- snowflake/ml/data/_internal/arrow_ingestor.py +5 -1
- snowflake/ml/data/data_connector.py +2 -2
- snowflake/ml/data/data_ingestor.py +2 -1
- snowflake/ml/experiment/_experiment_info.py +3 -3
- snowflake/ml/jobs/_interop/data_utils.py +8 -8
- snowflake/ml/jobs/_interop/dto_schema.py +52 -7
- snowflake/ml/jobs/_interop/protocols.py +124 -7
- snowflake/ml/jobs/_interop/utils.py +92 -33
- snowflake/ml/jobs/_utils/arg_protocol.py +7 -0
- snowflake/ml/jobs/_utils/constants.py +4 -0
- snowflake/ml/jobs/_utils/feature_flags.py +97 -13
- snowflake/ml/jobs/_utils/payload_utils.py +6 -40
- snowflake/ml/jobs/_utils/runtime_env_utils.py +12 -111
- snowflake/ml/jobs/_utils/scripts/mljob_launcher.py +204 -27
- snowflake/ml/jobs/decorators.py +17 -22
- snowflake/ml/jobs/job.py +25 -10
- snowflake/ml/jobs/job_definition.py +100 -8
- snowflake/ml/model/_client/model/model_version_impl.py +25 -14
- snowflake/ml/model/_client/ops/service_ops.py +6 -6
- snowflake/ml/model/_client/service/model_deployment_spec.py +3 -0
- snowflake/ml/model/_client/service/model_deployment_spec_schema.py +1 -0
- snowflake/ml/model/models/huggingface_pipeline.py +3 -0
- snowflake/ml/model/openai_signatures.py +154 -0
- snowflake/ml/registry/_manager/model_parameter_reconciler.py +2 -3
- snowflake/ml/version.py +1 -1
- {snowflake_ml_python-1.24.0.dist-info → snowflake_ml_python-1.25.0.dist-info}/METADATA +41 -2
- {snowflake_ml_python-1.24.0.dist-info → snowflake_ml_python-1.25.0.dist-info}/RECORD +31 -32
- {snowflake_ml_python-1.24.0.dist-info → snowflake_ml_python-1.25.0.dist-info}/WHEEL +1 -1
- snowflake/ml/jobs/_utils/function_payload_utils.py +0 -43
- snowflake/ml/jobs/_utils/spec_utils.py +0 -22
- {snowflake_ml_python-1.24.0.dist-info → snowflake_ml_python-1.25.0.dist-info}/licenses/LICENSE.txt +0 -0
- {snowflake_ml_python-1.24.0.dist-info → snowflake_ml_python-1.25.0.dist-info}/top_level.txt +0 -0
|
@@ -88,6 +88,96 @@ _OPENAI_CHAT_SIGNATURE_SPEC = core.ModelSignature(
|
|
|
88
88
|
],
|
|
89
89
|
)
|
|
90
90
|
|
|
91
|
+
_OPENAI_CHAT_SIGNATURE_WITH_PARAMS_SPEC = core.ModelSignature(
|
|
92
|
+
inputs=[
|
|
93
|
+
core.FeatureGroupSpec(
|
|
94
|
+
name="messages",
|
|
95
|
+
specs=[
|
|
96
|
+
core.FeatureGroupSpec(
|
|
97
|
+
name="content",
|
|
98
|
+
specs=[
|
|
99
|
+
core.FeatureSpec(name="type", dtype=core.DataType.STRING),
|
|
100
|
+
# Text prompts
|
|
101
|
+
core.FeatureSpec(name="text", dtype=core.DataType.STRING),
|
|
102
|
+
# Image URL prompts
|
|
103
|
+
core.FeatureGroupSpec(
|
|
104
|
+
name="image_url",
|
|
105
|
+
specs=[
|
|
106
|
+
# Base64 encoded image URL or image URL
|
|
107
|
+
core.FeatureSpec(name="url", dtype=core.DataType.STRING),
|
|
108
|
+
# Image detail level (e.g., "low", "high", "auto")
|
|
109
|
+
core.FeatureSpec(name="detail", dtype=core.DataType.STRING),
|
|
110
|
+
],
|
|
111
|
+
),
|
|
112
|
+
# Video URL prompts
|
|
113
|
+
core.FeatureGroupSpec(
|
|
114
|
+
name="video_url",
|
|
115
|
+
specs=[
|
|
116
|
+
# Base64 encoded video URL
|
|
117
|
+
core.FeatureSpec(name="url", dtype=core.DataType.STRING),
|
|
118
|
+
],
|
|
119
|
+
),
|
|
120
|
+
# Audio prompts
|
|
121
|
+
core.FeatureGroupSpec(
|
|
122
|
+
name="input_audio",
|
|
123
|
+
specs=[
|
|
124
|
+
core.FeatureSpec(name="data", dtype=core.DataType.STRING),
|
|
125
|
+
core.FeatureSpec(name="format", dtype=core.DataType.STRING),
|
|
126
|
+
],
|
|
127
|
+
),
|
|
128
|
+
],
|
|
129
|
+
shape=(-1,),
|
|
130
|
+
),
|
|
131
|
+
core.FeatureSpec(name="name", dtype=core.DataType.STRING),
|
|
132
|
+
core.FeatureSpec(name="role", dtype=core.DataType.STRING),
|
|
133
|
+
core.FeatureSpec(name="title", dtype=core.DataType.STRING),
|
|
134
|
+
],
|
|
135
|
+
shape=(-1,),
|
|
136
|
+
),
|
|
137
|
+
],
|
|
138
|
+
outputs=[
|
|
139
|
+
core.FeatureSpec(name="id", dtype=core.DataType.STRING),
|
|
140
|
+
core.FeatureSpec(name="object", dtype=core.DataType.STRING),
|
|
141
|
+
core.FeatureSpec(name="created", dtype=core.DataType.FLOAT),
|
|
142
|
+
core.FeatureSpec(name="model", dtype=core.DataType.STRING),
|
|
143
|
+
core.FeatureGroupSpec(
|
|
144
|
+
name="choices",
|
|
145
|
+
specs=[
|
|
146
|
+
core.FeatureSpec(name="index", dtype=core.DataType.INT32),
|
|
147
|
+
core.FeatureGroupSpec(
|
|
148
|
+
name="message",
|
|
149
|
+
specs=[
|
|
150
|
+
core.FeatureSpec(name="content", dtype=core.DataType.STRING),
|
|
151
|
+
core.FeatureSpec(name="name", dtype=core.DataType.STRING),
|
|
152
|
+
core.FeatureSpec(name="role", dtype=core.DataType.STRING),
|
|
153
|
+
],
|
|
154
|
+
),
|
|
155
|
+
core.FeatureSpec(name="logprobs", dtype=core.DataType.STRING),
|
|
156
|
+
core.FeatureSpec(name="finish_reason", dtype=core.DataType.STRING),
|
|
157
|
+
],
|
|
158
|
+
shape=(-1,),
|
|
159
|
+
),
|
|
160
|
+
core.FeatureGroupSpec(
|
|
161
|
+
name="usage",
|
|
162
|
+
specs=[
|
|
163
|
+
core.FeatureSpec(name="completion_tokens", dtype=core.DataType.INT32),
|
|
164
|
+
core.FeatureSpec(name="prompt_tokens", dtype=core.DataType.INT32),
|
|
165
|
+
core.FeatureSpec(name="total_tokens", dtype=core.DataType.INT32),
|
|
166
|
+
],
|
|
167
|
+
),
|
|
168
|
+
],
|
|
169
|
+
params=[
|
|
170
|
+
core.ParamSpec(name="temperature", dtype=core.DataType.DOUBLE, default_value=1.0),
|
|
171
|
+
core.ParamSpec(name="max_completion_tokens", dtype=core.DataType.INT64, default_value=250),
|
|
172
|
+
core.ParamSpec(name="stop", dtype=core.DataType.STRING, default_value=""),
|
|
173
|
+
core.ParamSpec(name="n", dtype=core.DataType.INT32, default_value=1),
|
|
174
|
+
core.ParamSpec(name="stream", dtype=core.DataType.BOOL, default_value=False),
|
|
175
|
+
core.ParamSpec(name="top_p", dtype=core.DataType.DOUBLE, default_value=1.0),
|
|
176
|
+
core.ParamSpec(name="frequency_penalty", dtype=core.DataType.DOUBLE, default_value=0.0),
|
|
177
|
+
core.ParamSpec(name="presence_penalty", dtype=core.DataType.DOUBLE, default_value=0.0),
|
|
178
|
+
],
|
|
179
|
+
)
|
|
180
|
+
|
|
91
181
|
_OPENAI_CHAT_SIGNATURE_SPEC_WITH_CONTENT_FORMAT_STRING = core.ModelSignature(
|
|
92
182
|
inputs=[
|
|
93
183
|
core.FeatureGroupSpec(
|
|
@@ -142,6 +232,62 @@ _OPENAI_CHAT_SIGNATURE_SPEC_WITH_CONTENT_FORMAT_STRING = core.ModelSignature(
|
|
|
142
232
|
],
|
|
143
233
|
)
|
|
144
234
|
|
|
235
|
+
_OPENAI_CHAT_SIGNATURE_WITH_PARAMS_SPEC_WITH_CONTENT_FORMAT_STRING = core.ModelSignature(
|
|
236
|
+
inputs=[
|
|
237
|
+
core.FeatureGroupSpec(
|
|
238
|
+
name="messages",
|
|
239
|
+
specs=[
|
|
240
|
+
core.FeatureSpec(name="content", dtype=core.DataType.STRING),
|
|
241
|
+
core.FeatureSpec(name="name", dtype=core.DataType.STRING),
|
|
242
|
+
core.FeatureSpec(name="role", dtype=core.DataType.STRING),
|
|
243
|
+
core.FeatureSpec(name="title", dtype=core.DataType.STRING),
|
|
244
|
+
],
|
|
245
|
+
shape=(-1,),
|
|
246
|
+
),
|
|
247
|
+
],
|
|
248
|
+
outputs=[
|
|
249
|
+
core.FeatureSpec(name="id", dtype=core.DataType.STRING),
|
|
250
|
+
core.FeatureSpec(name="object", dtype=core.DataType.STRING),
|
|
251
|
+
core.FeatureSpec(name="created", dtype=core.DataType.FLOAT),
|
|
252
|
+
core.FeatureSpec(name="model", dtype=core.DataType.STRING),
|
|
253
|
+
core.FeatureGroupSpec(
|
|
254
|
+
name="choices",
|
|
255
|
+
specs=[
|
|
256
|
+
core.FeatureSpec(name="index", dtype=core.DataType.INT32),
|
|
257
|
+
core.FeatureGroupSpec(
|
|
258
|
+
name="message",
|
|
259
|
+
specs=[
|
|
260
|
+
core.FeatureSpec(name="content", dtype=core.DataType.STRING),
|
|
261
|
+
core.FeatureSpec(name="name", dtype=core.DataType.STRING),
|
|
262
|
+
core.FeatureSpec(name="role", dtype=core.DataType.STRING),
|
|
263
|
+
],
|
|
264
|
+
),
|
|
265
|
+
core.FeatureSpec(name="logprobs", dtype=core.DataType.STRING),
|
|
266
|
+
core.FeatureSpec(name="finish_reason", dtype=core.DataType.STRING),
|
|
267
|
+
],
|
|
268
|
+
shape=(-1,),
|
|
269
|
+
),
|
|
270
|
+
core.FeatureGroupSpec(
|
|
271
|
+
name="usage",
|
|
272
|
+
specs=[
|
|
273
|
+
core.FeatureSpec(name="completion_tokens", dtype=core.DataType.INT32),
|
|
274
|
+
core.FeatureSpec(name="prompt_tokens", dtype=core.DataType.INT32),
|
|
275
|
+
core.FeatureSpec(name="total_tokens", dtype=core.DataType.INT32),
|
|
276
|
+
],
|
|
277
|
+
),
|
|
278
|
+
],
|
|
279
|
+
params=[
|
|
280
|
+
core.ParamSpec(name="temperature", dtype=core.DataType.DOUBLE, default_value=1.0),
|
|
281
|
+
core.ParamSpec(name="max_completion_tokens", dtype=core.DataType.INT64, default_value=250),
|
|
282
|
+
core.ParamSpec(name="stop", dtype=core.DataType.STRING, default_value=""),
|
|
283
|
+
core.ParamSpec(name="n", dtype=core.DataType.INT32, default_value=1),
|
|
284
|
+
core.ParamSpec(name="stream", dtype=core.DataType.BOOL, default_value=False),
|
|
285
|
+
core.ParamSpec(name="top_p", dtype=core.DataType.DOUBLE, default_value=1.0),
|
|
286
|
+
core.ParamSpec(name="frequency_penalty", dtype=core.DataType.DOUBLE, default_value=0.0),
|
|
287
|
+
core.ParamSpec(name="presence_penalty", dtype=core.DataType.DOUBLE, default_value=0.0),
|
|
288
|
+
],
|
|
289
|
+
)
|
|
290
|
+
|
|
145
291
|
|
|
146
292
|
# Refer vLLM documentation: https://docs.vllm.ai/en/stable/serving/openai_compatible_server/#chat-template
|
|
147
293
|
|
|
@@ -152,3 +298,11 @@ OPENAI_CHAT_SIGNATURE_WITH_CONTENT_FORMAT_STRING = {"__call__": _OPENAI_CHAT_SIG
|
|
|
152
298
|
# This is the default signature.
|
|
153
299
|
# The content format allows vLLM to handler content parts like text, image, video, audio, file, etc.
|
|
154
300
|
OPENAI_CHAT_SIGNATURE = {"__call__": _OPENAI_CHAT_SIGNATURE_SPEC}
|
|
301
|
+
|
|
302
|
+
# Use this signature to leverage ParamSpec with the default ChatML template.
|
|
303
|
+
OPENAI_CHAT_WITH_PARAMS_SIGNATURE = {"__call__": _OPENAI_CHAT_SIGNATURE_WITH_PARAMS_SPEC}
|
|
304
|
+
|
|
305
|
+
# Use this signature to leverage ParamSpec with the content format string.
|
|
306
|
+
OPENAI_CHAT_WITH_PARAMS_SIGNATURE_WITH_CONTENT_FORMAT_STRING = {
|
|
307
|
+
"__call__": _OPENAI_CHAT_SIGNATURE_WITH_PARAMS_SPEC_WITH_CONTENT_FORMAT_STRING
|
|
308
|
+
}
|
|
@@ -193,12 +193,11 @@ class ModelParameterReconciler:
|
|
|
193
193
|
if enable_explainability:
|
|
194
194
|
if only_spcs or not is_warehouse_runnable:
|
|
195
195
|
raise ValueError(
|
|
196
|
-
"`enable_explainability` cannot be set to True when the model
|
|
197
|
-
"or the target platforms include SPCS."
|
|
196
|
+
"`enable_explainability` cannot be set to True when the model cannot run in Warehouse."
|
|
198
197
|
)
|
|
199
198
|
elif has_both_platforms:
|
|
200
199
|
warnings.warn(
|
|
201
|
-
("Explain function will only be available for model deployed to
|
|
200
|
+
("Explain function will only be available for model deployed to Warehouse."),
|
|
202
201
|
category=UserWarning,
|
|
203
202
|
stacklevel=2,
|
|
204
203
|
)
|
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.25.0"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: snowflake-ml-python
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.25.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,37 @@ 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.25.0
|
|
421
|
+
|
|
422
|
+
### New Features
|
|
423
|
+
|
|
424
|
+
* ML Job: Added support for creating ML job definitions and launching jobs with different
|
|
425
|
+
arguments without re-uploading payloads.
|
|
426
|
+
|
|
427
|
+
* Inference Autocapture (PuPr): The `create_service` API will now accept `autocapture` as a new argument to indicate
|
|
428
|
+
whether inference data will be captured.
|
|
429
|
+
|
|
430
|
+
* Model serving: Introduced the `min_instances` field in the `mv.create_service()` and
|
|
431
|
+
`HuggingFacePipelineModel.log_model_and_create_service()` APIs (defaulting to 0). The service now launches
|
|
432
|
+
with the `min_instances` and automatically scales between `min_instances` and `max_instances` based on
|
|
433
|
+
traffic and hardware utilization. When `min_instances` is set to 0, the service will automatically suspend
|
|
434
|
+
if no traffic is detected for a period of time.
|
|
435
|
+
|
|
436
|
+
### Bug Fixes
|
|
437
|
+
|
|
438
|
+
### Behavior Changes
|
|
439
|
+
|
|
440
|
+
* Inference Autocapture (PuPr): `list_services()` now shows `autocapture_enabled` column to indicate if model
|
|
441
|
+
service has autocapture enabled.
|
|
442
|
+
|
|
443
|
+
* Model serving: The `mv.create_service()` and `HuggingFacePipelineModel.log_model_and_create_service()` APIs now
|
|
444
|
+
include a `min_instances` field (defaulting to 0). When these APIs are called without specifying `min_instances`,
|
|
445
|
+
the system will now launch the service with 1 instance and enable auto scaling. This replaces the previous behavior,
|
|
446
|
+
where `min_instances` was automatically set to match `max_instances`, resulting in the immediate launch of the
|
|
447
|
+
maximum number of instances.
|
|
448
|
+
|
|
449
|
+
### Deprecations
|
|
450
|
+
|
|
420
451
|
## 1.24.0
|
|
421
452
|
|
|
422
453
|
### New Features
|
|
@@ -520,7 +551,15 @@ x_df = pd.DataFrame.from_records(
|
|
|
520
551
|
[
|
|
521
552
|
{
|
|
522
553
|
"messages": [
|
|
523
|
-
{
|
|
554
|
+
{
|
|
555
|
+
"role": "system",
|
|
556
|
+
"content": [
|
|
557
|
+
{
|
|
558
|
+
"type": "text",
|
|
559
|
+
"text": "Complete the sentence."
|
|
560
|
+
},
|
|
561
|
+
]
|
|
562
|
+
},
|
|
524
563
|
{
|
|
525
564
|
"role": "user",
|
|
526
565
|
"content": [
|
|
@@ -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=V1sQKmkr-QMsegsFN8N1EoPDeU1CzZe6ofRecCIByco,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
|
|
@@ -40,7 +40,7 @@ snowflake/ml/_internal/utils/formatting.py,sha256=PswZ6Xas7sx3Ok1MBLoH2o7nfXOxaJ
|
|
|
40
40
|
snowflake/ml/_internal/utils/identifier.py,sha256=HrcCBOyn93fRjMj4K1YJG37ONtw7e3EZnt29LzhEgLA,12586
|
|
41
41
|
snowflake/ml/_internal/utils/import_utils.py,sha256=msvUDaCcJpAcNCS-5Ynz4F1CvUhXjRsuZyOv1rN6Yhk,3213
|
|
42
42
|
snowflake/ml/_internal/utils/jwt_generator.py,sha256=X8D_bjVRnpcSCuJFjrA71KBJDRFXD_73tVu4VL9agpE,5441
|
|
43
|
-
snowflake/ml/_internal/utils/mixins.py,sha256=
|
|
43
|
+
snowflake/ml/_internal/utils/mixins.py,sha256=FxpB5ZJBJk9Cv3dI_YiJDkBzMRel60aOD_xn67TFR5s,4708
|
|
44
44
|
snowflake/ml/_internal/utils/parallelize.py,sha256=l8Zjo-hp8zqoLgHxBlpz9Zmn2Z-MRQ0fS_NnrR4jWR8,4522
|
|
45
45
|
snowflake/ml/_internal/utils/pkg_version_utils.py,sha256=EaY_3IsVOZ9BCH28F5VLjp-0AiEqDlL7L715vkPsgrY,5149
|
|
46
46
|
snowflake/ml/_internal/utils/query_result_checker.py,sha256=1PR41Xn9BUIXvp-UmJ9FgEbj8WfgU7RUhz3PqvvVQ5E,10656
|
|
@@ -53,19 +53,19 @@ snowflake/ml/_internal/utils/table_manager.py,sha256=Wf3JXLUzdCiffKF9PJj7edHY7us
|
|
|
53
53
|
snowflake/ml/_internal/utils/temp_file_utils.py,sha256=eHyyvxHfj4Z3FIS6VWgNyw5bFjNi5cSGYmY1hzyqzwY,1534
|
|
54
54
|
snowflake/ml/_internal/utils/url.py,sha256=V3Y5zwNhJouy_cyLTa2rogg5nQZ-Ag-7Rmq-qPPEjmg,1219
|
|
55
55
|
snowflake/ml/data/__init__.py,sha256=nm5VhN98Lzxr4kb679kglQfqbDbHhd9zYsnFJiQiThg,351
|
|
56
|
-
snowflake/ml/data/data_connector.py,sha256=
|
|
57
|
-
snowflake/ml/data/data_ingestor.py,sha256=
|
|
56
|
+
snowflake/ml/data/data_connector.py,sha256=rzSW-z6YR5RQZH8aj7gbjyHhdwecCYKbrkk6-SReE68,14174
|
|
57
|
+
snowflake/ml/data/data_ingestor.py,sha256=Fxy1wuw0-6dWjJhBn9o5ZhzXKIpaaM5Y6Ji9XZGO5g0,1203
|
|
58
58
|
snowflake/ml/data/data_source.py,sha256=HjBO1xqTyJfAvEAGESUIdke0KvSj5S5-FcI2D2zgejI,512
|
|
59
59
|
snowflake/ml/data/ingestor_utils.py,sha256=JOv7Kvs0DNhsXUjl940ZULDkeTjIcePCfQ9aL_NteV0,2721
|
|
60
60
|
snowflake/ml/data/torch_utils.py,sha256=1IgXiqxLgUh0yyNqchOSps5gLqmMOglSctoifjJIDFI,3591
|
|
61
|
-
snowflake/ml/data/_internal/arrow_ingestor.py,sha256=
|
|
61
|
+
snowflake/ml/data/_internal/arrow_ingestor.py,sha256=0YfgMGDqq72O28nrV_LOgH-lpM1oljDhyn--BdNYKG0,16025
|
|
62
62
|
snowflake/ml/dataset/__init__.py,sha256=nESj7YEI2u90Oxyit_hKCQMWb7N1BlEM3Ho2Fm0MfHo,274
|
|
63
63
|
snowflake/ml/dataset/dataset.py,sha256=Uo99ZfAIpY9LZ4_gMsQfY_SwUpPnbfkuEcViHmSV6HA,21067
|
|
64
64
|
snowflake/ml/dataset/dataset_factory.py,sha256=Fym4ICK-B1j6Om4ENwWxEvryq3ZKoCslBSZDBenmjOo,1615
|
|
65
65
|
snowflake/ml/dataset/dataset_metadata.py,sha256=lcNvugBkP8YEkGMQqaV8SlHs5mwUKsUS8GgaPGNm6wM,4145
|
|
66
66
|
snowflake/ml/dataset/dataset_reader.py,sha256=mZsG9HyWUGgfotrGkLrunyEsOm_659mH-Sn2OyG6A-Q,5036
|
|
67
67
|
snowflake/ml/experiment/__init__.py,sha256=r7qdyPd3jwxzqvksim2ju5j_LrnYQrta0ZI6XpWUqmc,109
|
|
68
|
-
snowflake/ml/experiment/_experiment_info.py,sha256=
|
|
68
|
+
snowflake/ml/experiment/_experiment_info.py,sha256=B47YwCfp7qr1ZNnvDXzjFuk69R4_Qa3a-nVs5gE1OXc,2592
|
|
69
69
|
snowflake/ml/experiment/experiment_tracking.py,sha256=X4R4S6TjWkRB6F6RkPoFY4iOO44of4YMj_whcKoSayk,21841
|
|
70
70
|
snowflake/ml/experiment/utils.py,sha256=5lanWEq6tgWnOMHCX4FnfBmpIQEIgH57Cz0YtpaAa2Y,830
|
|
71
71
|
snowflake/ml/experiment/_client/artifact.py,sha256=R2WB4Y_kqv43BWLfXv8SEDINn1Bnevzgb-mH5LyvgGk,3035
|
|
@@ -114,31 +114,30 @@ snowflake/ml/fileset/sfcfs.py,sha256=FJFc9-gc0KXaNyc10ZovN_87aUCShb0WztVwa02t0io
|
|
|
114
114
|
snowflake/ml/fileset/snowfs.py,sha256=uF5QluYtiJ-HezGIhF55dONi3t0E6N7ByaVAIAlM3nk,5133
|
|
115
115
|
snowflake/ml/fileset/stage_fs.py,sha256=SnkgCta6_5G6Ljl-Nzctr4yavhHUSlNKN3je0ojp54E,20685
|
|
116
116
|
snowflake/ml/jobs/__init__.py,sha256=JypKzxERpcn4yJ7FILA98Gl0sFDEGkAIQ35b1iSzaXg,741
|
|
117
|
-
snowflake/ml/jobs/decorators.py,sha256=
|
|
118
|
-
snowflake/ml/jobs/job.py,sha256=
|
|
119
|
-
snowflake/ml/jobs/job_definition.py,sha256=
|
|
117
|
+
snowflake/ml/jobs/decorators.py,sha256=ugaVGOLTlYFyohYbErCyWU5Aqh2gwSlNAmn7Yr55dsE,3241
|
|
118
|
+
snowflake/ml/jobs/job.py,sha256=t1kk2Il8NQcDsVphw38_V6Hha5c0ToO9sI6M8lws-NE,28275
|
|
119
|
+
snowflake/ml/jobs/job_definition.py,sha256=qTB2T9UrZXCS5xaznDCsFHG4mdyFzymOPOInHbIRRwc,14822
|
|
120
120
|
snowflake/ml/jobs/manager.py,sha256=heuOXEn7Y5Gb5s2y55GEx6i9mr-Z2tTL-b0rPGYv3ao,20469
|
|
121
121
|
snowflake/ml/jobs/_interop/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
122
|
-
snowflake/ml/jobs/_interop/data_utils.py,sha256=
|
|
123
|
-
snowflake/ml/jobs/_interop/dto_schema.py,sha256=
|
|
122
|
+
snowflake/ml/jobs/_interop/data_utils.py,sha256=Cw0Mpa_bs-Co_z3EVf93fLjlXE9U6gMfILrU8BHjj_k,4109
|
|
123
|
+
snowflake/ml/jobs/_interop/dto_schema.py,sha256=QlFYvlarJNI_gALZgVdNej08oBy2E7dPRdpMQTrvoHc,4272
|
|
124
124
|
snowflake/ml/jobs/_interop/exception_utils.py,sha256=ZCphBkaaNINFATXZmjPzzNLKZZxKvGPROZ2azU8w13g,16348
|
|
125
125
|
snowflake/ml/jobs/_interop/legacy.py,sha256=8BuC197e6nPmAzh4urYiuBuCNP-RlOlvWnWpSHTduqQ,9238
|
|
126
|
-
snowflake/ml/jobs/_interop/protocols.py,sha256=
|
|
126
|
+
snowflake/ml/jobs/_interop/protocols.py,sha256=YNCIT_FzjFPfEGp78QlolIYBxo3IMbsSRo9tBfeB0Ic,23026
|
|
127
127
|
snowflake/ml/jobs/_interop/results.py,sha256=nQ07XJ1BZEkPB4xa12pbGyaKqR8sWCoSzx0IKQlub4w,1714
|
|
128
|
-
snowflake/ml/jobs/_interop/utils.py,sha256=
|
|
128
|
+
snowflake/ml/jobs/_interop/utils.py,sha256=WkScRL88GmDD-cm_xqSIhCelK-793ERfwY3Y8U8zMMY,8102
|
|
129
129
|
snowflake/ml/jobs/_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
130
|
-
snowflake/ml/jobs/_utils/
|
|
131
|
-
snowflake/ml/jobs/_utils/
|
|
132
|
-
snowflake/ml/jobs/_utils/
|
|
133
|
-
snowflake/ml/jobs/_utils/payload_utils.py,sha256=
|
|
130
|
+
snowflake/ml/jobs/_utils/arg_protocol.py,sha256=SP60NjjxFEvGBWftfSSj2lU0PIrDMBdGzZ6fgA_VZOE,89
|
|
131
|
+
snowflake/ml/jobs/_utils/constants.py,sha256=rLT2gTT_iv2Cia0b_fERb5U0Lc7Zuuu67QP8csNeR8I,4785
|
|
132
|
+
snowflake/ml/jobs/_utils/feature_flags.py,sha256=j1PvXFTc83ds6I1575X0xnfIz-qRlnUwna8ZhQN1pUw,4831
|
|
133
|
+
snowflake/ml/jobs/_utils/payload_utils.py,sha256=fAe9CN_mbbqtgfaUe61nKZTTPbeSPy4G1EB6wQImNwA,32681
|
|
134
134
|
snowflake/ml/jobs/_utils/query_helper.py,sha256=DxezZzftVT7WZzf0uzEn0l6U7BFLNU4U4W_IRCzgbaI,1265
|
|
135
|
-
snowflake/ml/jobs/_utils/runtime_env_utils.py,sha256=
|
|
136
|
-
snowflake/ml/jobs/_utils/spec_utils.py,sha256=eC24LFiHtHQiswrZy7m94jixIInJFXNZ_-Km-xr9NJg,871
|
|
135
|
+
snowflake/ml/jobs/_utils/runtime_env_utils.py,sha256=l7IegZo_UYeQQEXs8gptP8UBEnikGcxP49Ocp0t2d0I,751
|
|
137
136
|
snowflake/ml/jobs/_utils/stage_utils.py,sha256=vUWBj5nAsdcYe5Gtv_JhHYMbE5sKGFW6w7qh6uPtBUI,5912
|
|
138
137
|
snowflake/ml/jobs/_utils/types.py,sha256=UJ_WjiHcMxR3DZb5LQm-bUs7i74tZi7DHXrWRyvqlpg,3154
|
|
139
138
|
snowflake/ml/jobs/_utils/scripts/constants.py,sha256=YyIWZqQPYOTtgCY6SfyJjk2A98I5RQVmrOuLtET5Pqg,173
|
|
140
139
|
snowflake/ml/jobs/_utils/scripts/get_instance_ip.py,sha256=N2wJYMPlwg-hidwgHhDhiBWOE6TskqCfWLMRRNnZBQs,5776
|
|
141
|
-
snowflake/ml/jobs/_utils/scripts/mljob_launcher.py,sha256=
|
|
140
|
+
snowflake/ml/jobs/_utils/scripts/mljob_launcher.py,sha256=HuhAai6JL1Zdbo50Pg257Zeyfog90fJKVIvujmCASPw,26904
|
|
142
141
|
snowflake/ml/jobs/_utils/scripts/signal_workers.py,sha256=AR1Pylkm4-FGh10WXfrCtcxaV0rI7IQ2ZiO0Li7zZ3U,7433
|
|
143
142
|
snowflake/ml/jobs/_utils/scripts/start_mlruntime.sh,sha256=EIhhpEeu1Ph3J-QsAvugkhESkTMSZP3lWubmBCw5Z4w,3671
|
|
144
143
|
snowflake/ml/jobs/_utils/scripts/startup.sh,sha256=OwJjQczoNwqf6v2vq6MeChNoa79NHfLeZG8VngRQMvQ,4148
|
|
@@ -152,7 +151,7 @@ snowflake/ml/model/custom_model.py,sha256=sdyKhT-QNNtTeu3idu6BExZNVyjUD4YTU8cru3
|
|
|
152
151
|
snowflake/ml/model/event_handler.py,sha256=pojleQVM9TPNeDvliTvon2Sfxqbf2WWxrOebo1SaEHo,7211
|
|
153
152
|
snowflake/ml/model/inference_engine.py,sha256=L0nwySY2Qwp3JzuRpPS87r0--m3HTUNUgZXYyOPJjyk,66
|
|
154
153
|
snowflake/ml/model/model_signature.py,sha256=ae1tkh3Rw9MzJSxmVT9kb0PwD3TANtKbWwp6b8-cItE,32847
|
|
155
|
-
snowflake/ml/model/openai_signatures.py,sha256=
|
|
154
|
+
snowflake/ml/model/openai_signatures.py,sha256=ny3aAd301t3h_4Pb60MkrY0LZO6QxpyIlHYnjv120VQ,14755
|
|
156
155
|
snowflake/ml/model/target_platform.py,sha256=H5d-wtuKQyVlq9x33vPtYZAlR5ka0ytcKRYgwlKl0bQ,390
|
|
157
156
|
snowflake/ml/model/task.py,sha256=Zp5JaLB-YfX5p_HSaw81P3J7UnycQq5EMa87A35VOaQ,286
|
|
158
157
|
snowflake/ml/model/type_hints.py,sha256=Xxa6b9ezbvXYvSIN5R4Zv6Dro4ZH74-eW4cno92VTJE,11475
|
|
@@ -160,15 +159,15 @@ snowflake/ml/model/volatility.py,sha256=qu-wqe9oKkRwXwE2qkKygxTWzUypQYEk3UjsqOGR
|
|
|
160
159
|
snowflake/ml/model/_client/model/batch_inference_specs.py,sha256=6q3XzYWaO1CH-JqonJr12n6NuRhQDvPns_FAq3yvrN4,6114
|
|
161
160
|
snowflake/ml/model/_client/model/inference_engine_utils.py,sha256=yPkdImi2qP1uG1WzLKCBZgXV-DiIBVpImEosIjYJk8Y,1958
|
|
162
161
|
snowflake/ml/model/_client/model/model_impl.py,sha256=Yabrbir5vPMOnsVmQJ23YN7vqhi756Jcm6pfO8Aq92o,17469
|
|
163
|
-
snowflake/ml/model/_client/model/model_version_impl.py,sha256=
|
|
162
|
+
snowflake/ml/model/_client/model/model_version_impl.py,sha256=3R39U2xAWJdvZktJ_h1sAaxHmum7wd1dQP1dJE5PmbE,70403
|
|
164
163
|
snowflake/ml/model/_client/ops/deployment_step.py,sha256=9kxKDr9xcD4KmVM-9O4_tm3ytkllQVoElJD793VI84Q,1428
|
|
165
164
|
snowflake/ml/model/_client/ops/metadata_ops.py,sha256=qpK6PL3OyfuhyOmpvLCpHLy6vCxbZbp1HlEvakFGwv4,4884
|
|
166
165
|
snowflake/ml/model/_client/ops/model_ops.py,sha256=s5-N9RlaJzndh0D1sQa4BnYb0N-FKYgx86O0d2H5mKg,53819
|
|
167
166
|
snowflake/ml/model/_client/ops/param_utils.py,sha256=MPPerO8wYNYIuig4rFoG_YI5idD_dBlrWXgmAXcR2nM,5160
|
|
168
|
-
snowflake/ml/model/_client/ops/service_ops.py,sha256=
|
|
167
|
+
snowflake/ml/model/_client/ops/service_ops.py,sha256=9eWK3R_iOCkqafR_bK2OpAy0fdpjqYAK447ozZZF_Lg,47910
|
|
169
168
|
snowflake/ml/model/_client/service/import_model_spec_schema.py,sha256=SlEX1GiPlB8whMCmiwKUopnrGlm4fkQOQbTW2KyVTFU,554
|
|
170
|
-
snowflake/ml/model/_client/service/model_deployment_spec.py,sha256=
|
|
171
|
-
snowflake/ml/model/_client/service/model_deployment_spec_schema.py,sha256=
|
|
169
|
+
snowflake/ml/model/_client/service/model_deployment_spec.py,sha256=pRwwlD9h6V76fAOtFR1XgxXEv1fQjfdJCxBZgjgocE0,20286
|
|
170
|
+
snowflake/ml/model/_client/service/model_deployment_spec_schema.py,sha256=axEX0gnUqnLav575xzpJ9lDWNwr9vyjyay7soo7Hwgk,2672
|
|
172
171
|
snowflake/ml/model/_client/sql/_base.py,sha256=Qrm8M92g3MHb-QnSLUlbd8iVKCRxLhG_zr5M2qmXwJ8,1473
|
|
173
172
|
snowflake/ml/model/_client/sql/model.py,sha256=nstZ8zR7MkXVEfhqLt7PWMik6dZr06nzq7VsF5NVNow,5840
|
|
174
173
|
snowflake/ml/model/_client/sql/model_version.py,sha256=SOYr13YEq0mxgIatsSchOq0aKUgdPhKO3clRQ6AMa7U,24766
|
|
@@ -230,7 +229,7 @@ snowflake/ml/model/_signatures/snowpark_handler.py,sha256=aNGPa2v0kTMuSZ80NBdHeA
|
|
|
230
229
|
snowflake/ml/model/_signatures/tensorflow_handler.py,sha256=_yrvMg-w_jJoYuyrGXKPX4Dv7Vt8z1e6xIKiWGuZcc4,5660
|
|
231
230
|
snowflake/ml/model/_signatures/utils.py,sha256=hoc_UuMxfPWkVmoMEE7U-XNRcSgDPyRIdyDVK0JLcfE,21685
|
|
232
231
|
snowflake/ml/model/models/huggingface.py,sha256=VO84lBizmSALntWCnK4O_eY_Cq2uzMooyHtfJXuFkew,13791
|
|
233
|
-
snowflake/ml/model/models/huggingface_pipeline.py,sha256=
|
|
232
|
+
snowflake/ml/model/models/huggingface_pipeline.py,sha256=tLTj1YJumNs_pdHGmA1Us5HIi8EYm38X6jqv2j85TMo,14378
|
|
234
233
|
snowflake/ml/modeling/_internal/estimator_utils.py,sha256=dfPPWO-RHf5C3Tya3VQ4KEqoa32pm-WKwRrjzjDInLk,13956
|
|
235
234
|
snowflake/ml/modeling/_internal/model_specifications.py,sha256=3wFMcKPCSoiEzU7Mx6RVem89BRlBBENpX__-Rd7GwdU,4851
|
|
236
235
|
snowflake/ml/modeling/_internal/model_trainer.py,sha256=5Ck1lbdyzcd-TpzAxEyovIN9fjaaVIqugyMHXt0wzH0,971
|
|
@@ -459,14 +458,14 @@ snowflake/ml/monitoring/entities/model_monitor_config.py,sha256=auy9BD0IoyUpZPZX
|
|
|
459
458
|
snowflake/ml/registry/__init__.py,sha256=XdPQK9ejYkSJVrSQ7HD3jKQO0hKq2mC4bPCB6qrtH3U,76
|
|
460
459
|
snowflake/ml/registry/registry.py,sha256=_vtQCh4DmhnPusTKWJteRPJkDpLFEfG150cjED70sOA,34611
|
|
461
460
|
snowflake/ml/registry/_manager/model_manager.py,sha256=splK5YGErt-eDIy6UbZAB3VKsGMZSJk2_MzfgrIQOhY,26306
|
|
462
|
-
snowflake/ml/registry/_manager/model_parameter_reconciler.py,sha256=
|
|
461
|
+
snowflake/ml/registry/_manager/model_parameter_reconciler.py,sha256=92YX67YMLmqbJN_emr49c3QWyFVGc1DUn6JvA3Y2qqo,15267
|
|
463
462
|
snowflake/ml/utils/authentication.py,sha256=TQV3E8YDHAPXA3dS8JWDmb_Zm8P0d9c8kCexRI4nefo,3106
|
|
464
463
|
snowflake/ml/utils/connection_params.py,sha256=NSBUgcs-DXPRHs1BKpxdSubbJx1yrFRlMPBp-bE3Ugc,8308
|
|
465
464
|
snowflake/ml/utils/html_utils.py,sha256=4g1EPuD8EnOAK7BCYiY8Wp3ZrdDkNOcUDrDAbUYxLfs,9954
|
|
466
465
|
snowflake/ml/utils/sparse.py,sha256=zLBNh-ynhGpKH5TFtopk0YLkHGvv0yq1q-sV59YQKgg,3819
|
|
467
466
|
snowflake/ml/utils/sql_client.py,sha256=pSe2od6Pkh-8NwG3D-xqN76_uNf-ohOtVbT55HeQg1Y,668
|
|
468
|
-
snowflake_ml_python-1.
|
|
469
|
-
snowflake_ml_python-1.
|
|
470
|
-
snowflake_ml_python-1.
|
|
471
|
-
snowflake_ml_python-1.
|
|
472
|
-
snowflake_ml_python-1.
|
|
467
|
+
snowflake_ml_python-1.25.0.dist-info/licenses/LICENSE.txt,sha256=PdEp56Av5m3_kl21iFkVTX_EbHJKFGEdmYeIO1pL_Yk,11365
|
|
468
|
+
snowflake_ml_python-1.25.0.dist-info/METADATA,sha256=hV6uhSQvACNGp9jEdujaC9Y_F5r5rf1eBI22Hh6FBe0,107037
|
|
469
|
+
snowflake_ml_python-1.25.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
470
|
+
snowflake_ml_python-1.25.0.dist-info/top_level.txt,sha256=TY0gFSHKDdZy3THb0FGomyikWQasEGldIR1O0HGOHVw,10
|
|
471
|
+
snowflake_ml_python-1.25.0.dist-info/RECORD,,
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import inspect
|
|
2
|
-
from typing import Any, Callable, Optional
|
|
3
|
-
|
|
4
|
-
from snowflake import snowpark
|
|
5
|
-
from snowflake.snowpark import context as sp_context
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
class FunctionPayload:
|
|
9
|
-
def __init__(
|
|
10
|
-
self,
|
|
11
|
-
func: Callable[..., Any],
|
|
12
|
-
session: Optional[snowpark.Session] = None,
|
|
13
|
-
session_argument: str = "",
|
|
14
|
-
*args: Any,
|
|
15
|
-
**kwargs: Any
|
|
16
|
-
) -> None:
|
|
17
|
-
self.function = func
|
|
18
|
-
self.args = args
|
|
19
|
-
self.kwargs = kwargs
|
|
20
|
-
self._session = session
|
|
21
|
-
self._session_argument = session_argument
|
|
22
|
-
|
|
23
|
-
@property
|
|
24
|
-
def session(self) -> Optional[snowpark.Session]:
|
|
25
|
-
return self._session
|
|
26
|
-
|
|
27
|
-
def __getstate__(self) -> dict[str, Any]:
|
|
28
|
-
"""Customize pickling to exclude session."""
|
|
29
|
-
state = self.__dict__.copy()
|
|
30
|
-
state["_session"] = None
|
|
31
|
-
return state
|
|
32
|
-
|
|
33
|
-
def __setstate__(self, state: dict[str, Any]) -> None:
|
|
34
|
-
"""Restore session from context during unpickling."""
|
|
35
|
-
self.__dict__.update(state)
|
|
36
|
-
self._session = sp_context.get_active_session()
|
|
37
|
-
|
|
38
|
-
def __call__(self) -> Any:
|
|
39
|
-
sig = inspect.signature(self.function)
|
|
40
|
-
bound = sig.bind_partial(*self.args, **self.kwargs)
|
|
41
|
-
bound.arguments[self._session_argument] = self._session
|
|
42
|
-
|
|
43
|
-
return self.function(*bound.args, **bound.kwargs)
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
from snowflake import snowpark
|
|
2
|
-
from snowflake.ml._internal.utils import snowflake_env
|
|
3
|
-
from snowflake.ml.jobs._utils import constants, query_helper, types
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
def _get_node_resources(session: snowpark.Session, compute_pool: str) -> types.ComputeResources:
|
|
7
|
-
"""Extract resource information for the specified compute pool"""
|
|
8
|
-
# Get the instance family
|
|
9
|
-
rows = query_helper.run_query(
|
|
10
|
-
session,
|
|
11
|
-
"show compute pools like ?",
|
|
12
|
-
params=[compute_pool],
|
|
13
|
-
)
|
|
14
|
-
if not rows:
|
|
15
|
-
raise ValueError(f"Compute pool '{compute_pool}' not found")
|
|
16
|
-
instance_family: str = rows[0]["instance_family"]
|
|
17
|
-
cloud = snowflake_env.get_current_cloud(session, default=snowflake_env.SnowflakeCloudType.AWS)
|
|
18
|
-
|
|
19
|
-
return (
|
|
20
|
-
constants.COMMON_INSTANCE_FAMILIES.get(instance_family)
|
|
21
|
-
or constants.CLOUD_INSTANCE_FAMILIES[cloud][instance_family]
|
|
22
|
-
)
|
{snowflake_ml_python-1.24.0.dist-info → snowflake_ml_python-1.25.0.dist-info}/licenses/LICENSE.txt
RENAMED
|
File without changes
|
|
File without changes
|