/ mlflow / models / __init__.py
__init__.py
 1  """
 2  The ``mlflow.models`` module provides an API for saving machine learning models in
 3  "flavors" that can be understood by different downstream tools.
 4  
 5  The built-in flavors are:
 6  
 7  - :py:mod:`mlflow.catboost`
 8  - :py:mod:`mlflow.dspy`
 9  - :py:mod:`mlflow.h2o`
10  - :py:mod:`mlflow.langchain`
11  - :py:mod:`mlflow.lightgbm`
12  - :py:mod:`mlflow.llama_index`
13  - :py:mod:`mlflow.onnx`
14  - :py:mod:`mlflow.openai`
15  - :py:mod:`mlflow.paddle`
16  - :py:mod:`mlflow.pmdarima`
17  - :py:mod:`mlflow.prophet`
18  - :py:mod:`mlflow.pyfunc`
19  - :py:mod:`mlflow.pyspark.ml`
20  - :py:mod:`mlflow.pytorch`
21  - :py:mod:`mlflow.sklearn`
22  - :py:mod:`mlflow.spacy`
23  - :py:mod:`mlflow.spark`
24  - :py:mod:`mlflow.statsmodels`
25  - :py:mod:`mlflow.tensorflow`
26  - :py:mod:`mlflow.transformers`
27  - :py:mod:`mlflow.xgboost`
28  
29  For details, see `MLflow Models guide <https://mlflow.org/docs/latest/ml/model/>`_.
30  """
31  
32  from mlflow.models.dependencies_schemas import set_retriever_schema
33  from mlflow.models.evaluation import (
34      EvaluationArtifact,
35      EvaluationMetric,
36      EvaluationResult,
37      MetricThreshold,
38      evaluate,
39      list_evaluators,
40      make_metric,
41  )
42  from mlflow.models.flavor_backend import FlavorBackend
43  from mlflow.models.model import Model, get_model_info, set_model, update_model_requirements
44  from mlflow.models.model_config import ModelConfig
45  from mlflow.models.python_api import build_docker
46  from mlflow.models.resources import Resource, ResourceType
47  from mlflow.utils.environment import infer_pip_requirements
48  
49  __all__ = [
50      "Model",
51      "FlavorBackend",
52      "infer_pip_requirements",
53      "evaluate",
54      "make_metric",
55      "EvaluationMetric",
56      "EvaluationArtifact",
57      "EvaluationResult",
58      "get_model_info",
59      "set_model",
60      "set_retriever_schema",
61      "list_evaluators",
62      "MetricThreshold",
63      "build_docker",
64      "Resource",
65      "ResourceType",
66      "ModelConfig",
67      "update_model_requirements",
68  ]
69  
70  
71  # Under skinny-mlflow requirements, the following packages cannot be imported
72  # because of lack of numpy/pandas library, so wrap them with try...except block
73  try:
74      from mlflow.models.python_api import predict
75      from mlflow.models.signature import ModelSignature, infer_signature, set_signature
76      from mlflow.models.utils import (
77          ModelInputExample,
78          add_libraries_to_model,
79          convert_input_example_to_serving_input,
80          validate_schema,
81          validate_serving_input,
82      )
83  
84      __all__ += [
85          "ModelSignature",
86          "ModelInputExample",
87          "infer_signature",
88          "validate_schema",
89          "add_libraries_to_model",
90          "convert_input_example_to_serving_input",
91          "set_signature",
92          "predict",
93          "validate_serving_input",
94      ]
95  except ImportError:
96      pass