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.

Files changed (395) hide show
  1. {mlrun-1.10.0rc13/mlrun.egg-info → mlrun-1.10.0rc15}/PKG-INFO +3 -8
  2. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/dependencies.py +0 -1
  3. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/dev-requirements.txt +4 -0
  4. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/extras-requirements.txt +0 -1
  5. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/artifacts/base.py +0 -31
  6. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/artifacts/llm_prompt.py +106 -20
  7. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/artifacts/manager.py +0 -5
  8. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/constants.py +0 -1
  9. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/__init__.py +1 -0
  10. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/model_monitoring/__init__.py +1 -0
  11. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/model_monitoring/functions.py +1 -1
  12. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/model_monitoring/model_endpoints.py +10 -0
  13. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/workflow.py +0 -1
  14. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/config.py +1 -1
  15. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/model_provider/model_provider.py +42 -14
  16. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/model_provider/openai_provider.py +96 -15
  17. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/db/base.py +14 -0
  18. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/db/httpdb.py +42 -9
  19. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/db/nopdb.py +8 -0
  20. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/execution.py +16 -7
  21. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model.py +15 -0
  22. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/__init__.py +1 -0
  23. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/applications/base.py +176 -20
  24. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/db/_schedules.py +84 -24
  25. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/db/tsdb/base.py +72 -1
  26. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/db/tsdb/tdengine/schemas.py +7 -1
  27. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connector.py +37 -0
  28. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/db/tsdb/v3io/v3io_connector.py +25 -0
  29. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/helpers.py +26 -4
  30. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/projects/project.py +38 -12
  31. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/daskjob.py +6 -0
  32. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/mpijob/abstract.py +6 -0
  33. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/mpijob/v1.py +6 -0
  34. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/nuclio/application/application.py +2 -0
  35. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/nuclio/function.py +6 -0
  36. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/nuclio/serving.py +12 -11
  37. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/pod.py +21 -0
  38. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/remotesparkjob.py +6 -0
  39. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/sparkjob/spark3job.py +6 -0
  40. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/serving/__init__.py +2 -0
  41. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/serving/server.py +95 -26
  42. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/serving/states.py +130 -10
  43. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/helpers.py +36 -12
  44. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/retryer.py +15 -2
  45. mlrun-1.10.0rc15/mlrun/utils/version/version.json +4 -0
  46. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15/mlrun.egg-info}/PKG-INFO +3 -8
  47. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun.egg-info/requires.txt +2 -8
  48. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/requirements.txt +2 -2
  49. mlrun-1.10.0rc13/mlrun/utils/version/version.json +0 -4
  50. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/LICENSE +0 -0
  51. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/MANIFEST.in +0 -0
  52. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/Makefile +0 -0
  53. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/README.md +0 -0
  54. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/dockerfiles/mlrun-api/requirements.txt +0 -0
  55. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/archive.zip +0 -0
  56. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/function.py +0 -0
  57. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/handler.py +0 -0
  58. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/infile.txt +0 -0
  59. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/load-project.ipynb +0 -0
  60. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/mlrun_basics.ipynb +0 -0
  61. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/mlrun_dask.ipynb +0 -0
  62. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/mlrun_db.ipynb +0 -0
  63. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/mlrun_export_import.ipynb +0 -0
  64. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/mlrun_jobs.ipynb +0 -0
  65. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/mlrun_sparkk8s.ipynb +0 -0
  66. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/mlrun_vault.ipynb +0 -0
  67. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/model.bst +0 -0
  68. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/new-project.ipynb +0 -0
  69. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/nulltst.py +0 -0
  70. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/params.csv +0 -0
  71. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/remote-spark.ipynb +0 -0
  72. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/secrets.txt +0 -0
  73. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/spark-function.py +0 -0
  74. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/training.py +0 -0
  75. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/v2_model_server.ipynb +0 -0
  76. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/examples/xgb_serving.ipynb +0 -0
  77. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/__init__.py +0 -0
  78. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/__main__.py +0 -0
  79. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/alerts/__init__.py +0 -0
  80. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/alerts/alert.py +0 -0
  81. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/api/schemas/__init__.py +0 -0
  82. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/artifacts/__init__.py +0 -0
  83. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/artifacts/dataset.py +0 -0
  84. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/artifacts/document.py +0 -0
  85. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/artifacts/helpers.py +0 -0
  86. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/artifacts/model.py +0 -0
  87. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/artifacts/plots.py +0 -0
  88. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/__init__.py +0 -0
  89. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/db/__init__.py +0 -0
  90. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/db/dialects.py +0 -0
  91. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/formatters/__init__.py +0 -0
  92. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/formatters/artifact.py +0 -0
  93. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/formatters/base.py +0 -0
  94. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/formatters/feature_set.py +0 -0
  95. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/formatters/function.py +0 -0
  96. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/formatters/model_endpoint.py +0 -0
  97. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/formatters/pipeline.py +0 -0
  98. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/formatters/project.py +0 -0
  99. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/formatters/run.py +0 -0
  100. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/helpers.py +0 -0
  101. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/model_monitoring/__init__.py +0 -0
  102. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/model_monitoring/helpers.py +0 -0
  103. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/runtimes/constants.py +0 -0
  104. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/alert.py +0 -0
  105. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/api_gateway.py +0 -0
  106. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/artifact.py +0 -0
  107. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/auth.py +0 -0
  108. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/background_task.py +0 -0
  109. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/client_spec.py +0 -0
  110. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/clusterization_spec.py +0 -0
  111. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/common.py +0 -0
  112. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/constants.py +0 -0
  113. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/datastore_profile.py +0 -0
  114. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/events.py +0 -0
  115. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/feature_store.py +0 -0
  116. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/frontend_spec.py +0 -0
  117. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/function.py +0 -0
  118. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/http.py +0 -0
  119. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/hub.py +0 -0
  120. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/k8s.py +0 -0
  121. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/memory_reports.py +0 -0
  122. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/model_monitoring/constants.py +0 -0
  123. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/model_monitoring/grafana.py +0 -0
  124. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/notification.py +0 -0
  125. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/object.py +0 -0
  126. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/pagination.py +0 -0
  127. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/partition.py +0 -0
  128. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/pipeline.py +0 -0
  129. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/project.py +0 -0
  130. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/regex.py +0 -0
  131. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/runs.py +0 -0
  132. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/runtime_resource.py +0 -0
  133. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/schedule.py +0 -0
  134. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/secret.py +0 -0
  135. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/serving.py +0 -0
  136. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/schemas/tag.py +0 -0
  137. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/secrets.py +0 -0
  138. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/common/types.py +0 -0
  139. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/data_types/__init__.py +0 -0
  140. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/data_types/data_types.py +0 -0
  141. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/data_types/infer.py +0 -0
  142. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/data_types/spark.py +0 -0
  143. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/data_types/to_pandas.py +0 -0
  144. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/__init__.py +0 -0
  145. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/alibaba_oss.py +0 -0
  146. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/azure_blob.py +0 -0
  147. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/base.py +0 -0
  148. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/datastore.py +0 -0
  149. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/datastore_profile.py +0 -0
  150. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/dbfs_store.py +0 -0
  151. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/filestore.py +0 -0
  152. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/google_cloud_storage.py +0 -0
  153. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/hdfs.py +0 -0
  154. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/inmem.py +0 -0
  155. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/model_provider/__init__.py +0 -0
  156. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/redis.py +0 -0
  157. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/remote_client.py +0 -0
  158. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/s3.py +0 -0
  159. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/snowflake_utils.py +0 -0
  160. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/sources.py +0 -0
  161. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/spark_udf.py +0 -0
  162. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/spark_utils.py +0 -0
  163. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/store_resources.py +0 -0
  164. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/storeytargets.py +0 -0
  165. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/targets.py +0 -0
  166. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/utils.py +0 -0
  167. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/v3io.py +0 -0
  168. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/vectorstore.py +0 -0
  169. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/wasbfs/__init__.py +0 -0
  170. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/datastore/wasbfs/fs.py +0 -0
  171. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/db/__init__.py +0 -0
  172. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/db/auth_utils.py +0 -0
  173. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/db/factory.py +0 -0
  174. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/errors.py +0 -0
  175. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/feature_store/__init__.py +0 -0
  176. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/feature_store/api.py +0 -0
  177. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/feature_store/common.py +0 -0
  178. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/feature_store/feature_set.py +0 -0
  179. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/feature_store/feature_vector.py +0 -0
  180. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/feature_store/feature_vector_utils.py +0 -0
  181. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/feature_store/ingestion.py +0 -0
  182. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/feature_store/retrieval/__init__.py +0 -0
  183. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/feature_store/retrieval/base.py +0 -0
  184. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/feature_store/retrieval/dask_merger.py +0 -0
  185. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/feature_store/retrieval/job.py +0 -0
  186. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/feature_store/retrieval/local_merger.py +0 -0
  187. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/feature_store/retrieval/spark_merger.py +0 -0
  188. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/feature_store/retrieval/storey_merger.py +0 -0
  189. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/feature_store/steps.py +0 -0
  190. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/features.py +0 -0
  191. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/__init__.py +0 -0
  192. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_common/__init__.py +0 -0
  193. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_common/artifacts_library.py +0 -0
  194. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_common/mlrun_interface.py +0 -0
  195. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_common/model_handler.py +0 -0
  196. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_common/plan.py +0 -0
  197. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_common/producer.py +0 -0
  198. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_common/utils.py +0 -0
  199. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_dl_common/__init__.py +0 -0
  200. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_dl_common/loggers/__init__.py +0 -0
  201. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_dl_common/loggers/logger.py +0 -0
  202. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_dl_common/loggers/mlrun_logger.py +0 -0
  203. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_dl_common/loggers/tensorboard_logger.py +0 -0
  204. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_dl_common/model_handler.py +0 -0
  205. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_dl_common/utils.py +0 -0
  206. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_ml_common/__init__.py +0 -0
  207. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_ml_common/artifacts_library.py +0 -0
  208. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_ml_common/loggers/__init__.py +0 -0
  209. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_ml_common/loggers/logger.py +0 -0
  210. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_ml_common/loggers/mlrun_logger.py +0 -0
  211. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_ml_common/model_handler.py +0 -0
  212. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_ml_common/pkl_model_server.py +0 -0
  213. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_ml_common/plan.py +0 -0
  214. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_ml_common/plans/__init__.py +0 -0
  215. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_ml_common/plans/calibration_curve_plan.py +0 -0
  216. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_ml_common/plans/confusion_matrix_plan.py +0 -0
  217. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_ml_common/plans/dataset_plan.py +0 -0
  218. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_ml_common/plans/feature_importance_plan.py +0 -0
  219. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_ml_common/plans/roc_curve_plan.py +0 -0
  220. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_ml_common/producer.py +0 -0
  221. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/_ml_common/utils.py +0 -0
  222. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/auto_mlrun/__init__.py +0 -0
  223. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/auto_mlrun/auto_mlrun.py +0 -0
  224. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/huggingface/__init__.py +0 -0
  225. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/huggingface/model_server.py +0 -0
  226. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/lgbm/__init__.py +0 -0
  227. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/lgbm/callbacks/__init__.py +0 -0
  228. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/lgbm/callbacks/callback.py +0 -0
  229. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/lgbm/callbacks/logging_callback.py +0 -0
  230. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/lgbm/callbacks/mlrun_logging_callback.py +0 -0
  231. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/lgbm/mlrun_interfaces/__init__.py +0 -0
  232. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/lgbm/mlrun_interfaces/booster_mlrun_interface.py +0 -0
  233. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/lgbm/mlrun_interfaces/mlrun_interface.py +0 -0
  234. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/lgbm/mlrun_interfaces/model_mlrun_interface.py +0 -0
  235. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/lgbm/model_handler.py +0 -0
  236. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/lgbm/model_server.py +0 -0
  237. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/lgbm/utils.py +0 -0
  238. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/onnx/__init__.py +0 -0
  239. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/onnx/dataset.py +0 -0
  240. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/onnx/mlrun_interface.py +0 -0
  241. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/onnx/model_handler.py +0 -0
  242. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/onnx/model_server.py +0 -0
  243. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/parallel_coordinates.py +0 -0
  244. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/pytorch/__init__.py +0 -0
  245. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/pytorch/callbacks/__init__.py +0 -0
  246. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/pytorch/callbacks/callback.py +0 -0
  247. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/pytorch/callbacks/logging_callback.py +0 -0
  248. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/pytorch/callbacks/mlrun_logging_callback.py +0 -0
  249. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/pytorch/callbacks/tensorboard_logging_callback.py +0 -0
  250. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/pytorch/callbacks_handler.py +0 -0
  251. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/pytorch/mlrun_interface.py +0 -0
  252. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/pytorch/model_handler.py +0 -0
  253. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/pytorch/model_server.py +0 -0
  254. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/pytorch/utils.py +0 -0
  255. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/sklearn/__init__.py +0 -0
  256. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/sklearn/estimator.py +0 -0
  257. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/sklearn/metric.py +0 -0
  258. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/sklearn/metrics_library.py +0 -0
  259. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/sklearn/mlrun_interface.py +0 -0
  260. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/sklearn/model_handler.py +0 -0
  261. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/sklearn/utils.py +0 -0
  262. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/tf_keras/__init__.py +0 -0
  263. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/tf_keras/callbacks/__init__.py +0 -0
  264. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/tf_keras/callbacks/logging_callback.py +0 -0
  265. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/tf_keras/callbacks/mlrun_logging_callback.py +0 -0
  266. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/tf_keras/callbacks/tensorboard_logging_callback.py +0 -0
  267. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/tf_keras/mlrun_interface.py +0 -0
  268. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/tf_keras/model_handler.py +0 -0
  269. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/tf_keras/model_server.py +0 -0
  270. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/tf_keras/utils.py +0 -0
  271. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/xgboost/__init__.py +0 -0
  272. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/xgboost/mlrun_interface.py +0 -0
  273. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/xgboost/model_handler.py +0 -0
  274. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/frameworks/xgboost/utils.py +0 -0
  275. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/k8s_utils.py +0 -0
  276. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/launcher/__init__.py +0 -0
  277. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/launcher/base.py +0 -0
  278. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/launcher/client.py +0 -0
  279. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/launcher/factory.py +0 -0
  280. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/launcher/local.py +0 -0
  281. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/launcher/remote.py +0 -0
  282. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/lists.py +0 -0
  283. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/api.py +0 -0
  284. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/applications/__init__.py +0 -0
  285. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/applications/_application_steps.py +0 -0
  286. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/applications/context.py +0 -0
  287. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/applications/evidently/__init__.py +0 -0
  288. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/applications/evidently/base.py +0 -0
  289. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/applications/histogram_data_drift.py +0 -0
  290. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/applications/results.py +0 -0
  291. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/controller.py +0 -0
  292. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/db/__init__.py +0 -0
  293. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/db/_stats.py +0 -0
  294. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/db/tsdb/__init__.py +0 -0
  295. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/db/tsdb/helpers.py +0 -0
  296. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/db/tsdb/tdengine/__init__.py +0 -0
  297. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/db/tsdb/tdengine/stream_graph_steps.py +0 -0
  298. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connection.py +0 -0
  299. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/db/tsdb/v3io/__init__.py +0 -0
  300. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/db/tsdb/v3io/stream_graph_steps.py +0 -0
  301. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/features_drift_table.py +0 -0
  302. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/metrics/__init__.py +0 -0
  303. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/metrics/histogram_distance.py +0 -0
  304. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/stream_processing.py +0 -0
  305. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/model_monitoring/writer.py +0 -0
  306. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/__init__.py +0 -0
  307. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/context_handler.py +0 -0
  308. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/errors.py +0 -0
  309. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/packager.py +0 -0
  310. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/packagers/__init__.py +0 -0
  311. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/packagers/default_packager.py +0 -0
  312. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/packagers/numpy_packagers.py +0 -0
  313. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/packagers/pandas_packagers.py +0 -0
  314. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/packagers/python_standard_library_packagers.py +0 -0
  315. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/packagers_manager.py +0 -0
  316. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/utils/__init__.py +0 -0
  317. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/utils/_archiver.py +0 -0
  318. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/utils/_formatter.py +0 -0
  319. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/utils/_pickler.py +0 -0
  320. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/utils/_supported_format.py +0 -0
  321. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/utils/log_hint_utils.py +0 -0
  322. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/package/utils/type_hint_utils.py +0 -0
  323. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/platforms/__init__.py +0 -0
  324. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/platforms/iguazio.py +0 -0
  325. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/projects/__init__.py +0 -0
  326. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/projects/operations.py +0 -0
  327. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/projects/pipelines.py +0 -0
  328. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/render.py +0 -0
  329. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/run.py +0 -0
  330. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/__init__.py +0 -0
  331. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/base.py +0 -0
  332. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/databricks_job/__init__.py +0 -0
  333. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/databricks_job/databricks_cancel_task.py +0 -0
  334. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/databricks_job/databricks_runtime.py +0 -0
  335. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/databricks_job/databricks_wrapper.py +0 -0
  336. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/funcdoc.py +0 -0
  337. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/function_reference.py +0 -0
  338. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/generators.py +0 -0
  339. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/kubejob.py +0 -0
  340. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/local.py +0 -0
  341. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/mounts.py +0 -0
  342. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/mpijob/__init__.py +0 -0
  343. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/nuclio/__init__.py +0 -0
  344. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/nuclio/api_gateway.py +0 -0
  345. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/nuclio/application/__init__.py +0 -0
  346. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/nuclio/application/reverse_proxy.go +0 -0
  347. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/nuclio/nuclio.py +0 -0
  348. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/sparkjob/__init__.py +0 -0
  349. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/runtimes/utils.py +0 -0
  350. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/secrets.py +0 -0
  351. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/serving/merger.py +0 -0
  352. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/serving/remote.py +0 -0
  353. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/serving/routers.py +0 -0
  354. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/serving/serving_wrapper.py +0 -0
  355. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/serving/system_steps.py +0 -0
  356. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/serving/utils.py +0 -0
  357. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/serving/v1_serving.py +0 -0
  358. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/serving/v2_serving.py +0 -0
  359. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/track/__init__.py +0 -0
  360. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/track/tracker.py +0 -0
  361. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/track/tracker_manager.py +0 -0
  362. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/track/trackers/__init__.py +0 -0
  363. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/track/trackers/mlflow_tracker.py +0 -0
  364. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/__init__.py +0 -0
  365. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/async_http.py +0 -0
  366. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/azure_vault.py +0 -0
  367. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/clones.py +0 -0
  368. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/condition_evaluator.py +0 -0
  369. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/http.py +0 -0
  370. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/logger.py +0 -0
  371. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/notifications/__init__.py +0 -0
  372. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/notifications/notification/__init__.py +0 -0
  373. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/notifications/notification/base.py +0 -0
  374. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/notifications/notification/console.py +0 -0
  375. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/notifications/notification/git.py +0 -0
  376. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/notifications/notification/ipython.py +0 -0
  377. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/notifications/notification/mail.py +0 -0
  378. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/notifications/notification/slack.py +0 -0
  379. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/notifications/notification/webhook.py +0 -0
  380. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/notifications/notification_pusher.py +0 -0
  381. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/regex.py +0 -0
  382. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/singleton.py +0 -0
  383. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/v3io_clients.py +0 -0
  384. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/vault.py +0 -0
  385. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/version/__init__.py +0 -0
  386. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun/utils/version/version.py +0 -0
  387. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun.egg-info/SOURCES.txt +0 -0
  388. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun.egg-info/dependency_links.txt +0 -0
  389. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun.egg-info/entry_points.txt +0 -0
  390. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun.egg-info/not-zip-safe +0 -0
  391. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/mlrun.egg-info/top_level.txt +0 -0
  392. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/packages.py +0 -0
  393. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/pyproject.toml +0 -0
  394. {mlrun-1.10.0rc13 → mlrun-1.10.0rc15}/setup.cfg +0 -0
  395. {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.0rc13
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.1
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.7
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"
@@ -75,7 +75,6 @@ def extra_requirements() -> dict[str, list[str]]:
75
75
  "alibaba-oss": ["ossfs==2023.12.0", "oss2==2.18.1"],
76
76
  "tdengine": ["taos-ws-py==0.3.2"],
77
77
  "snowflake": ["snowflake-connector-python~=3.7"],
78
- "openai": ["openai~=1.88"],
79
78
  }
