mlrun 1.7.0rc48__py3-none-any.whl → 1.7.0rc52__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.
Potentially problematic release.
This version of mlrun might be problematic. Click here for more details.
- mlrun/common/formatters/run.py +3 -0
- mlrun/common/schemas/auth.py +3 -0
- mlrun/common/schemas/model_monitoring/constants.py +0 -7
- mlrun/common/schemas/workflow.py +9 -2
- mlrun/data_types/data_types.py +1 -1
- mlrun/db/httpdb.py +11 -4
- mlrun/execution.py +37 -6
- mlrun/feature_store/retrieval/spark_merger.py +0 -4
- mlrun/model.py +17 -0
- mlrun/model_monitoring/api.py +1 -12
- mlrun/model_monitoring/applications/__init__.py +1 -2
- mlrun/model_monitoring/applications/base.py +2 -182
- mlrun/model_monitoring/applications/context.py +2 -9
- mlrun/model_monitoring/applications/evidently_base.py +0 -74
- mlrun/model_monitoring/applications/histogram_data_drift.py +2 -2
- mlrun/model_monitoring/controller.py +45 -208
- mlrun/model_monitoring/db/tsdb/tdengine/schemas.py +10 -9
- mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connector.py +38 -29
- mlrun/projects/operations.py +11 -8
- mlrun/projects/pipelines.py +16 -11
- mlrun/projects/project.py +1 -4
- mlrun/runtimes/nuclio/api_gateway.py +6 -0
- mlrun/utils/helpers.py +40 -0
- mlrun/utils/version/version.json +2 -2
- {mlrun-1.7.0rc48.dist-info → mlrun-1.7.0rc52.dist-info}/METADATA +107 -25
- {mlrun-1.7.0rc48.dist-info → mlrun-1.7.0rc52.dist-info}/RECORD +30 -32
- mlrun/model_monitoring/application.py +0 -19
- mlrun/model_monitoring/evidently_application.py +0 -20
- {mlrun-1.7.0rc48.dist-info → mlrun-1.7.0rc52.dist-info}/LICENSE +0 -0
- {mlrun-1.7.0rc48.dist-info → mlrun-1.7.0rc52.dist-info}/WHEEL +0 -0
- {mlrun-1.7.0rc48.dist-info → mlrun-1.7.0rc52.dist-info}/entry_points.txt +0 -0
- {mlrun-1.7.0rc48.dist-info → mlrun-1.7.0rc52.dist-info}/top_level.txt +0 -0
mlrun/projects/pipelines.py
CHANGED
|
@@ -27,6 +27,8 @@ import mlrun_pipelines.utils
|
|
|
27
27
|
import mlrun
|
|
28
28
|
import mlrun.common.runtimes.constants
|
|
29
29
|
import mlrun.common.schemas
|
|
30
|
+
import mlrun.common.schemas.function
|
|
31
|
+
import mlrun.common.schemas.workflow
|
|
30
32
|
import mlrun.utils.notifications
|
|
31
33
|
from mlrun.errors import err_to_str
|
|
32
34
|
from mlrun.utils import (
|
|
@@ -44,21 +46,21 @@ from ..runtimes.pod import AutoMountType
|
|
|
44
46
|
|
|
45
47
|
def get_workflow_engine(engine_kind, local=False):
|
|
46
48
|
if pipeline_context.is_run_local(local):
|
|
47
|
-
if engine_kind ==
|
|
49
|
+
if engine_kind == mlrun.common.schemas.workflow.EngineType.KFP:
|
|
48
50
|
logger.warning(
|
|
49
51
|
"Running kubeflow pipeline locally, note some ops may not run locally!"
|
|
50
52
|
)
|
|
51
|
-
elif engine_kind ==
|
|
53
|
+
elif engine_kind == mlrun.common.schemas.workflow.EngineType.REMOTE:
|
|
52
54
|
raise mlrun.errors.MLRunInvalidArgumentError(
|
|
53
55
|
"Cannot run a remote pipeline locally using `kind='remote'` and `local=True`. "
|
|
54
56
|
"in order to run a local pipeline remotely, please use `engine='remote:local'` instead"
|
|
55
57
|
)
|
|
56
58
|
return _LocalRunner
|
|
57
|
-
if not engine_kind or engine_kind ==
|
|
59
|
+
if not engine_kind or engine_kind == mlrun.common.schemas.workflow.EngineType.KFP:
|
|
58
60
|
return _KFPRunner
|
|
59
|
-
if engine_kind ==
|
|
61
|
+
if engine_kind == mlrun.common.schemas.workflow.EngineType.LOCAL:
|
|
60
62
|
return _LocalRunner
|
|
61
|
-
if engine_kind ==
|
|
63
|
+
if engine_kind == mlrun.common.schemas.workflow.EngineType.REMOTE:
|
|
62
64
|
return _RemoteRunner
|
|
63
65
|
raise mlrun.errors.MLRunInvalidArgumentError(
|
|
64
66
|
f"Provided workflow engine is not supported. engine_kind={engine_kind}"
|
|
@@ -313,7 +315,11 @@ def get_db_function(project, key) -> mlrun.runtimes.BaseRuntime:
|
|
|
313
315
|
|
|
314
316
|
|
|
315
317
|
def enrich_function_object(
|
|
316
|
-
project
|
|
318
|
+
project: mlrun.common.schemas.Project,
|
|
319
|
+
function: mlrun.runtimes.BaseRuntime,
|
|
320
|
+
decorator: typing.Callable = None,
|
|
321
|
+
copy_function: bool = True,
|
|
322
|
+
try_auto_mount: bool = True,
|
|
317
323
|
) -> mlrun.runtimes.BaseRuntime:
|
|
318
324
|
if hasattr(function, "_enriched"):
|
|
319
325
|
return function
|
|
@@ -354,7 +360,6 @@ def enrich_function_object(
|
|
|
354
360
|
f.enrich_runtime_spec(
|
|
355
361
|
project.spec.default_function_node_selector,
|
|
356
362
|
)
|
|
357
|
-
|
|
358
363
|
if try_auto_mount:
|
|
359
364
|
if (
|
|
360
365
|
decorator and AutoMountType.is_auto_modifier(decorator)
|
|
@@ -592,9 +597,9 @@ class _KFPRunner(_PipelineRunner):
|
|
|
592
597
|
)
|
|
593
598
|
# for start message, fallback to old notification behavior
|
|
594
599
|
for notification in notifications or []:
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
)
|
|
600
|
+
params = notification.params
|
|
601
|
+
params.update(notification.secret_params)
|
|
602
|
+
project.notifiers.add_notification(notification.kind, params)
|
|
598
603
|
|
|
599
604
|
run_id = _run_pipeline(
|
|
600
605
|
workflow_handler,
|
|
@@ -1076,7 +1081,7 @@ def load_and_run(
|
|
|
1076
1081
|
# extract "start" notification if exists
|
|
1077
1082
|
start_notifications = [
|
|
1078
1083
|
notification
|
|
1079
|
-
for notification in context.get_notifications()
|
|
1084
|
+
for notification in context.get_notifications(unmask_secret_params=True)
|
|
1080
1085
|
if "running" in notification.when
|
|
1081
1086
|
]
|
|
1082
1087
|
|
mlrun/projects/project.py
CHANGED
|
@@ -708,7 +708,7 @@ def _load_project_from_db(url, secrets, user_project=False):
|
|
|
708
708
|
|
|
709
709
|
def _delete_project_from_db(project_name, secrets, deletion_strategy):
|
|
710
710
|
db = mlrun.db.get_run_db(secrets=secrets)
|
|
711
|
-
|
|
711
|
+
db.delete_project(project_name, deletion_strategy=deletion_strategy)
|
|
712
712
|
|
|
713
713
|
|
|
714
714
|
def _load_project_file(url, name="", secrets=None, allow_cross_project=None):
|
|
@@ -1950,7 +1950,6 @@ class MlrunProject(ModelObj):
|
|
|
1950
1950
|
application_class: typing.Union[
|
|
1951
1951
|
str,
|
|
1952
1952
|
mm_app.ModelMonitoringApplicationBase,
|
|
1953
|
-
mm_app.ModelMonitoringApplicationBaseV2,
|
|
1954
1953
|
] = None,
|
|
1955
1954
|
name: str = None,
|
|
1956
1955
|
image: str = None,
|
|
@@ -2018,7 +2017,6 @@ class MlrunProject(ModelObj):
|
|
|
2018
2017
|
application_class: typing.Union[
|
|
2019
2018
|
str,
|
|
2020
2019
|
mm_app.ModelMonitoringApplicationBase,
|
|
2021
|
-
mm_app.ModelMonitoringApplicationBaseV2,
|
|
2022
2020
|
] = None,
|
|
2023
2021
|
name: str = None,
|
|
2024
2022
|
image: str = None,
|
|
@@ -2076,7 +2074,6 @@ class MlrunProject(ModelObj):
|
|
|
2076
2074
|
application_class: typing.Union[
|
|
2077
2075
|
str,
|
|
2078
2076
|
mm_app.ModelMonitoringApplicationBase,
|
|
2079
|
-
mm_app.ModelMonitoringApplicationBaseV2,
|
|
2080
2077
|
None,
|
|
2081
2078
|
] = None,
|
|
2082
2079
|
name: typing.Optional[str] = None,
|
|
@@ -22,6 +22,7 @@ from nuclio.auth import AuthKinds as NuclioAuthKinds
|
|
|
22
22
|
|
|
23
23
|
import mlrun
|
|
24
24
|
import mlrun.common.constants as mlrun_constants
|
|
25
|
+
import mlrun.common.helpers
|
|
25
26
|
import mlrun.common.schemas as schemas
|
|
26
27
|
import mlrun.common.types
|
|
27
28
|
from mlrun.model import ModelObj
|
|
@@ -202,8 +203,13 @@ class APIGatewaySpec(ModelObj):
|
|
|
202
203
|
self.project = project
|
|
203
204
|
self.ports = ports
|
|
204
205
|
|
|
206
|
+
self.enrich()
|
|
205
207
|
self.validate(project=project, functions=functions, canary=canary, ports=ports)
|
|
206
208
|
|
|
209
|
+
def enrich(self):
|
|
210
|
+
if self.path and not self.path.startswith("/"):
|
|
211
|
+
self.path = f"/{self.path}"
|
|
212
|
+
|
|
207
213
|
def validate(
|
|
208
214
|
self,
|
|
209
215
|
project: str,
|
mlrun/utils/helpers.py
CHANGED
|
@@ -1782,3 +1782,43 @@ def _reload(module, max_recursion_depth):
|
|
|
1782
1782
|
attribute = getattr(module, attribute_name)
|
|
1783
1783
|
if type(attribute) is ModuleType:
|
|
1784
1784
|
_reload(attribute, max_recursion_depth - 1)
|
|
1785
|
+
|
|
1786
|
+
|
|
1787
|
+
def run_with_retry(
|
|
1788
|
+
retry_count: int,
|
|
1789
|
+
func: typing.Callable,
|
|
1790
|
+
retry_on_exceptions: typing.Union[
|
|
1791
|
+
type[Exception],
|
|
1792
|
+
tuple[type[Exception]],
|
|
1793
|
+
] = None,
|
|
1794
|
+
*args,
|
|
1795
|
+
**kwargs,
|
|
1796
|
+
):
|
|
1797
|
+
"""
|
|
1798
|
+
Executes a function with retry logic upon encountering specified exceptions.
|
|
1799
|
+
|
|
1800
|
+
:param retry_count: The number of times to retry the function execution.
|
|
1801
|
+
:param func: The function to execute.
|
|
1802
|
+
:param retry_on_exceptions: Exception(s) that trigger a retry. Can be a single exception or a tuple of exceptions.
|
|
1803
|
+
:param args: Positional arguments to pass to the function.
|
|
1804
|
+
:param kwargs: Keyword arguments to pass to the function.
|
|
1805
|
+
:return: The result of the function execution if successful.
|
|
1806
|
+
:raises Exception: Re-raises the last exception encountered after all retries are exhausted.
|
|
1807
|
+
"""
|
|
1808
|
+
if retry_on_exceptions is None:
|
|
1809
|
+
retry_on_exceptions = (Exception,)
|
|
1810
|
+
elif isinstance(retry_on_exceptions, list):
|
|
1811
|
+
retry_on_exceptions = tuple(retry_on_exceptions)
|
|
1812
|
+
|
|
1813
|
+
last_exception = None
|
|
1814
|
+
for attempt in range(retry_count + 1):
|
|
1815
|
+
try:
|
|
1816
|
+
return func(*args, **kwargs)
|
|
1817
|
+
except retry_on_exceptions as exc:
|
|
1818
|
+
last_exception = exc
|
|
1819
|
+
logger.warning(
|
|
1820
|
+
f"Attempt {{{attempt}/ {retry_count}}} failed with exception: {exc}",
|
|
1821
|
+
)
|
|
1822
|
+
if attempt == retry_count:
|
|
1823
|
+
raise
|
|
1824
|
+
raise last_exception
|
mlrun/utils/version/version.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: mlrun
|
|
3
|
-
Version: 1.7.
|
|
3
|
+
Version: 1.7.0rc52
|
|
4
4
|
Summary: Tracking and config of machine learning runs
|
|
5
5
|
Home-page: https://github.com/mlrun/mlrun
|
|
6
6
|
Author: Yaron Haviv
|
|
@@ -50,7 +50,7 @@ Requires-Dist: setuptools ~=71.0
|
|
|
50
50
|
Requires-Dist: deprecated ~=1.2
|
|
51
51
|
Requires-Dist: jinja2 >=3.1.3,~=3.1
|
|
52
52
|
Requires-Dist: orjson <4,>=3.9.15
|
|
53
|
-
Requires-Dist: mlrun-pipelines-kfp-common ~=0.1.
|
|
53
|
+
Requires-Dist: mlrun-pipelines-kfp-common ~=0.1.9
|
|
54
54
|
Requires-Dist: mlrun-pipelines-kfp-v1-8 ~=0.1.6
|
|
55
55
|
Provides-Extra: alibaba-oss
|
|
56
56
|
Requires-Dist: ossfs ==2023.12.0 ; extra == 'alibaba-oss'
|
|
@@ -84,7 +84,8 @@ Requires-Dist: redis ~=4.3 ; extra == 'all'
|
|
|
84
84
|
Requires-Dist: s3fs <2024.7,>=2023.9.2 ; extra == 'all'
|
|
85
85
|
Requires-Dist: snowflake-connector-python ~=3.7 ; extra == 'all'
|
|
86
86
|
Requires-Dist: sqlalchemy ~=1.4 ; extra == 'all'
|
|
87
|
-
Requires-Dist: taos-ws-py
|
|
87
|
+
Requires-Dist: taos-ws-py ==0.3.2 ; extra == 'all'
|
|
88
|
+
Requires-Dist: taoswswrap ~=0.1.0 ; extra == 'all'
|
|
88
89
|
Provides-Extra: api
|
|
89
90
|
Requires-Dist: uvicorn ~=0.27.1 ; extra == 'api'
|
|
90
91
|
Requires-Dist: dask-kubernetes ~=0.11.0 ; extra == 'api'
|
|
@@ -137,7 +138,8 @@ Requires-Dist: redis ~=4.3 ; extra == 'complete'
|
|
|
137
138
|
Requires-Dist: s3fs <2024.7,>=2023.9.2 ; extra == 'complete'
|
|
138
139
|
Requires-Dist: snowflake-connector-python ~=3.7 ; extra == 'complete'
|
|
139
140
|
Requires-Dist: sqlalchemy ~=1.4 ; extra == 'complete'
|
|
140
|
-
Requires-Dist: taos-ws-py
|
|
141
|
+
Requires-Dist: taos-ws-py ==0.3.2 ; extra == 'complete'
|
|
142
|
+
Requires-Dist: taoswswrap ~=0.1.0 ; extra == 'complete'
|
|
141
143
|
Provides-Extra: complete-api
|
|
142
144
|
Requires-Dist: adlfs ==2023.9.0 ; extra == 'complete-api'
|
|
143
145
|
Requires-Dist: aiobotocore <2.16,>=2.5.0 ; extra == 'complete-api'
|
|
@@ -174,7 +176,8 @@ Requires-Dist: redis ~=4.3 ; extra == 'complete-api'
|
|
|
174
176
|
Requires-Dist: s3fs <2024.7,>=2023.9.2 ; extra == 'complete-api'
|
|
175
177
|
Requires-Dist: snowflake-connector-python ~=3.7 ; extra == 'complete-api'
|
|
176
178
|
Requires-Dist: sqlalchemy ~=1.4 ; extra == 'complete-api'
|
|
177
|
-
Requires-Dist: taos-ws-py
|
|
179
|
+
Requires-Dist: taos-ws-py ==0.3.2 ; extra == 'complete-api'
|
|
180
|
+
Requires-Dist: taoswswrap ~=0.1.0 ; extra == 'complete-api'
|
|
178
181
|
Requires-Dist: timelength ~=1.1 ; extra == 'complete-api'
|
|
179
182
|
Requires-Dist: uvicorn ~=0.27.1 ; extra == 'complete-api'
|
|
180
183
|
Requires-Dist: memray ~=1.12 ; (sys_platform != "win32") and extra == 'complete-api'
|
|
@@ -209,7 +212,8 @@ Requires-Dist: snowflake-connector-python ~=3.7 ; extra == 'snowflake'
|
|
|
209
212
|
Provides-Extra: sqlalchemy
|
|
210
213
|
Requires-Dist: sqlalchemy ~=1.4 ; extra == 'sqlalchemy'
|
|
211
214
|
Provides-Extra: tdengine
|
|
212
|
-
Requires-Dist: taos-ws-py
|
|
215
|
+
Requires-Dist: taos-ws-py ==0.3.2 ; extra == 'tdengine'
|
|
216
|
+
Requires-Dist: taoswswrap ~=0.1.0 ; extra == 'tdengine'
|
|
213
217
|
|
|
214
218
|
<a id="top"></a>
|
|
215
219
|
[](https://github.com/mlrun/mlrun/actions/workflows/build.yaml?query=branch%3Adevelopment)
|
|
@@ -225,19 +229,86 @@ Requires-Dist: taos-ws-py ~=0.3.3 ; extra == 'tdengine'
|
|
|
225
229
|
|
|
226
230
|
# Using MLRun
|
|
227
231
|
|
|
228
|
-
MLRun is an open
|
|
232
|
+
MLRun is an open source AI orchestration platform for quickly building and managing continuous (gen) AI applications across their lifecycle. MLRun integrates into your development and CI/CD environment and automates the delivery of production data, ML pipelines, and online applications.
|
|
233
|
+
MLRun significantly reduces engineering efforts, time to production, and computation resources.
|
|
229
234
|
With MLRun, you can choose any IDE on your local machine or on the cloud. MLRun breaks the silos between data, ML, software, and DevOps/MLOps teams, enabling collaboration and fast continuous improvements.
|
|
230
235
|
|
|
231
|
-
Get started with MLRun [**Tutorials and Examples**](https://docs.mlrun.org/en/
|
|
236
|
+
Get started with the MLRun [**Tutorials and Examples**](https://docs.mlrun.org/en/stable/tutorials/index.html) and the [**Installation and setup guide**](https://docs.mlrun.org/en/stable/install.html), or read about the [**MLRun Architecture**](https://docs.mlrun.org/en/stable/architecture.html).
|
|
237
|
+
|
|
238
|
+
This page explains how MLRun addresses the [**gen AI tasks**](#genai-tasks), [**MLOps tasks**](#mlops-tasks), and presents the [**MLRun core components**](#core-components).
|
|
239
|
+
|
|
240
|
+
See the supported data stores, development tools, services, platforms, etc., supported by MLRun's open architecture in **https://docs.mlrun.org/en/stable/ecosystem.html**.
|
|
241
|
+
|
|
242
|
+
## Gen AI tasks
|
|
243
|
+
|
|
244
|
+
<p align="center"><img src="https://github.com/mlrun/mlrun/raw/development/docs/_static/images/ai-tasks.png" alt="ai-tasks" width="800"/></p><br>
|
|
245
|
+
|
|
246
|
+
Use MLRun to develop, scale, deploy, and monitor your AI model across your enterprise. The [**gen AI development workflow**](https://docs.mlrun.org/en/stable/genai/genai-flow.html)
|
|
247
|
+
section describes the different tasks and stages in detail.
|
|
248
|
+
|
|
249
|
+
### Data management
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
MLRun supports batch or realtime data processing at scale, data lineage and versioning, structured and unstructured data, and more.
|
|
253
|
+
Removing inappropriate data at an early stage saves resources that would otherwise be required later on.
|
|
254
|
+
|
|
255
|
+
|
|
256
|
+
**Docs:**
|
|
257
|
+
[Using LLMs to process unstructured data](https://docs.mlrun.org/en/stable/genai/data-mgmt/unstructured-data.html)
|
|
258
|
+
[Vector databases](https://docs.mlrun.org/en/stable/genai/data-mgmt/vector-databases.html)
|
|
259
|
+
[Guardrails for data management](https://docs.mlrun.org/en/stable/genai/data-mgmt/guardrails-data.html)
|
|
260
|
+
**Demo:**
|
|
261
|
+
[Call center demo](https://github.com/mlrun/demo-call-center>`
|
|
262
|
+
**Video:**
|
|
263
|
+
[Call center](https://youtu.be/YycMbxRgLBA>`
|
|
264
|
+
|
|
265
|
+
### Development
|
|
266
|
+
Use MLRun to build an automated ML pipeline to: collect data,
|
|
267
|
+
preprocess (prepare) the data, run the training pipeline, and evaluate the model.
|
|
268
|
+
|
|
269
|
+
**Docs:**
|
|
270
|
+
[Working with RAG](https://docs.mlrun.org/en/stable/genai/development/working-with-rag.html), [Evalating LLMs](https://docs.mlrun.org/en/stable/genai/development/evaluating-llms.html), [Fine tuning LLMS](https://docs.mlrun.org/en/stable/genai/development/fine-tuning-llms.html)
|
|
271
|
+
**Demos:**
|
|
272
|
+
[Call center demo](https://github.com/mlrun/demo-call-center), [Build & deploy custom (fine-tuned) LLM models and applications](https://github.com/mlrun/demo-llm-tuning/blob/main), [Interactive bot demo using LLMs](https://github.com/mlrun/demo-llm-bot/blob/main)
|
|
273
|
+
**Video:**
|
|
274
|
+
[Call center](https://youtu.be/YycMbxRgLBA)
|
|
275
|
+
|
|
276
|
+
|
|
277
|
+
### Deployment
|
|
278
|
+
MLRun serving can productize the newly trained LLM as a serverless function using real-time auto-scaling Nuclio serverless functions.
|
|
279
|
+
The application pipeline includes all the steps from accepting events or data, contextualizing it with a state preparing the required model features,
|
|
280
|
+
inferring results using one or more models, and driving actions.
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
**Docs:**
|
|
284
|
+
[Serving gen AI models](https://docs.mlrun.org/en/stable/genai/deployment/genai_serving.html), GPU utilization](https://docs.mlrun.org/en/stable/genai/deployment/gpu_utilization.html), [Gen AI realtime serving graph](https://docs.mlrun.org/en/stable/genai/deployment/genai_serving_graph.html)
|
|
285
|
+
**Tutorial:**
|
|
286
|
+
[Deploy LLM using MLRun](https://docs.mlrun.org/en/stable/tutorials/genai_01_basic_tutorial.html)
|
|
287
|
+
**Demos:**
|
|
288
|
+
[Call center demo](https://github.com/mlrun/demo-call-center), [Build & deploy custom(fine-tuned)]LLM models and applications <https://github.com/mlrun/demo-llm-tuning/blob/main), [Interactive bot demo using LLMs]<https://github.com/mlrun/demo-llm-bot/blob/main)
|
|
289
|
+
**Video:**
|
|
290
|
+
[Call center]<https://youtu.be/YycMbxRgLBA)
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
### Live Ops
|
|
294
|
+
Monitor all resources, data, model and application metrics to ensure performance. Then identify risks, control costs, and measure business KPIs.
|
|
295
|
+
Collect production data, metadata, and metrics to tune the model and application further, and to enable governance and explainability.
|
|
296
|
+
|
|
297
|
+
|
|
298
|
+
**Docs:**
|
|
299
|
+
[Model monitoring <monitoring](https://docs.mlrun.org/en/stable/concepts/monitoring.html), [Alerts and notifications](https://docs.mlrun.org/en/stable/concepts/alerts-notifications.html)
|
|
300
|
+
**Tutorials:**
|
|
301
|
+
[Deploy LLM using MLRun](https://docs.mlrun.org/en/stable/tutorials/genai_01_basic_tutorial.html), [Model monitoring using LLM](https://docs.mlrun.org/en/stable/tutorials/genai-02-monitoring-llm.html)
|
|
302
|
+
**Demo:**
|
|
303
|
+
[Build & deploy custom (fine-tuned) LLM models and applications](https://github.com/mlrun/demo-llm-tuning/blob/main)
|
|
232
304
|
|
|
233
|
-
This page explains how MLRun addresses the [**MLOps Tasks**](#mlops-tasks) and the [**MLRun core components**](#core-components).
|
|
234
305
|
|
|
235
306
|
<a id="mlops-tasks"></a>
|
|
236
307
|
## MLOps tasks
|
|
237
308
|
|
|
238
309
|
<p align="center"><img src="https://github.com/mlrun/mlrun/raw/development/docs/_static/images/mlops-task.png" alt="mlrun-tasks" width="800"/></p><br>
|
|
239
310
|
|
|
240
|
-
The [**MLOps development workflow**](https://docs.mlrun.org/en/
|
|
311
|
+
The [**MLOps development workflow**](https://docs.mlrun.org/en/stable/mlops-dev-flow.html) section describes the different tasks and stages in detail.
|
|
241
312
|
MLRun can be used to automate and orchestrate all the different tasks or just specific tasks (and integrate them with what you have already deployed).
|
|
242
313
|
|
|
243
314
|
### Project management and CI/CD automation
|
|
@@ -246,32 +317,40 @@ In MLRun the assets, metadata, and services (data, functions, jobs, artifacts, m
|
|
|
246
317
|
Projects can be imported/exported as a whole, mapped to git repositories or IDE projects (in PyCharm, VSCode, etc.), which enables versioning, collaboration, and CI/CD.
|
|
247
318
|
Project access can be restricted to a set of users and roles.
|
|
248
319
|
|
|
249
|
-
|
|
320
|
+
**Docs:** [Projects and Automation](https://docs.mlrun.org/en/stable/projects/project.html), [CI/CD Integration](https://docs.mlrun.org/en/stable/projects/ci-integration.html)
|
|
321
|
+
**Tutorials:** [Quick start](https://docs.mlrun.org/en/stable/tutorials/01-mlrun-basics.html), [Automated ML Pipeline](https://docs.mlrun.org/en/stable/tutorials/04-pipeline.html)
|
|
322
|
+
**Video:** [Quick start](https://youtu.be/xI8KVGLlj7Q).
|
|
250
323
|
|
|
251
324
|
### Ingest and process data
|
|
252
325
|
|
|
253
|
-
MLRun provides abstract interfaces to various offline and online [**data sources**](https://docs.mlrun.org/en/
|
|
254
|
-
In addition, the MLRun [**Feature Store**](https://docs.mlrun.org/en/
|
|
326
|
+
MLRun provides abstract interfaces to various offline and online [**data sources**](https://docs.mlrun.org/en/stable/store/datastore.html), supports batch or realtime data processing at scale, data lineage and versioning, structured and unstructured data, and more.
|
|
327
|
+
In addition, the MLRun [**Feature Store**](https://docs.mlrun.org/en/stable/feature-store/feature-store.html) automates the collection, transformation, storage, catalog, serving, and monitoring of data features across the ML lifecycle and enables feature reuse and sharing.
|
|
255
328
|
|
|
256
|
-
See: **Docs:** [Ingest and process data](https://docs.mlrun.org/en/
|
|
329
|
+
See: **Docs:** [Ingest and process data](https://docs.mlrun.org/en/stable/data-prep/index.html), [Feature Store](https://docs.mlrun.org/en/stable/feature-store/feature-store.html), [Data & Artifacts](https://docs.mlrun.org/en/stable/concepts/data.html)
|
|
330
|
+
**Tutorials:** [Quick start](https://docs.mlrun.org/en/stable/tutorials/01-mlrun-basics.html), [Feature Store](https://docs.mlrun.org/en/stable/feature-store/basic-demo.html).
|
|
257
331
|
|
|
258
332
|
### Develop and train models
|
|
259
333
|
|
|
260
334
|
MLRun allows you to easily build ML pipelines that take data from various sources or the Feature Store and process it, train models at scale with multiple parameters, test models, tracks each experiments, register, version and deploy models, etc. MLRun provides scalable built-in or custom model training services, integrate with any framework and can work with 3rd party training/auto-ML services. You can also bring your own pre-trained model and use it in the pipeline.
|
|
261
335
|
|
|
262
|
-
|
|
336
|
+
**Docs:** [Develop and train models](https://docs.mlrun.org/en/stable/development/index.html), [Model Training and Tracking](https://docs.mlrun.org/en/stable/development/model-training-tracking.html), [Batch Runs and Workflows](https://docs.mlrun.org/en/stable/concepts/runs-workflows.html)
|
|
337
|
+
**Tutorials:** [Train, compare, and register models](https://docs.mlrun.org/en/stable/tutorials/02-model-training.html), [Automated ML Pipeline](https://docs.mlrun.org/en/stable/tutorials/04-pipeline.html)
|
|
338
|
+
**Video:** [Train and compare models](https://youtu.be/bZgBsmLMdQo).
|
|
263
339
|
|
|
264
340
|
### Deploy models and applications
|
|
265
341
|
|
|
266
342
|
MLRun rapidly deploys and manages production-grade real-time or batch application pipelines using elastic and resilient serverless functions. MLRun addresses the entire ML application: intercepting application/user requests, running data processing tasks, inferencing using one or more models, driving actions, and integrating with the application logic.
|
|
267
343
|
|
|
268
|
-
|
|
344
|
+
**Docs:** [Deploy models and applications](https://docs.mlrun.org/en/stable/deployment/index.html), [Realtime Pipelines](https://docs.mlrun.org/en/stable/serving/serving-graph.html), [Batch Inference](https://docs.mlrun.org/en/stable/deployment/batch_inference.html)
|
|
345
|
+
**Tutorials:** [Realtime Serving](https://docs.mlrun.org/en/stable/tutorials/03-model-serving.html), [Batch Inference](https://docs.mlrun.org/en/stable/tutorials/07-batch-infer.html), [Advanced Pipeline](https://docs.mlrun.org/en/stable/tutorials/07-batch-infer.html)
|
|
346
|
+
**Video:** [Serving pre-trained models](https://youtu.be/OUjOus4dZfw).
|
|
269
347
|
|
|
270
|
-
###
|
|
348
|
+
### Model Monitoring
|
|
271
349
|
|
|
272
350
|
Observability is built into the different MLRun objects (data, functions, jobs, models, pipelines, etc.), eliminating the need for complex integrations and code instrumentation. With MLRun, you can observe the application/model resource usage and model behavior (drift, performance, etc.), define custom app metrics, and trigger alerts or retraining jobs.
|
|
273
351
|
|
|
274
|
-
|
|
352
|
+
**Docs:** [Model monitoring](https://docs.mlrun.org/en/stable/concepts/model-monitoring.html), [Model Monitoring Overview](https://docs.mlrun.org/en/stable/monitoring/model-monitoring-deployment.html)
|
|
353
|
+
**Tutorials:** [Model Monitoring & Drift Detection](https://docs.mlrun.org/en/stable/tutorials/05-model-monitoring.html).
|
|
275
354
|
|
|
276
355
|
|
|
277
356
|
<a id="core-components"></a>
|
|
@@ -279,18 +358,21 @@ See: **Docs:** [Monitor and alert](https://docs.mlrun.org/en/latest/monitoring/i
|
|
|
279
358
|
|
|
280
359
|
<p align="center"><img src="https://github.com/mlrun/mlrun/raw/development/docs/_static/images/mlops-core.png" alt="mlrun-core" width="800"/></p><br>
|
|
281
360
|
|
|
361
|
+
|
|
282
362
|
MLRun includes the following major components:
|
|
283
363
|
|
|
284
|
-
[**Project Management:**](https://docs.mlrun.org/en/
|
|
364
|
+
[**Project Management:**](https://docs.mlrun.org/en/stable/projects/project.html) A service (API, SDK, DB, UI) that manages the different project assets (data, functions, jobs, workflows, secrets, etc.) and provides central control and metadata layer.
|
|
365
|
+
|
|
366
|
+
[**Functions:**](https://docs.mlrun.org/en/stable/runtimes/functions.html) automatically deployed software package with one or more methods and runtime-specific attributes (such as image, libraries, command, arguments, resources, etc.).
|
|
285
367
|
|
|
286
|
-
[**
|
|
368
|
+
[**Data & Artifacts:**](https://docs.mlrun.org/en/stable/concepts/data.html) Glueless connectivity to various data sources, metadata management, catalog, and versioning for structures/unstructured artifacts.
|
|
287
369
|
|
|
288
|
-
[**
|
|
370
|
+
[**Batch Runs & Workflows:**](https://docs.mlrun.org/en/stable/concepts/runs-workflows.html) Execute one or more functions with specific parameters and collect, track, and compare all their results and artifacts.
|
|
289
371
|
|
|
290
|
-
[**
|
|
372
|
+
[**Real-Time Serving Pipeline:**](https://docs.mlrun.org/en/stable/serving/serving-graph.html) Rapid deployment of scalable data and ML pipelines using real-time serverless technology, including API handling, data preparation/enrichment, model serving, ensembles, driving and measuring actions, etc.
|
|
291
373
|
|
|
292
|
-
[**
|
|
374
|
+
[**Model monitoring:**](https://docs.mlrun.org/en/stable/monitoring/index.html) monitors data, models, resources, and production components and provides a feedback loop for exploring production data, identifying drift, alerting on anomalies or data quality issues, triggering retraining jobs, measuring business impact, etc.
|
|
293
375
|
|
|
294
|
-
[**
|
|
376
|
+
[**Alerts and notifications:**](https://docs.mlrun.org/en/stable/concepts/model-monitoring.html) Use alerts to identify and inform you of possible problem situations. Use notifications to report status on runs and pipelines.
|
|
295
377
|
|
|
296
|
-
[**
|
|
378
|
+
[**Feature Store:**](https://docs.mlrun.org/en/stable/feature-store/feature-store.html) automatically collects, prepares, catalogs, and serves production data features for development (offline) and real-time (online) deployment using minimal engineering effort.
|
|
@@ -2,11 +2,11 @@ mlrun/__init__.py,sha256=y08M1JcKXy5-9_5WaI9fn5aV5BxIQ5QkbduJK0OxWbA,7470
|
|
|
2
2
|
mlrun/__main__.py,sha256=mC_Izs4kuHUHQi88QJFLN22n1kbygGM0wAirjNt7uj4,45938
|
|
3
3
|
mlrun/config.py,sha256=NJG59Rl_5-mwgCdPDboRhjHD1ujW9ITYL7gtCbSMkM8,67308
|
|
4
4
|
mlrun/errors.py,sha256=nY23dns_kTzbOrelJf0FyxLw5mglv7jo4Sx3efKS9Fs,7798
|
|
5
|
-
mlrun/execution.py,sha256=
|
|
5
|
+
mlrun/execution.py,sha256=nXvvN8euzjuxhJouJD8VxfK0keTTA6UoMrcD_17AL-4,44252
|
|
6
6
|
mlrun/features.py,sha256=m17K_3l9Jktwb9dOwlHLTAPTlemsWrRF7dJhXUX0iJU,15429
|
|
7
7
|
mlrun/k8s_utils.py,sha256=mRQMs6NzPq36vx1n5_2BfFapXysc8wv3NcrZ77_2ANA,8949
|
|
8
8
|
mlrun/lists.py,sha256=3PqBdcajdwhTe1XuFsAaHTuFVM2kjwepf31qqE82apg,8384
|
|
9
|
-
mlrun/model.py,sha256=
|
|
9
|
+
mlrun/model.py,sha256=S6CKiRrYfgVNALA9TLy4lsXZCox4FpD-TAnR5CU51cQ,82035
|
|
10
10
|
mlrun/render.py,sha256=940H9fBBFeghH4dlifbURvtjlvw4GlWdAXezN6ky4rI,13275
|
|
11
11
|
mlrun/run.py,sha256=hNxV-TnixbH8MCos2jqz8jdTDlK7dBSvJMil_QoGKQI,43616
|
|
12
12
|
mlrun/secrets.py,sha256=ibtCK79u7JVBZF6F0SP1-xXXF5MyrLEUs_TCWiJAnlc,7798
|
|
@@ -33,7 +33,7 @@ mlrun/common/formatters/feature_set.py,sha256=lH5RL9Mo6weRexHrruUnmL1qqv_mZocBOQ
|
|
|
33
33
|
mlrun/common/formatters/function.py,sha256=fGa5m5aI_XvQdvrUr73dmUwrEJrE_8wM4_P4q8RgBTg,1477
|
|
34
34
|
mlrun/common/formatters/pipeline.py,sha256=hGUV_3wcTEMa-JouspbjgJ1JGKa2Wc5cXSaH2XhOdMc,1763
|
|
35
35
|
mlrun/common/formatters/project.py,sha256=rdGf7fq_CfwFwd8iKWl8sW-tqTJilK3gJtV5oLdaY-M,1756
|
|
36
|
-
mlrun/common/formatters/run.py,sha256=
|
|
36
|
+
mlrun/common/formatters/run.py,sha256=Gcf9lVDqxPMNfWcPX0RJasjTC_N_U0yTBkQ02jOPJ7A,1062
|
|
37
37
|
mlrun/common/model_monitoring/__init__.py,sha256=x0EMEvxVjHsm858J1t6IEA9dtKTdFpJ9sKhss10ld8A,721
|
|
38
38
|
mlrun/common/model_monitoring/helpers.py,sha256=1CpxIDQPumFnpUB1eqcvCpLlyPFVeW2sL6prM-N5A1A,4405
|
|
39
39
|
mlrun/common/runtimes/constants.py,sha256=Rl0Sd8n_L7Imo-uF1LL9CJ5Szi0W1gUm36yrF8PXfSc,10989
|
|
@@ -41,7 +41,7 @@ mlrun/common/schemas/__init__.py,sha256=QZMyVHjIoa88JmyVy45JGkNGz5K39XX7A72TUnXr
|
|
|
41
41
|
mlrun/common/schemas/alert.py,sha256=qWYCISNYMdkgAARVQNxshVr9d-s8LGscfLKpczkTBms,6749
|
|
42
42
|
mlrun/common/schemas/api_gateway.py,sha256=9ilorgLOiWxFZbv89-dbPNfVdaChlGOIdC4SLTxQwNI,7118
|
|
43
43
|
mlrun/common/schemas/artifact.py,sha256=V3ngobnzI1v2eoOroWBEedjAZu0ntCSIQ-LzsOK1Z9k,3570
|
|
44
|
-
mlrun/common/schemas/auth.py,sha256=
|
|
44
|
+
mlrun/common/schemas/auth.py,sha256=7XpEXICjDhHHkAppOp0mHvEtCwG68L3mhgSHPqqTBMk,6584
|
|
45
45
|
mlrun/common/schemas/background_task.py,sha256=2qZxib2qrF_nPZj0ncitCG-2jxz2hg1qj0hFc8eswWQ,1707
|
|
46
46
|
mlrun/common/schemas/client_spec.py,sha256=wqzQ5R4Zc7FL-8lV_BRN6nLrD0jK1kon05-JQ3fy2KY,2892
|
|
47
47
|
mlrun/common/schemas/clusterization_spec.py,sha256=aeaFJZms7r7h2HDv6ML_GDAT6gboW-PxBbc3GKPalGk,888
|
|
@@ -67,13 +67,13 @@ mlrun/common/schemas/runtime_resource.py,sha256=2rSuYL-9JkESSomlnU91mYDbfV-IkqZe
|
|
|
67
67
|
mlrun/common/schemas/schedule.py,sha256=nD9kxH2KjXkbGZPNfzVNlNSxbyFZmZUlwtT04_z2xCw,4289
|
|
68
68
|
mlrun/common/schemas/secret.py,sha256=51tCN1F8DFTq4y_XdHIMDy3I1TnMEBX8kO8BHKavYF4,1484
|
|
69
69
|
mlrun/common/schemas/tag.py,sha256=OAn9Qt6z8ibqw8uU8WQSvuwY8irUv45Dhx2Ko5FzUss,884
|
|
70
|
-
mlrun/common/schemas/workflow.py,sha256=
|
|
70
|
+
mlrun/common/schemas/workflow.py,sha256=K5kZdbdKMg21pqwJyTRn41p3Ws220Sjhn0Xl4Z5iDRg,2063
|
|
71
71
|
mlrun/common/schemas/model_monitoring/__init__.py,sha256=q2icasMdgI7OG-p5eVwCu6sBuPrBMpRxByC6rxYk0DM,1813
|
|
72
|
-
mlrun/common/schemas/model_monitoring/constants.py,sha256=
|
|
72
|
+
mlrun/common/schemas/model_monitoring/constants.py,sha256=Wha21Iev3Nr9ugB1Ms_wrmcY42YzWTQqLKPYZD2dRHA,9896
|
|
73
73
|
mlrun/common/schemas/model_monitoring/grafana.py,sha256=SG13MFUUz_tk6-mWeSx17qcdEW4ekicxqNtnMSwRTCY,1559
|
|
74
74
|
mlrun/common/schemas/model_monitoring/model_endpoints.py,sha256=5vvjNX1bV98VSGdT4jwHr5ArKC9v_c1iHlaTf82fSUY,13198
|
|
75
75
|
mlrun/data_types/__init__.py,sha256=EkxfkFoHb91zz3Aymq-KZfCHlPMzEc3bBqgzPUwmHWY,1087
|
|
76
|
-
mlrun/data_types/data_types.py,sha256=
|
|
76
|
+
mlrun/data_types/data_types.py,sha256=uB9qJusSvPRK2PTvrFBXrS5jcDXMuwqXokJGToDg4VA,4953
|
|
77
77
|
mlrun/data_types/infer.py,sha256=z2EbSpR6xWEE5-HRUtDZkapHQld3xMbzXtTX83K-690,6134
|
|
78
78
|
mlrun/data_types/spark.py,sha256=xfcr6lcaLcHepnrHavx_vacMJK7BC8FWsUKjwrjjn6w,9509
|
|
79
79
|
mlrun/data_types/to_pandas.py,sha256=-ZbJBg00x4xxyqqqu3AVbEh-HaO2--DrChyPuedRhHA,11215
|
|
@@ -105,7 +105,7 @@ mlrun/db/__init__.py,sha256=WqJ4x8lqJ7ZoKbhEyFqkYADd9P6E3citckx9e9ZLcIU,1163
|
|
|
105
105
|
mlrun/db/auth_utils.py,sha256=hpg8D2r82oN0BWabuWN04BTNZ7jYMAF242YSUpK7LFM,5211
|
|
106
106
|
mlrun/db/base.py,sha256=lUfJrCWbuRUErIrUUXAKI2sSlrwfB-dHDz-Ck_cnZHU,24297
|
|
107
107
|
mlrun/db/factory.py,sha256=ibIrE5QkIIyzDU1FXKrfbc31cZiRLYKDZb8dqCpQwyU,2397
|
|
108
|
-
mlrun/db/httpdb.py,sha256=
|
|
108
|
+
mlrun/db/httpdb.py,sha256=SaJT3OkxBqBJvwvGVMnYqd7yKf1vbfHV5If0bYPiX-Y,184934
|
|
109
109
|
mlrun/db/nopdb.py,sha256=1oCZR2EmQQDkwXUgmyI3SB76zvOwA6Ml3Lk_xvuwHfc,21620
|
|
110
110
|
mlrun/feature_store/__init__.py,sha256=FhHRc8NdqL_HWpCs7A8dKruxJS5wEm55Gs3dcgBiRUg,1522
|
|
111
111
|
mlrun/feature_store/api.py,sha256=SWBbFD4KU2U4TUaAbD2hRLSquFWxX46mZGCToI0GfFQ,49994
|
|
@@ -119,7 +119,7 @@ mlrun/feature_store/retrieval/base.py,sha256=zgDsRsYQz8eqReKBEeTP0O4UoLoVYjWpO1o
|
|
|
119
119
|
mlrun/feature_store/retrieval/dask_merger.py,sha256=t60xciYp6StUQLEyFyI4JK5NpWkdBy2MGCs6beimaWU,5575
|
|
120
120
|
mlrun/feature_store/retrieval/job.py,sha256=xNIe3fAZ-wQ_sVLG2iTMLrnWSRIJ3EbDR10mnUUiSKE,8593
|
|
121
121
|
mlrun/feature_store/retrieval/local_merger.py,sha256=jM-8ta44PeNUc1cKMPs-TxrO9t8pXbwu_Tw8MZrLxUY,4513
|
|
122
|
-
mlrun/feature_store/retrieval/spark_merger.py,sha256=
|
|
122
|
+
mlrun/feature_store/retrieval/spark_merger.py,sha256=XTMK40Y0bUli1Z9KwtYmMSQ8a4WOHEHzIq9uzk1mfc4,10548
|
|
123
123
|
mlrun/feature_store/retrieval/storey_merger.py,sha256=5YM0UPrLjGOobulHkowRO-1LuvFD2cm_0GxcpnTdu0I,6314
|
|
124
124
|
mlrun/frameworks/__init__.py,sha256=qRHe_nUfxpoLaSASAkIxcW6IyunMtxq5LXhjzZMO_1E,743
|
|
125
125
|
mlrun/frameworks/parallel_coordinates.py,sha256=XY2C1Q29VWxcWIsIhcluUivpEHglr8PcZHCMs2MH4GM,11485
|
|
@@ -212,22 +212,20 @@ mlrun/launcher/factory.py,sha256=RW7mfzEFi8fR0M-4W1JQg1iq3_muUU6OTqT_3l4Ubrk,233
|
|
|
212
212
|
mlrun/launcher/local.py,sha256=pP9-ZrNL8OnNDEiXTAKAZQnmLpS_mCc2v-mJw329eks,11269
|
|
213
213
|
mlrun/launcher/remote.py,sha256=tGICSfWtvUHeR31mbzy6gqHejmDxjPUgjtxXTWhRubg,7699
|
|
214
214
|
mlrun/model_monitoring/__init__.py,sha256=dm5_j0_pwqrdzFwTaEtGnKfv2nVpNaM56nBI-oqLbNU,879
|
|
215
|
-
mlrun/model_monitoring/api.py,sha256=
|
|
216
|
-
mlrun/model_monitoring/
|
|
217
|
-
mlrun/model_monitoring/controller.py,sha256=ZKp3mWMhj6irCuREs-OH1MYYh5DzqNEDe04kVPVrZzw,27971
|
|
218
|
-
mlrun/model_monitoring/evidently_application.py,sha256=iOc42IVjj8m6PDBmVcKIMWm46Bu0EdO9SDcH40Eqhyo,769
|
|
215
|
+
mlrun/model_monitoring/api.py,sha256=2EHCzB_5sCDgalYPkrFbI01cSO7LVWBv9yWoooJ-a0g,28106
|
|
216
|
+
mlrun/model_monitoring/controller.py,sha256=dvqEyoE-iCd2jqDeoUpcrQFUeoTME58i3Wa2MhYi57k,20444
|
|
219
217
|
mlrun/model_monitoring/features_drift_table.py,sha256=c6GpKtpOJbuT1u5uMWDL_S-6N4YPOmlktWMqPme3KFY,25308
|
|
220
218
|
mlrun/model_monitoring/helpers.py,sha256=KsbSH0kEjCPajvLUpv3q5GWyvx0bZj-JkghGJlzbLZI,12757
|
|
221
219
|
mlrun/model_monitoring/model_endpoint.py,sha256=7VX0cBATqLsA4sSinDzouf41ndxqh2mf5bO9BW0G5Z4,4017
|
|
222
220
|
mlrun/model_monitoring/stream_processing.py,sha256=0eu1Gq1Obq87LFno6eIZ55poXoFaeloqYTLiQgyfd0k,38687
|
|
223
221
|
mlrun/model_monitoring/tracking_policy.py,sha256=sQq956akAQpntkrJwIgFWcEq-JpyVcg0FxgNa4h3V70,5502
|
|
224
222
|
mlrun/model_monitoring/writer.py,sha256=TrBwngRmdwr67De71UCcCFsJOfcqQe8jDp0vkBvGf0o,10177
|
|
225
|
-
mlrun/model_monitoring/applications/__init__.py,sha256=
|
|
223
|
+
mlrun/model_monitoring/applications/__init__.py,sha256=QYvzgCutFdAkzqKPD3mvkX_3c1X4tzd-kW8ojUOE9ic,889
|
|
226
224
|
mlrun/model_monitoring/applications/_application_steps.py,sha256=fvZbtat7eXe5mo927_jyhq4BqWCapKZn7OVjptepIAI,7055
|
|
227
|
-
mlrun/model_monitoring/applications/base.py,sha256=
|
|
228
|
-
mlrun/model_monitoring/applications/context.py,sha256=
|
|
229
|
-
mlrun/model_monitoring/applications/evidently_base.py,sha256=
|
|
230
|
-
mlrun/model_monitoring/applications/histogram_data_drift.py,sha256=
|
|
225
|
+
mlrun/model_monitoring/applications/base.py,sha256=uzc14lFlwTJnL0p2VBCzmp-CNoHd73cK_Iz0YHC1KAs,4380
|
|
226
|
+
mlrun/model_monitoring/applications/context.py,sha256=vOZ_ZgUuy5UsNe22-puJSt7TB32HiZtqBdN1hegykuQ,12436
|
|
227
|
+
mlrun/model_monitoring/applications/evidently_base.py,sha256=FSzmoDZP8EiSQ3tq5RmU7kJ6edh8bWaKQh0rBORjODY,5099
|
|
228
|
+
mlrun/model_monitoring/applications/histogram_data_drift.py,sha256=wRCttgK1H4eRDiAJJ7Aid2hPuQPzUoBY3hSHlVkdE5w,13337
|
|
231
229
|
mlrun/model_monitoring/applications/results.py,sha256=B0YuLig4rgBzBs3OAh01yLavhtNgj8Oz1RD8UfEkENU,3590
|
|
232
230
|
mlrun/model_monitoring/db/__init__.py,sha256=6Ic-X3Fh9XLPYMytmevGNSs-Hii1rAjLLoFTSPwTguw,736
|
|
233
231
|
mlrun/model_monitoring/db/stores/__init__.py,sha256=m6Z6rPQyaufq5oXF3HVUYGDN34biAX1JE1F6OxLN9B8,4752
|
|
@@ -245,9 +243,9 @@ mlrun/model_monitoring/db/tsdb/__init__.py,sha256=Zqh_27I2YAEHk9nl0Z6lUxP7VEfrgr
|
|
|
245
243
|
mlrun/model_monitoring/db/tsdb/base.py,sha256=X89X763sDrShfRXE1N-p8k97E8NBs7O1QJFiO-CffLM,18583
|
|
246
244
|
mlrun/model_monitoring/db/tsdb/helpers.py,sha256=0oUXc4aUkYtP2SGP6jTb3uPPKImIUsVsrb9otX9a7O4,1189
|
|
247
245
|
mlrun/model_monitoring/db/tsdb/tdengine/__init__.py,sha256=vgBdsKaXUURKqIf3M0y4sRatmSVA4CQiJs7J5dcVBkQ,620
|
|
248
|
-
mlrun/model_monitoring/db/tsdb/tdengine/schemas.py,sha256=
|
|
246
|
+
mlrun/model_monitoring/db/tsdb/tdengine/schemas.py,sha256=LqWJebDXrXo0mteKVG6LnvPYlWBYh2lMCXEcv-lWoKA,10551
|
|
249
247
|
mlrun/model_monitoring/db/tsdb/tdengine/stream_graph_steps.py,sha256=Hb0vcCBP-o0ET78mU4P32fnhUL65QZv-pMuv2lnCby4,1586
|
|
250
|
-
mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connector.py,sha256=
|
|
248
|
+
mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connector.py,sha256=drNq_EpERU4lUNr_HyKBHVE4gB3CTz34Oi49XcO64EQ,18990
|
|
251
249
|
mlrun/model_monitoring/db/tsdb/v3io/__init__.py,sha256=aL3bfmQsUQ-sbvKGdNihFj8gLCK3mSys0qDcXtYOwgc,616
|
|
252
250
|
mlrun/model_monitoring/db/tsdb/v3io/stream_graph_steps.py,sha256=mbmhN4f_F58ptVjhwoMF6ifZSdnZWhK7x8eNsWS39IA,6217
|
|
253
251
|
mlrun/model_monitoring/db/tsdb/v3io/v3io_connector.py,sha256=1H-IBXPNJPRAaxDMGWpUU25QqfR87LpZbJ03vaJkICs,32858
|
|
@@ -273,9 +271,9 @@ mlrun/package/utils/type_hint_utils.py,sha256=JYrek6vuN3z7e6MGUD3qBLDfQ03C4puZXN
|
|
|
273
271
|
mlrun/platforms/__init__.py,sha256=ggSGF7inITs6S-vj9u4S9X_5psgbA0G3GVqf7zu8qYc,2406
|
|
274
272
|
mlrun/platforms/iguazio.py,sha256=1h5BpdAEQJBg2vIt7ySjUADU0ip5OkaMYr0_VREi9ys,13084
|
|
275
273
|
mlrun/projects/__init__.py,sha256=Lv5rfxyXJrw6WGOWJKhBz66M6t3_zsNMCfUD6waPwx4,1153
|
|
276
|
-
mlrun/projects/operations.py,sha256=
|
|
277
|
-
mlrun/projects/pipelines.py,sha256=
|
|
278
|
-
mlrun/projects/project.py,sha256=
|
|
274
|
+
mlrun/projects/operations.py,sha256=gtqSU9OvYOV-b681uQtWgnW7YSnX6qfa1Mt1Xm4f1ZI,19752
|
|
275
|
+
mlrun/projects/pipelines.py,sha256=9IZjfm9ccBO5xPW6FFY0em9w2ETNBP0hTvzfUf_YDjM,40951
|
|
276
|
+
mlrun/projects/project.py,sha256=FjgkBBBP6geuxOGGp1Es5EFqsrs3M6PNWejBdoM08ng,190769
|
|
279
277
|
mlrun/runtimes/__init__.py,sha256=egLM94cDMUyQ1GVABdFGXUQcDhU70lP3k7qSnM_UnHY,9008
|
|
280
278
|
mlrun/runtimes/base.py,sha256=JXWmTIcm3b0klGUOHDlyFNa3bUgsNzQIgWhUQpSZoE0,37692
|
|
281
279
|
mlrun/runtimes/daskjob.py,sha256=Ka_xqim8LkCYjp-M_WgteJy6ZN_3qfmLLHvXs7N6pa4,19411
|
|
@@ -295,7 +293,7 @@ mlrun/runtimes/mpijob/__init__.py,sha256=V_1gQD1VHa0Qvjqgyv8RLouH27Sy9YTwj2ZG62o
|
|
|
295
293
|
mlrun/runtimes/mpijob/abstract.py,sha256=kDWo-IY1FKLZhI30j38Xx9HMhlUvHezfd1DT2ShoxZY,9161
|
|
296
294
|
mlrun/runtimes/mpijob/v1.py,sha256=1XQZC7AIMGX_AQCbApcwpH8I7y39-v0v2O35MvxjXoo,3213
|
|
297
295
|
mlrun/runtimes/nuclio/__init__.py,sha256=gx1kizzKv8pGT5TNloN1js1hdbxqDw3rM90sLVYVffY,794
|
|
298
|
-
mlrun/runtimes/nuclio/api_gateway.py,sha256=
|
|
296
|
+
mlrun/runtimes/nuclio/api_gateway.py,sha256=oQRSOvqtODKCzT2LqlqSXZbq2vcZ7epsFZwO9jvarhc,26899
|
|
299
297
|
mlrun/runtimes/nuclio/function.py,sha256=TQt6RyxK_iyzNJr2r57BRtVXuy2GMrhdeFOlFjb2AZg,52106
|
|
300
298
|
mlrun/runtimes/nuclio/nuclio.py,sha256=sLK8KdGO1LbftlL3HqPZlFOFTAAuxJACZCVl1c0Ha6E,2942
|
|
301
299
|
mlrun/runtimes/nuclio/serving.py,sha256=Tsv-MssXJPe4di9stVOAyCj2MTMI7zQxvtFbAgdAtu0,29717
|
|
@@ -325,7 +323,7 @@ mlrun/utils/azure_vault.py,sha256=IEFizrDGDbAaoWwDr1WoA88S_EZ0T--vjYtY-i0cvYQ,34
|
|
|
325
323
|
mlrun/utils/clones.py,sha256=mJpx4nyFiY6jlBCvFABsNuyi_mr1mvfPWn81vlafpOU,7361
|
|
326
324
|
mlrun/utils/condition_evaluator.py,sha256=-nGfRmZzivn01rHTroiGY4rqEv8T1irMyhzxEei-sKc,1897
|
|
327
325
|
mlrun/utils/db.py,sha256=blQgkWMfFH9lcN4sgJQcPQgEETz2Dl_zwbVA0SslpFg,2186
|
|
328
|
-
mlrun/utils/helpers.py,sha256=
|
|
326
|
+
mlrun/utils/helpers.py,sha256=F2hrR3748PTbFCzvckakACSjzL2ZypqEekTMldizxr0,61146
|
|
329
327
|
mlrun/utils/http.py,sha256=t6FrXQstZm9xVVjxqIGiLzrwZNCR4CSienSOuVgNIcI,8706
|
|
330
328
|
mlrun/utils/logger.py,sha256=cag2J30-jynIHmHZ2J8RYmVMNhYBGgAoimc5sbk-A1U,10016
|
|
331
329
|
mlrun/utils/regex.py,sha256=b0AUa2THS-ELzJj0grl5b8Stq609F2XomTZkD9SB1fQ,4900
|
|
@@ -343,11 +341,11 @@ mlrun/utils/notifications/notification/ipython.py,sha256=ZtVL30B_Ha0VGoo4LxO-voT
|
|
|
343
341
|
mlrun/utils/notifications/notification/slack.py,sha256=wqpFGr5BTvFO5KuUSzFfxsgmyU1Ohq7fbrGeNe9TXOk,7006
|
|
344
342
|
mlrun/utils/notifications/notification/webhook.py,sha256=cb9w1Mc8ENfJBdgan7iiVHK9eVls4-R3tUxmXM-P-8I,4746
|
|
345
343
|
mlrun/utils/version/__init__.py,sha256=7kkrB7hEZ3cLXoWj1kPoDwo4MaswsI2JVOBpbKgPAgc,614
|
|
346
|
-
mlrun/utils/version/version.json,sha256=
|
|
344
|
+
mlrun/utils/version/version.json,sha256=aebwGt4rZOROuMZJhVbQLjSTK6WxjEeI0k5kbplPv10,89
|
|
347
345
|
mlrun/utils/version/version.py,sha256=eEW0tqIAkU9Xifxv8Z9_qsYnNhn3YH7NRAfM-pPLt1g,1878
|
|
348
|
-
mlrun-1.7.
|
|
349
|
-
mlrun-1.7.
|
|
350
|
-
mlrun-1.7.
|
|
351
|
-
mlrun-1.7.
|
|
352
|
-
mlrun-1.7.
|
|
353
|
-
mlrun-1.7.
|
|
346
|
+
mlrun-1.7.0rc52.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
347
|
+
mlrun-1.7.0rc52.dist-info/METADATA,sha256=4xKf0fr7nekI1lzBspdArputjtfZNMTiXwjBWx0dQHo,24485
|
|
348
|
+
mlrun-1.7.0rc52.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
|
|
349
|
+
mlrun-1.7.0rc52.dist-info/entry_points.txt,sha256=1Owd16eAclD5pfRCoJpYC2ZJSyGNTtUr0nCELMioMmU,46
|
|
350
|
+
mlrun-1.7.0rc52.dist-info/top_level.txt,sha256=NObLzw3maSF9wVrgSeYBv-fgnHkAJ1kEkh12DLdd5KM,6
|
|
351
|
+
mlrun-1.7.0rc52.dist-info/RECORD,,
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# Copyright 2023 Iguazio
|
|
2
|
-
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
# you may not use this file except in compliance with the License.
|
|
5
|
-
# You may obtain a copy of the License at
|
|
6
|
-
#
|
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
#
|
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
# See the License for the specific language governing permissions and
|
|
13
|
-
# limitations under the License.
|
|
14
|
-
|
|
15
|
-
# TODO : delete this file in 1.9.0
|
|
16
|
-
from mlrun.model_monitoring.applications import ( # noqa: F401
|
|
17
|
-
ModelMonitoringApplicationBase,
|
|
18
|
-
ModelMonitoringApplicationResult,
|
|
19
|
-
)
|