code: def _add_option_to_evaluate(
      point_to_evaluate: Dict,
      dataset_config: Dict,
      hyperopt_params: Dict,
      option_type: str,
  ) -> Dict:
      options = dataset_config[option_type]
      for option in options.keys():
          option_param = option_type + "." + option
          if option_param in hyperopt_params.keys():
              option_val = options[option]
              point_to_evaluate[option_param] = option_val
              if (
                  option_val
                  not in hyperopt_params[option_param]["categories"]
              ):
                  bisect.insort(
                      hyperopt_params[option_param]["categories"],
                      option_val,
                  )
      return point_to_evaluate
  
file_path: ludwig/ludwig/utils/automl/utils.py
imports: import bisect
  import logging
  from typing import Dict
  from numpy import nan_to_num
  from pandas import Series
  from ludwig.api_annotations import DeveloperAPI
  from ludwig.constants import BINARY, CATEGORY, COMBINER, CONFIG, HYPEROPT, IMBALANCE_DETECTION_RATIO, NAME, NUMBER, PARAMETERS, SEARCH_ALG, TRAINER, TYPE
  from ludwig.features.feature_registries import get_output_type_registry
  from ludwig.modules.metric_registry import get_metric_objective
  from ludwig.schema.combiners.utils import get_combiner_jsonschema
label_desc: Use image node_id 6 for calling a global function with example usage: _add_option_to_evaluate(point_to_evaluate, dataset_config, hyperopt_params, option_type) and returns: point_to_evaluate