code: def generate_lgpga(
      kernel,
      n_dimensions,
      rs,
      noise=None,
      num_inducing=2,
      normalize_y=True,
  ) -> Tuple[GloballyAugmentedLocalGaussianProcess, ConfigurationSpace]:
      if noise is None:
          likelihood = None
      else:
          noise_prior = HorseshoePrior(0.1)
          likelihood = GaussianLikelihood(
              noise_prior=noise_prior,
              noise_constraint=Interval(
                  np.exp(-25), np.exp(2), transform=None
              ),
          ).double()
          likelihood.initialize(noise=noise)
  
      bounds = [(0.0, 1.0) for _ in range(n_dimensions)]
      types = np.zeros(n_dimensions)
  
      configspace = ConfigurationSpace()
      for i in range(n_dimensions):
          configspace.add_hyperparameter(
              UniformFloatHyperparameter("x%d" % i, 0, 1)
          )
  
      model = GloballyAugmentedLocalGaussianProcess(
          configspace=configspace,
          bounds=bounds,
          types=types,
          bounds_cont=np.array(bounds),
          bounds_cat=[],
          kernel=kernel,
          seed=rs.randint(low=1, high=10000),
          normalize_y=normalize_y,
          likelihood=likelihood,
          n_opt_restarts=2,
          num_inducing_points=num_inducing,
      )
      return model, configspace
  
imports: from typing import Tuple
  import unittest.mock
  import gpytorch
  import numpy
  import pyro
  import torch
  from gpytorch.constraints.constraints import Interval
  from gpytorch.likelihoods.gaussian_likelihood import GaussianLikelihood
  from gpytorch.priors import HorseshoePrior
  from smac.configspace import ConfigurationSpace, UniformFloatHyperparameter
  from smac.model.gaussian_process.augmented_local_gaussian_process import AugmentedLocalGaussianProcess, GloballyAugmentedLocalGaussianProcess
  from smac.model.gaussian_process.gpytorch_gaussian_process import ExactGaussianProcessModel
  from ._test_boing_kernel import generate_kernel, generate_test_data
  from ._test_gp_gpytorch import TestGPGPyTorch
label_desc: Use image node_id 1 for calling a global function with example usage: generate_lgpga(kernel, n_dimensions, rs, noise, num_inducing, normalize_y) and returns: model,  configspace