code: def get_or_create_experiment_id(
      experiment_name, artifact_uri: str = None
  ):
      """Gets experiment id from mlflow."""
      experiment = mlflow.get_experiment_by_name(experiment_name)
      if experiment is not None:
          return experiment.experiment_id
      return mlflow.create_experiment(
          name=experiment_name, artifact_location=artifact_uri
      )
  
imports: import logging
  import os
  import queue
  import threading
  from ludwig.api_annotations import DeveloperAPI, PublicAPI
  from ludwig.callbacks import Callback
  from ludwig.constants import TRAINER
  from ludwig.globals import MODEL_HYPERPARAMETERS_FILE_NAME, TRAIN_SET_METADATA_FILE_NAME
  from ludwig.types import TrainingSetMetadataDict
  from ludwig.utils.data_utils import chunk_dict, flatten_dict, save_json, to_json_dict
  from ludwig.utils.package_utils import LazyLoader
label_desc: Use image node_id 2 for calling a global function with example usage: get_or_create_experiment_id(experiment_name, artifact_uri) and returns: mlflow, experiment