class_docstr: The MLflow integration engine needs to have a working connection to MLFlow. For this:
      - All models to use should be previously served
      - An MLflow server should be running, to access its model registry
  
  Example:
      1. Run `mlflow server -p 5001 --backend-store-uri sqlite:////path/to/mlflow.db --default-artifact-root ./artifacts --host 0.0.0.0`
      2. Run `mlflow models serve --model-uri ./model_path`
      3. Run MindsDB
  
  Note: above, `artifacts` is a folder to store artifacts for new experiments that do not specify an artifact store.
code: def predict(self, df, args=None):
      args = self.model_storage.json_get(
          "args"
      )  # override any incoming args for now
      self._check_model_url(args["predict_url"])
      resp = requests.post(
          args["predict_url"],
          data=df.to_json(orient="records"),
          headers={
              "content-type": "application/json; format=pandas-records"
          },
      )
      answer = resp.json()
      predictions = pd.DataFrame({args["target"]: answer})
      return predictions
  
file_path: mindsdb/mindsdb/integrations/handlers/mlflow_handler/mlflow_handler.py
imports: import requests
  from datetime import datetime
  from typing import Dict, Optional
  import pandas
  from mlflow.tracking import MlflowClient
  from mindsdb.integrations.libs.base import BaseMLEngine
label_desc: Use image node_id 2 for calling the MLflowHandler obj's underlying member method code with example usage: obj.predict(df, args) and returns: predictions