80
79
 
81
80
  api_deps = list(
@@ -43,3 +43,7 @@ evidently~=0.7.6
43
43
  # code coverage
44
44
  coverage[toml]~=7.8
45
45
  diff-cover~=9.2
46
+ openai~=1.88
47
+ transformers~=4.53
48
+ # for hugging face image classifier test:
49
+ tf-keras~=2.18
@@ -52,4 +52,3 @@ dask~=2024.12.1; python_version >= "3.11"
52
52
  distributed~=2024.12.1; python_version >= "3.11"
53
53
  taos-ws-py==0.3.2
54
54
  snowflake-connector-python~=3.7
55
- openai~=1.88
@@ -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
- "prompt_string",
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
- prompt_string: Optional[str] = None,
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 prompt_string and prompt_path:
48
+ if prompt_template and prompt_path:
46
49
  raise mlrun.errors.MLRunInvalidArgumentError(
47
- "Cannot specify both 'prompt_string' and 'prompt_path'"
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.prompt_string = prompt_string
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
- prompt_string: Optional[str] = None,
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
- prompt_string=prompt_string,
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 string from the artifact.
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.prompt_string:
145
- return self.spec.prompt_string
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
- return p_file.read()
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 self.spec.prompt_string and len(self.spec.prompt_string) > MAX_PROMPT_LENGTH:
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=".txt"
249
+ delete=False, mode="w", suffix=".json"
163
250
  ) as temp_file:
164
- temp_file.write(self.spec.prompt_string)
251
+ temp_file.write(json.dumps(self.spec.prompt_template))
165
252
  self.spec.src_path = temp_file.name
166
- self.spec.prompt_string = None
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
 
@@ -81,7 +81,6 @@ class MLRunInternalLabels:
81
81
  kind = "kind"
82
82
  component = "component"
83
83
  mlrun_type = "mlrun__type"
84
- rerun_of = "rerun-of"
85
84
  original_workflow_id = "original-workflow-id"
86
85
  workflow_id = "workflow-id"
87
86
 
@@ -147,6 +147,7 @@ from .model_monitoring import (
147
147
  GrafanaTable,
148
148
  ModelEndpoint,
149
149
  ModelEndpointCreationStrategy,
150
+ ModelEndpointDriftValues,
150
151
  ModelEndpointList,
151
152
  ModelEndpointMetadata,
152
153
  ModelEndpointSchema,
@@ -59,6 +59,7 @@ from .model_endpoints import (
59
59
  Features,
60
60
  FeatureValues,
61
61
  ModelEndpoint,
62
+ ModelEndpointDriftValues,
62
63
  ModelEndpointList,
63
64
  ModelEndpointMetadata,
64
65
  ModelEndpointMonitoringMetric,
@@ -64,5 +64,5 @@ class FunctionSummary(BaseModel):
64
64
  updated_time=func_dict["metadata"].get("updated"),
65
65
  status=func_dict["status"].get("state"),
66
66
  base_period=base_period,
67
- stats=stats,
67
+ stats=stats or {},
68
68
  )
@@ -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-4",
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
- self._default_async_operation = None
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 customized_invoke(
130
+ def custom_invoke(
126
131
  self, operation: Optional[Callable[..., T]] = None, **invoke_kwargs
127
132
  ) -> Optional[T]:
128
- raise NotImplementedError("customized_invoke method is not implemented")
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 async_customized_invoke(self, **kwargs):
152
- raise NotImplementedError("async_customized_invoke is not implemented")
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
- ) -> Awaitable[str]:
186
+ ) -> Optional[str]:
187
+ """Async version of `invoke`. See `invoke` for full documentation."""
160
188
  raise NotImplementedError("async_invoke is not implemented")