code: def _get_config(search_alg: Dict, executor: Dict, epochs: int):
      input_features = [
          text_feature(
              name="utterance",
              encoder={"cell_type": "lstm", "reduce_output": "sum"},
          ),
          category_feature(
              encoder={"vocab_size": 2}, reduce_input="sum"
          ),
      ]
  
      output_features = [
          category_feature(
              decoder={"vocab_size": 2},
              reduce_input="sum",
              output_feature=True,
          )
      ]
  
      return {
          "input_features": input_features,
          "output_features": output_features,
          "combiner": {"type": "concat"},
          TRAINER: {
              "epochs": epochs,
              "learning_rate": 0.001,
              BATCH_SIZE: 128,
          },
          "hyperopt": {
              **HYPEROPT_CONFIG,
              "executor": executor,
              "search_alg": search_alg,
          },
      }
  
imports: import json
  import logging
  import os.path
  from typing import Dict, List
  import mlflow
  import pandas
  import pytest
  from mlflow.tracking import MlflowClient
  from ludwig.backend import initialize_backend
  from ludwig.callbacks import Callback
  from ludwig.constants import ACCURACY, AUTO, BATCH_SIZE, EXECUTOR, MAX_CONCURRENT_TRIALS, TRAINER
  from ludwig.contribs.mlflow import MlflowCallback
  from ludwig.globals import HYPEROPT_STATISTICS_FILE_NAME, MODEL_HYPERPARAMETERS_FILE_NAME
  from ludwig.hyperopt.results import HyperoptResults
  from ludwig.hyperopt.run import hyperopt
  from ludwig.hyperopt.utils import update_hyperopt_params_with_defaults
  from ludwig.schema.model_config import ModelConfig
  from ludwig.utils.automl.utils import get_model_type
  from tests.integration_tests.utils import category_feature, generate_data, text_feature
label_desc: Use image node_id 1 for calling a global function with example usage: _get_config(search_alg, executor, epochs) and returns: dict