mlrun 1.10.0rc13__tar.gz → 1.10.0rc15__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mlrun might be problematic. Click here for more details.
- {mlrun-1.10.0rc13/mlrun.egg-info → mlrun-1.10.0rc15}/PKG-INFO +3 -8
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/dependencies.py +0 -1
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/dev-requirements.txt +4 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/extras-requirements.txt +0 -1
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/artifacts/base.py +0 -31
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/artifacts/llm_prompt.py +106 -20
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/artifacts/manager.py +0 -5
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/constants.py +0 -1
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/__init__.py +1 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/model_monitoring/__init__.py +1 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/model_monitoring/functions.py +1 -1
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/model_monitoring/model_endpoints.py +10 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/workflow.py +0 -1
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/config.py +1 -1
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/model_provider/model_provider.py +42 -14
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/model_provider/openai_provider.py +96 -15
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/db/base.py +14 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/db/httpdb.py +42 -9
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/db/nopdb.py +8 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/execution.py +16 -7
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model.py +15 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/__init__.py +1 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/applications/base.py +176 -20
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/db/_schedules.py +84 -24
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/db/tsdb/base.py +72 -1
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/db/tsdb/tdengine/schemas.py +7 -1
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connector.py +37 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/db/tsdb/v3io/v3io_connector.py +25 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/helpers.py +26 -4
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/projects/project.py +38 -12
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/daskjob.py +6 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/mpijob/abstract.py +6 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/mpijob/v1.py +6 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/nuclio/application/application.py +2 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/nuclio/function.py +6 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/nuclio/serving.py +12 -11
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/pod.py +21 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/remotesparkjob.py +6 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/sparkjob/spark3job.py +6 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/serving/__init__.py +2 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/serving/server.py +95 -26
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/serving/states.py +130 -10
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/helpers.py +36 -12
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/retryer.py +15 -2
- mlrun-1.10.0rc15/mlrun/utils/version/version.json +4 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15/mlrun.egg-info}/PKG-INFO +3 -8
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun.egg-info/requires.txt +2 -8
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/requirements.txt +2 -2
- mlrun-1.10.0rc13/mlrun/utils/version/version.json +0 -4
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/LICENSE +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/MANIFEST.in +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/Makefile +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/README.md +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/dockerfiles/mlrun-api/requirements.txt +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/archive.zip +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/function.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/handler.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/infile.txt +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/load-project.ipynb +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/mlrun_basics.ipynb +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/mlrun_dask.ipynb +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/mlrun_db.ipynb +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/mlrun_export_import.ipynb +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/mlrun_jobs.ipynb +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/mlrun_sparkk8s.ipynb +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/mlrun_vault.ipynb +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/model.bst +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/new-project.ipynb +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/nulltst.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/params.csv +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/remote-spark.ipynb +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/secrets.txt +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/spark-function.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/training.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/v2_model_server.ipynb +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/xgb_serving.ipynb +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/__main__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/alerts/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/alerts/alert.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/api/schemas/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/artifacts/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/artifacts/dataset.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/artifacts/document.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/artifacts/helpers.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/artifacts/model.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/artifacts/plots.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/db/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/db/dialects.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/formatters/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/formatters/artifact.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/formatters/base.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/formatters/feature_set.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/formatters/function.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/formatters/model_endpoint.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/formatters/pipeline.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/formatters/project.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/formatters/run.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/helpers.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/model_monitoring/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/model_monitoring/helpers.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/runtimes/constants.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/alert.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/api_gateway.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/artifact.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/auth.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/background_task.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/client_spec.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/clusterization_spec.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/common.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/constants.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/datastore_profile.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/events.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/feature_store.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/frontend_spec.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/function.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/http.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/hub.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/k8s.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/memory_reports.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/model_monitoring/constants.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/model_monitoring/grafana.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/notification.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/object.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/pagination.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/partition.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/pipeline.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/project.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/regex.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/runs.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/runtime_resource.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/schedule.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/secret.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/serving.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/tag.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/secrets.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/types.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/data_types/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/data_types/data_types.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/data_types/infer.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/data_types/spark.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/data_types/to_pandas.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/alibaba_oss.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/azure_blob.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/base.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/datastore.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/datastore_profile.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/dbfs_store.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/filestore.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/google_cloud_storage.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/hdfs.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/inmem.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/model_provider/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/redis.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/remote_client.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/s3.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/snowflake_utils.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/sources.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/spark_udf.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/spark_utils.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/store_resources.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/storeytargets.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/targets.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/utils.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/v3io.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/vectorstore.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/wasbfs/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/wasbfs/fs.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/db/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/db/auth_utils.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/db/factory.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/errors.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/feature_store/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/feature_store/api.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/feature_store/common.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/feature_store/feature_set.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/feature_store/feature_vector.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/feature_store/feature_vector_utils.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/feature_store/ingestion.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/feature_store/retrieval/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/feature_store/retrieval/base.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/feature_store/retrieval/dask_merger.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/feature_store/retrieval/job.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/feature_store/retrieval/local_merger.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/feature_store/retrieval/spark_merger.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/feature_store/retrieval/storey_merger.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/feature_store/steps.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/features.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_common/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_common/artifacts_library.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_common/mlrun_interface.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_common/model_handler.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_common/plan.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_common/producer.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_common/utils.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_dl_common/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_dl_common/loggers/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_dl_common/loggers/logger.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_dl_common/loggers/mlrun_logger.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_dl_common/loggers/tensorboard_logger.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_dl_common/model_handler.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_dl_common/utils.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_ml_common/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_ml_common/artifacts_library.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_ml_common/loggers/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_ml_common/loggers/logger.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_ml_common/loggers/mlrun_logger.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_ml_common/model_handler.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_ml_common/pkl_model_server.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_ml_common/plan.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_ml_common/plans/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_ml_common/plans/calibration_curve_plan.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_ml_common/plans/confusion_matrix_plan.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_ml_common/plans/dataset_plan.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_ml_common/plans/feature_importance_plan.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_ml_common/plans/roc_curve_plan.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_ml_common/producer.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_ml_common/utils.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/auto_mlrun/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/auto_mlrun/auto_mlrun.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/huggingface/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/huggingface/model_server.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/lgbm/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/lgbm/callbacks/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/lgbm/callbacks/callback.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/lgbm/callbacks/logging_callback.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/lgbm/callbacks/mlrun_logging_callback.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/lgbm/mlrun_interfaces/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/lgbm/mlrun_interfaces/booster_mlrun_interface.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/lgbm/mlrun_interfaces/mlrun_interface.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/lgbm/mlrun_interfaces/model_mlrun_interface.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/lgbm/model_handler.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/lgbm/model_server.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/lgbm/utils.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/onnx/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/onnx/dataset.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/onnx/mlrun_interface.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/onnx/model_handler.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/onnx/model_server.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/parallel_coordinates.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/pytorch/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/pytorch/callbacks/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/pytorch/callbacks/callback.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/pytorch/callbacks/logging_callback.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/pytorch/callbacks/mlrun_logging_callback.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/pytorch/callbacks/tensorboard_logging_callback.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/pytorch/callbacks_handler.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/pytorch/mlrun_interface.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/pytorch/model_handler.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/pytorch/model_server.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/pytorch/utils.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/sklearn/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/sklearn/estimator.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/sklearn/metric.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/sklearn/metrics_library.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/sklearn/mlrun_interface.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/sklearn/model_handler.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/sklearn/utils.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/tf_keras/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/tf_keras/callbacks/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/tf_keras/callbacks/logging_callback.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/tf_keras/callbacks/mlrun_logging_callback.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/tf_keras/callbacks/tensorboard_logging_callback.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/tf_keras/mlrun_interface.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/tf_keras/model_handler.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/tf_keras/model_server.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/tf_keras/utils.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/xgboost/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/xgboost/mlrun_interface.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/xgboost/model_handler.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/xgboost/utils.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/k8s_utils.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/launcher/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/launcher/base.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/launcher/client.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/launcher/factory.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/launcher/local.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/launcher/remote.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/lists.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/api.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/applications/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/applications/_application_steps.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/applications/context.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/applications/evidently/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/applications/evidently/base.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/applications/histogram_data_drift.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/applications/results.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/controller.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/db/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/db/_stats.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/db/tsdb/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/db/tsdb/helpers.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/db/tsdb/tdengine/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/db/tsdb/tdengine/stream_graph_steps.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connection.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/db/tsdb/v3io/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/db/tsdb/v3io/stream_graph_steps.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/features_drift_table.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/metrics/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/metrics/histogram_distance.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/stream_processing.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/writer.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/context_handler.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/errors.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/packager.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/packagers/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/packagers/default_packager.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/packagers/numpy_packagers.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/packagers/pandas_packagers.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/packagers/python_standard_library_packagers.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/packagers_manager.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/utils/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/utils/_archiver.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/utils/_formatter.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/utils/_pickler.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/utils/_supported_format.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/utils/log_hint_utils.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/utils/type_hint_utils.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/platforms/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/platforms/iguazio.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/projects/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/projects/operations.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/projects/pipelines.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/render.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/run.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/base.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/databricks_job/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/databricks_job/databricks_cancel_task.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/databricks_job/databricks_runtime.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/databricks_job/databricks_wrapper.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/funcdoc.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/function_reference.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/generators.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/kubejob.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/local.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/mounts.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/mpijob/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/nuclio/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/nuclio/api_gateway.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/nuclio/application/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/nuclio/application/reverse_proxy.go +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/nuclio/nuclio.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/sparkjob/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/utils.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/secrets.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/serving/merger.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/serving/remote.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/serving/routers.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/serving/serving_wrapper.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/serving/system_steps.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/serving/utils.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/serving/v1_serving.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/serving/v2_serving.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/track/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/track/tracker.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/track/tracker_manager.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/track/trackers/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/track/trackers/mlflow_tracker.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/async_http.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/azure_vault.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/clones.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/condition_evaluator.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/http.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/logger.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/notifications/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/notifications/notification/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/notifications/notification/base.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/notifications/notification/console.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/notifications/notification/git.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/notifications/notification/ipython.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/notifications/notification/mail.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/notifications/notification/slack.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/notifications/notification/webhook.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/notifications/notification_pusher.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/regex.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/singleton.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/v3io_clients.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/vault.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/version/__init__.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/version/version.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun.egg-info/SOURCES.txt +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun.egg-info/dependency_links.txt +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun.egg-info/entry_points.txt +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun.egg-info/not-zip-safe +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun.egg-info/top_level.txt +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/packages.py +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/pyproject.toml +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/setup.cfg +0 -0
- {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mlrun
|
|
3
|
-
Version: 1.10.
|
|
3
|
+
Version: 1.10.0rc15
|
|
4
4
|
Summary: Tracking and config of machine learning runs
|
|
5
5
|
Home-page: https://github.com/mlrun/mlrun
|
|
6
6
|
Author: Yaron Haviv
|
|
@@ -28,7 +28,7 @@ Requires-Dist: aiohttp-retry~=2.9
|
|
|
28
28
|
Requires-Dist: click~=8.1
|
|
29
29
|
Requires-Dist: nest-asyncio~=1.0
|
|
30
30
|
Requires-Dist: ipython~=8.10
|
|
31
|
-
Requires-Dist: nuclio-jupyter~=0.11.
|
|
31
|
+
Requires-Dist: nuclio-jupyter~=0.11.2
|
|
32
32
|
Requires-Dist: numpy<1.27.0,>=1.26.4
|
|
33
33
|
Requires-Dist: pandas<2.2,>=1.2
|
|
34
34
|
Requires-Dist: pyarrow<18,>=10.0
|
|
@@ -44,7 +44,7 @@ Requires-Dist: semver~=3.0
|
|
|
44
44
|
Requires-Dist: dependency-injector~=4.41
|
|
45
45
|
Requires-Dist: fsspec<2024.7,>=2023.9.2
|
|
46
46
|
Requires-Dist: v3iofs~=0.1.17
|
|
47
|
-
Requires-Dist: storey~=1.10.
|
|
47
|
+
Requires-Dist: storey~=1.10.8
|
|
48
48
|
Requires-Dist: inflection~=0.5.0
|
|
49
49
|
Requires-Dist: python-dotenv~=1.0
|
|
50
50
|
Requires-Dist: setuptools>=75.2
|
|
@@ -101,8 +101,6 @@ Provides-Extra: tdengine
|
|
|
101
101
|
Requires-Dist: taos-ws-py==0.3.2; extra == "tdengine"
|
|
102
102
|
Provides-Extra: snowflake
|
|
103
103
|
Requires-Dist: snowflake-connector-python~=3.7; extra == "snowflake"
|
|
104
|
-
Provides-Extra: openai
|
|
105
|
-
Requires-Dist: openai~=1.88; extra == "openai"
|
|
106
104
|
Provides-Extra: dev-postgres
|
|
107
105
|
Requires-Dist: pytest-mock-resources[postgres]~=2.12; extra == "dev-postgres"
|
|
108
106
|
Provides-Extra: kfp18
|
|
@@ -148,7 +146,6 @@ Requires-Dist: graphviz~=0.20.0; extra == "all"
|
|
|
148
146
|
Requires-Dist: kafka-python~=2.1.0; extra == "all"
|
|
149
147
|
Requires-Dist: mlflow~=2.22; extra == "all"
|
|
150
148
|
Requires-Dist: msrest~=0.6.21; extra == "all"
|
|
151
|
-
Requires-Dist: openai~=1.88; extra == "all"
|
|
152
149
|
Requires-Dist: oss2==2.18.1; extra == "all"
|
|
153
150
|
Requires-Dist: ossfs==2023.12.0; extra == "all"
|
|
154
151
|
Requires-Dist: plotly~=5.23; extra == "all"
|
|
@@ -180,7 +177,6 @@ Requires-Dist: graphviz~=0.20.0; extra == "complete"
|
|
|
180
177
|
Requires-Dist: kafka-python~=2.1.0; extra == "complete"
|
|
181
178
|
Requires-Dist: mlflow~=2.22; extra == "complete"
|
|
182
179
|
Requires-Dist: msrest~=0.6.21; extra == "complete"
|
|
183
|
-
Requires-Dist: openai~=1.88; extra == "complete"
|
|
184
180
|
Requires-Dist: oss2==2.18.1; extra == "complete"
|
|
185
181
|
Requires-Dist: ossfs==2023.12.0; extra == "complete"
|
|
186
182
|
Requires-Dist: plotly~=5.23; extra == "complete"
|
|
@@ -223,7 +219,6 @@ Requires-Dist: mlflow~=2.22; extra == "complete-api"
|
|
|
223
219
|
Requires-Dist: mlrun-pipelines-kfp-v1-8~=0.5.7; extra == "complete-api"
|
|
224
220
|
Requires-Dist: msrest~=0.6.21; extra == "complete-api"
|
|
225
221
|
Requires-Dist: objgraph~=3.6; extra == "complete-api"
|
|
226
|
-
Requires-Dist: openai~=1.88; extra == "complete-api"
|
|
227
222
|
Requires-Dist: oss2==2.18.1; extra == "complete-api"
|
|
228
223
|
Requires-Dist: ossfs==2023.12.0; extra == "complete-api"
|
|
229
224
|
Requires-Dist: plotly~=5.23; extra == "complete-api"
|
|
@@ -16,7 +16,6 @@ import os
|
|
|
16
16
|
import pathlib
|
|
17
17
|
import tempfile
|
|
18
18
|
import typing
|
|
19
|
-
import warnings
|
|
20
19
|
import zipfile
|
|
21
20
|
|
|
22
21
|
import yaml
|
|
@@ -876,36 +875,6 @@ def generate_target_path(item: Artifact, artifact_path, producer):
|
|
|
876
875
|
return f"{artifact_path}{item.key}{suffix}"
|
|
877
876
|
|
|
878
877
|
|
|
879
|
-
# TODO: Remove once data migration v5 is obsolete
|
|
880
|
-
def convert_legacy_artifact_to_new_format(
|
|
881
|
-
legacy_artifact: dict,
|
|
882
|
-
) -> Artifact:
|
|
883
|
-
"""Converts a legacy artifact to a new format.
|
|
884
|
-
:param legacy_artifact: The legacy artifact to convert.
|
|
885
|
-
:return: The converted artifact.
|
|
886
|
-
"""
|
|
887
|
-
artifact_key = legacy_artifact.get("key", "")
|
|
888
|
-
artifact_tag = legacy_artifact.get("tag", "")
|
|
889
|
-
if artifact_tag:
|
|
890
|
-
artifact_key = f"{artifact_key}:{artifact_tag}"
|
|
891
|
-
# TODO: Remove once data migration v5 is obsolete
|
|
892
|
-
warnings.warn(
|
|
893
|
-
f"Converting legacy artifact '{artifact_key}' to new format. This will not be supported in MLRun 1.10.0. "
|
|
894
|
-
f"Make sure to save the artifact/project in the new format.",
|
|
895
|
-
FutureWarning,
|
|
896
|
-
)
|
|
897
|
-
|
|
898
|
-
artifact = mlrun.artifacts.artifact_types.get(
|
|
899
|
-
legacy_artifact.get("kind", "artifact"), mlrun.artifacts.Artifact
|
|
900
|
-
)()
|
|
901
|
-
|
|
902
|
-
artifact.metadata = artifact.metadata.from_dict(legacy_artifact)
|
|
903
|
-
artifact.spec = artifact.spec.from_dict(legacy_artifact)
|
|
904
|
-
artifact.status = artifact.status.from_dict(legacy_artifact)
|
|
905
|
-
|
|
906
|
-
return artifact
|
|
907
|
-
|
|
908
|
-
|
|
909
878
|
def fill_artifact_object_hash(object_dict, iteration=None, producer_id=None):
|
|
910
879
|
# remove artifact related fields before calculating hash
|
|
911
880
|
object_dict.setdefault("metadata", {})
|
|
@@ -11,12 +11,13 @@
|
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
|
+
import json
|
|
14
15
|
import tempfile
|
|
15
16
|
from typing import Optional, Union
|
|
16
17
|
|
|
17
18
|
import mlrun
|
|
18
19
|
import mlrun.artifacts.model as model_art
|
|
19
|
-
import mlrun.common
|
|
20
|
+
import mlrun.common.schemas
|
|
20
21
|
from mlrun.artifacts import Artifact, ArtifactMetadata, ArtifactSpec
|
|
21
22
|
from mlrun.utils import StorePrefix, logger
|
|
22
23
|
|
|
@@ -25,16 +26,18 @@ MAX_PROMPT_LENGTH = 1024
|
|
|
25
26
|
|
|
26
27
|
class LLMPromptArtifactSpec(ArtifactSpec):
|
|
27
28
|
_dict_fields = ArtifactSpec._dict_fields + [
|
|
28
|
-
"
|
|
29
|
+
"prompt_template",
|
|
29
30
|
"prompt_legend",
|
|
30
31
|
"model_configuration",
|
|
31
32
|
"description",
|
|
32
33
|
]
|
|
34
|
+
PROMPT_TEMPLATE_KEYS = ("content", "role")
|
|
35
|
+
PROMPT_LEGENDS_KEYS = ("field", "description")
|
|
33
36
|
|
|
34
37
|
def __init__(
|
|
35
38
|
self,
|
|
36
39
|
model_artifact: Union[model_art.ModelArtifact, str] = None,
|
|
37
|
-
|
|
40
|
+
prompt_template: Optional[list[dict]] = None,
|
|
38
41
|
prompt_path: Optional[str] = None,
|
|
39
42
|
prompt_legend: Optional[dict] = None,
|
|
40
43
|
model_configuration: Optional[dict] = None,
|
|
@@ -42,22 +45,26 @@ class LLMPromptArtifactSpec(ArtifactSpec):
|
|
|
42
45
|
target_path: Optional[str] = None,
|
|
43
46
|
**kwargs,
|
|
44
47
|
):
|
|
45
|
-
if
|
|
48
|
+
if prompt_template and prompt_path:
|
|
46
49
|
raise mlrun.errors.MLRunInvalidArgumentError(
|
|
47
|
-
"Cannot specify both '
|
|
50
|
+
"Cannot specify both 'prompt_template' and 'prompt_path'"
|
|
48
51
|
)
|
|
49
|
-
|
|
52
|
+
if prompt_legend:
|
|
53
|
+
self._verify_prompt_legend(prompt_legend)
|
|
54
|
+
if prompt_path:
|
|
55
|
+
self._verify_prompt_path(prompt_path)
|
|
56
|
+
if prompt_template:
|
|
57
|
+
self._verify_prompt_template(prompt_template)
|
|
50
58
|
super().__init__(
|
|
51
59
|
src_path=prompt_path,
|
|
52
60
|
target_path=target_path,
|
|
53
61
|
parent_uri=model_artifact.uri
|
|
54
62
|
if isinstance(model_artifact, model_art.ModelArtifact)
|
|
55
63
|
else model_artifact,
|
|
56
|
-
body=prompt_string,
|
|
57
64
|
**kwargs,
|
|
58
65
|
)
|
|
59
66
|
|
|
60
|
-
self.
|
|
67
|
+
self.prompt_template = prompt_template
|
|
61
68
|
self.prompt_legend = prompt_legend
|
|
62
69
|
self.model_configuration = model_configuration
|
|
63
70
|
self.description = description
|
|
@@ -67,10 +74,78 @@ class LLMPromptArtifactSpec(ArtifactSpec):
|
|
|
67
74
|
else None
|
|
68
75
|
)
|
|
69
76
|
|
|
77
|
+
def _verify_prompt_template(self, prompt_template):
|
|
78
|
+
if not (
|
|
79
|
+
isinstance(prompt_template, list)
|
|
80
|
+
and all(isinstance(item, dict) for item in prompt_template)
|
|
81
|
+
):
|
|
82
|
+
raise mlrun.errors.MLRunInvalidArgumentError(
|
|
83
|
+
"Expected prompt_template to be a list of dicts"
|
|
84
|
+
)
|
|
85
|
+
keys_to_pop = []
|
|
86
|
+
for message in prompt_template:
|
|
87
|
+
for key in message.keys():
|
|
88
|
+
if isinstance(key, str):
|
|
89
|
+
if key.lower() not in self.PROMPT_TEMPLATE_KEYS:
|
|
90
|
+
raise mlrun.errors.MLRunInvalidArgumentError(
|
|
91
|
+
f"Expected prompt_template to contain dict that "
|
|
92
|
+
f"only has keys from {self.PROMPT_TEMPLATE_KEYS}"
|
|
93
|
+
)
|
|
94
|
+
else:
|
|
95
|
+
if not key.islower():
|
|
96
|
+
message[key.lower()] = message[key]
|
|
97
|
+
keys_to_pop.append(key)
|
|
98
|
+
else:
|
|
99
|
+
raise mlrun.errors.MLRunInvalidArgumentError(
|
|
100
|
+
f"Expected prompt_template to contain dict that only"
|
|
101
|
+
f" has str keys got {key} of type {type(key)}"
|
|
102
|
+
)
|
|
103
|
+
for key_to_pop in keys_to_pop:
|
|
104
|
+
message.pop(key_to_pop)
|
|
105
|
+
|
|
70
106
|
@property
|
|
71
107
|
def model_uri(self):
|
|
72
108
|
return self.parent_uri
|
|
73
109
|
|
|
110
|
+
@staticmethod
|
|
111
|
+
def _verify_prompt_legend(prompt_legend: dict):
|
|
112
|
+
if prompt_legend is None:
|
|
113
|
+
return True
|
|
114
|
+
for place_holder, body_map in prompt_legend.items():
|
|
115
|
+
if isinstance(body_map, dict):
|
|
116
|
+
if body_map.get("field") is None:
|
|
117
|
+
body_map["field"] = place_holder
|
|
118
|
+
body_map["description"] = body_map.get("description")
|
|
119
|
+
if diff := set(body_map.keys()) - set(
|
|
120
|
+
LLMPromptArtifactSpec.PROMPT_LEGENDS_KEYS
|
|
121
|
+
):
|
|
122
|
+
raise mlrun.errors.MLRunInvalidArgumentError(
|
|
123
|
+
"prompt_legend values must contain only 'field' and "
|
|
124
|
+
f"'description' keys, got extra fields: {diff}"
|
|
125
|
+
)
|
|
126
|
+
else:
|
|
127
|
+
raise mlrun.errors.MLRunInvalidArgumentError(
|
|
128
|
+
f"Wrong prompt_legend format, {place_holder} is not mapped to dict"
|
|
129
|
+
)
|
|
130
|
+
|
|
131
|
+
@staticmethod
|
|
132
|
+
def _verify_prompt_path(prompt_path: str):
|
|
133
|
+
with mlrun.datastore.store_manager.object(prompt_path).open(mode="r") as p_file:
|
|
134
|
+
try:
|
|
135
|
+
json.load(p_file)
|
|
136
|
+
except json.JSONDecodeError:
|
|
137
|
+
raise mlrun.errors.MLRunInvalidArgumentError(
|
|
138
|
+
f"Failed on decoding str in path "
|
|
139
|
+
f"{prompt_path} expected file to contain a "
|
|
140
|
+
f"json format."
|
|
141
|
+
)
|
|
142
|
+
|
|
143
|
+
def get_body(self):
|
|
144
|
+
if self.prompt_template:
|
|
145
|
+
return json.dumps(self.prompt_template)
|
|
146
|
+
else:
|
|
147
|
+
return None
|
|
148
|
+
|
|
74
149
|
|
|
75
150
|
class LLMPromptArtifact(Artifact):
|
|
76
151
|
"""
|
|
@@ -90,7 +165,7 @@ class LLMPromptArtifact(Artifact):
|
|
|
90
165
|
model_artifact: Union[
|
|
91
166
|
model_art.ModelArtifact, str
|
|
92
167
|
] = None, # TODO support partial model uri
|
|
93
|
-
|
|
168
|
+
prompt_template: Optional[list[dict]] = None,
|
|
94
169
|
prompt_path: Optional[str] = None,
|
|
95
170
|
prompt_legend: Optional[dict] = None,
|
|
96
171
|
model_configuration: Optional[dict] = None,
|
|
@@ -99,7 +174,7 @@ class LLMPromptArtifact(Artifact):
|
|
|
99
174
|
**kwargs,
|
|
100
175
|
):
|
|
101
176
|
llm_prompt_spec = LLMPromptArtifactSpec(
|
|
102
|
-
|
|
177
|
+
prompt_template=prompt_template,
|
|
103
178
|
prompt_path=prompt_path,
|
|
104
179
|
prompt_legend=prompt_legend,
|
|
105
180
|
model_artifact=model_artifact,
|
|
@@ -137,33 +212,44 @@ class LLMPromptArtifact(Artifact):
|
|
|
137
212
|
return self.spec._model_artifact
|
|
138
213
|
return None
|
|
139
214
|
|
|
140
|
-
def read_prompt(self) -> Optional[str]:
|
|
215
|
+
def read_prompt(self) -> Optional[Union[str, list[dict]]]:
|
|
141
216
|
"""
|
|
142
|
-
Read the prompt
|
|
217
|
+
Read the prompt json from the artifact or if provided prompt template.
|
|
218
|
+
@:param as_str: True to return the prompt string or a list of dicts.
|
|
219
|
+
@:return prompt string or list of dicts
|
|
143
220
|
"""
|
|
144
|
-
if self.spec.
|
|
145
|
-
return self.spec.
|
|
221
|
+
if self.spec.prompt_template:
|
|
222
|
+
return self.spec.prompt_template
|
|
146
223
|
if self.spec.target_path:
|
|
147
224
|
with mlrun.datastore.store_manager.object(url=self.spec.target_path).open(
|
|
148
225
|
mode="r"
|
|
149
226
|
) as p_file:
|
|
150
|
-
|
|
227
|
+
try:
|
|
228
|
+
return json.load(p_file)
|
|
229
|
+
except json.JSONDecodeError:
|
|
230
|
+
raise mlrun.errors.MLRunInvalidArgumentError(
|
|
231
|
+
f"Failed on decoding str in path "
|
|
232
|
+
f"{self.spec.target_path} expected file to contain a "
|
|
233
|
+
f"json format."
|
|
234
|
+
)
|
|
151
235
|
|
|
152
236
|
def before_log(self):
|
|
153
237
|
"""
|
|
154
238
|
Prepare the artifact before logging.
|
|
155
239
|
This method is called before the artifact is logged.
|
|
156
240
|
"""
|
|
157
|
-
if
|
|
241
|
+
if (
|
|
242
|
+
self.spec.prompt_template
|
|
243
|
+
and len(str(self.spec.prompt_template)) > MAX_PROMPT_LENGTH
|
|
244
|
+
):
|
|
158
245
|
logger.debug(
|
|
159
246
|
"Prompt string exceeds maximum length, saving to a temporary file."
|
|
160
247
|
)
|
|
161
248
|
with tempfile.NamedTemporaryFile(
|
|
162
|
-
delete=False, mode="w", suffix=".
|
|
249
|
+
delete=False, mode="w", suffix=".json"
|
|
163
250
|
) as temp_file:
|
|
164
|
-
temp_file.write(self.spec.
|
|
251
|
+
temp_file.write(json.dumps(self.spec.prompt_template))
|
|
165
252
|
self.spec.src_path = temp_file.name
|
|
166
|
-
self.spec.
|
|
253
|
+
self.spec.prompt_template = None
|
|
167
254
|
self._src_is_temp = True
|
|
168
|
-
|
|
169
255
|
super().before_log()
|
|
@@ -110,11 +110,6 @@ class ArtifactProducer:
|
|
|
110
110
|
|
|
111
111
|
def dict_to_artifact(struct: dict) -> Artifact:
|
|
112
112
|
kind = struct.get("kind", "")
|
|
113
|
-
|
|
114
|
-
# TODO: Remove once data migration v5 is obsolete
|
|
115
|
-
if mlrun.utils.is_legacy_artifact(struct):
|
|
116
|
-
return mlrun.artifacts.base.convert_legacy_artifact_to_new_format(struct)
|
|
117
|
-
|
|
118
113
|
artifact_class = artifact_types[kind]
|
|
119
114
|
return artifact_class.from_dict(struct)
|
|
120
115
|
|
{mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/model_monitoring/model_endpoints.py
RENAMED
|
@@ -352,6 +352,16 @@ class ApplicationMetricRecord(ApplicationBaseRecord):
|
|
|
352
352
|
type: Literal["metric"] = "metric"
|
|
353
353
|
|
|
354
354
|
|
|
355
|
+
class _DriftBin(NamedTuple):
|
|
356
|
+
timestamp: datetime
|
|
357
|
+
count_suspected: int
|
|
358
|
+
count_detected: int
|
|
359
|
+
|
|
360
|
+
|
|
361
|
+
class ModelEndpointDriftValues(BaseModel):
|
|
362
|
+
values: list[_DriftBin]
|
|
363
|
+
|
|
364
|
+
|
|
355
365
|
def _mapping_attributes(
|
|
356
366
|
model_class: type[Model],
|
|
357
367
|
flattened_dictionary: dict,
|
|
@@ -49,7 +49,6 @@ class WorkflowRequest(pydantic.v1.BaseModel):
|
|
|
49
49
|
class RerunWorkflowRequest(pydantic.v1.BaseModel):
|
|
50
50
|
run_name: typing.Optional[str] = None
|
|
51
51
|
run_id: typing.Optional[str] = None
|
|
52
|
-
original_workflow_id: typing.Optional[str] = None
|
|
53
52
|
notifications: typing.Optional[list[Notification]] = None
|
|
54
53
|
workflow_runner_node_selector: typing.Optional[dict[str, str]] = None
|
|
55
54
|
|
|
@@ -193,7 +193,7 @@ default_config = {
|
|
|
193
193
|
},
|
|
194
194
|
"v3io_framesd": "http://framesd:8080",
|
|
195
195
|
"model_providers": {
|
|
196
|
-
"openai_default_model": "gpt-
|
|
196
|
+
"openai_default_model": "gpt-4o",
|
|
197
197
|
},
|
|
198
198
|
# default node selector to be applied to all functions - json string base64 encoded format
|
|
199
199
|
"default_function_node_selector": "e30=",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
from collections.abc import Awaitable
|
|
15
|
-
from typing import Callable, Optional, TypeVar, Union
|
|
15
|
+
from typing import Any, Callable, Optional, TypeVar, Union
|
|
16
16
|
|
|
17
17
|
import mlrun.errors
|
|
18
18
|
from mlrun.datastore.remote_client import (
|
|
@@ -56,9 +56,16 @@ class ModelProvider(BaseRemoteClient):
|
|
|
56
56
|
)
|
|
57
57
|
self.default_invoke_kwargs = default_invoke_kwargs or {}
|
|
58
58
|
self._client = None
|
|
59
|
-
self._default_operation = None
|
|
60
59
|
self._async_client = None
|
|
61
|
-
|
|
60
|
+
|
|
61
|
+
def get_client_options(self) -> dict:
|
|
62
|
+
"""
|
|
63
|
+
Returns a dictionary containing credentials and configuration
|
|
64
|
+
options required for client creation.
|
|
65
|
+
|
|
66
|
+
:return: A dictionary with client-specific settings.
|
|
67
|
+
"""
|
|
68
|
+
return {}
|
|
62
69
|
|
|
63
70
|
def load_client(self) -> None:
|
|
64
71
|
"""
|
|
@@ -68,8 +75,6 @@ class ModelProvider(BaseRemoteClient):
|
|
|
68
75
|
Subclasses should override this method to:
|
|
69
76
|
- Create and configure the provider-specific client instance.
|
|
70
77
|
- Assign the client instance to self._client.
|
|
71
|
-
- Define a default operation callable (e.g., a method to invoke model completions)
|
|
72
|
-
and assign it to self._default_operation.
|
|
73
78
|
"""
|
|
74
79
|
|
|
75
80
|
raise NotImplementedError("load_client method is not implemented")
|
|
@@ -122,39 +127,62 @@ class ModelProvider(BaseRemoteClient):
|
|
|
122
127
|
"""
|
|
123
128
|
raise NotImplementedError("invoke method is not implemented")
|
|
124
129
|
|
|
125
|
-
def
|
|
130
|
+
def custom_invoke(
|
|
126
131
|
self, operation: Optional[Callable[..., T]] = None, **invoke_kwargs
|
|
127
132
|
) -> Optional[T]:
|
|
128
|
-
|
|
133
|
+
"""
|
|
134
|
+
Invokes a model operation from a provider (e.g., OpenAI, Hugging Face, etc.) with the given keyword arguments.
|
|
135
|
+
|
|
136
|
+
Useful for dynamically calling model methods like text generation, chat completions, or image generation.
|
|
137
|
+
The operation must be a callable that accepts keyword arguments.
|
|
138
|
+
|
|
139
|
+
:param operation: A callable representing the model operation (e.g., a client method).
|
|
140
|
+
:param invoke_kwargs: Keyword arguments to pass to the operation.
|
|
141
|
+
:return: The full response returned by the operation.
|
|
142
|
+
"""
|
|
143
|
+
raise NotImplementedError("custom_invoke method is not implemented")
|
|
129
144
|
|
|
130
145
|
@property
|
|
131
|
-
def client(self):
|
|
146
|
+
def client(self) -> Any:
|
|
132
147
|
return self._client
|
|
133
148
|
|
|
134
149
|
@property
|
|
135
|
-
def model(self):
|
|
150
|
+
def model(self) -> Optional[str]:
|
|
136
151
|
return None
|
|
137
152
|
|
|
138
|
-
def get_invoke_kwargs(self, invoke_kwargs):
|
|
153
|
+
def get_invoke_kwargs(self, invoke_kwargs) -> dict:
|
|
139
154
|
kwargs = self.default_invoke_kwargs.copy()
|
|
140
155
|
kwargs.update(invoke_kwargs)
|
|
141
156
|
return kwargs
|
|
142
157
|
|
|
143
158
|
@property
|
|
144
|
-
def async_client(self):
|
|
159
|
+
def async_client(self) -> Any:
|
|
145
160
|
if not self.support_async:
|
|
146
161
|
raise mlrun.errors.MLRunInvalidArgumentError(
|
|
147
162
|
f"{self.__class__.__name__} does not support async operations"
|
|
148
163
|
)
|
|
149
164
|
return self._async_client
|
|
150
165
|
|
|
151
|
-
async def
|
|
152
|
-
|
|
166
|
+
async def async_custom_invoke(
|
|
167
|
+
self, operation: Optional[Callable[..., Awaitable[T]]], **invoke_kwargs
|
|
168
|
+
) -> Optional[T]:
|
|
169
|
+
"""
|
|
170
|
+
Asynchronously invokes a model operation from a provider (e.g., OpenAI, Hugging Face, etc.)
|
|
171
|
+
with the given keyword arguments.
|
|
172
|
+
|
|
173
|
+
The operation must be an async callable (e.g., a method from an async client) that accepts keyword arguments.
|
|
174
|
+
|
|
175
|
+
:param operation: An async callable representing the model operation (e.g., an async_client method).
|
|
176
|
+
:param invoke_kwargs: Keyword arguments to pass to the operation.
|
|
177
|
+
:return: The full response returned by the awaited operation.
|
|
178
|
+
"""
|
|
179
|
+
raise NotImplementedError("async_custom_invoke is not implemented")
|
|
153
180
|
|
|
154
181
|
async def async_invoke(
|
|
155
182
|
self,
|
|
156
183
|
messages: Optional[list[dict]] = None,
|
|
157
184
|
as_str: bool = False,
|
|
158
185
|
**invoke_kwargs,
|
|
159
|
-
) ->
|
|
186
|
+
) -> Optional[str]:
|
|
187
|
+
"""Async version of `invoke`. See `invoke` for full documentation."""
|
|
160
188
|
raise NotImplementedError("async_invoke is not implemented")
|