code: def build(self, pymc_backend, bmb_model):
      response_aliased_name = get_aliased_name(
          bmb_model.response_component.response_term
      )
      if self.component.alias:
          label = self.component.alias
      else:
          label = f"{response_aliased_name}_{self.component.name}"
  
      # NOTE: This could be handled in a different manner in the future, only applies to
      # thresholds and assumes we always do it when using ordinal families.
      extra_args = {}
      if isinstance(bmb_model.family, ORDINAL_FAMILIES):
          threshold_dim = label + "_dim"
          threshold_values = np.arange(
              len(bmb_model.response_component.response_term.levels) - 1
          )
          extra_args["dims"] = threshold_dim
          pymc_backend.model.add_coords(
              {threshold_dim: threshold_values}
          )
  
      with pymc_backend.model:
          # Set to a constant value
          if isinstance(self.component.prior, (int, float)):
              self.output = self.component.prior
          # Set to a distribution
          else:
              dist = get_distribution_from_prior(self.component.prior)
              self.output = dist(
                  label, **self.component.prior.args, **extra_args
              )
  
file_path: bambi/bambi/backend/model_components.py
imports: import numpy
  from pytensor import tensor
  from bambi.backend.terms import CommonTerm, GroupSpecificTerm, HSGPTerm, InterceptTerm, ResponseTerm
  from bambi.backend.utils import get_distribution_from_prior
  from bambi.families.multivariate import MultivariateFamily
  from bambi.families.univariate import Categorical, Cumulative, StoppingRatio
  from bambi.utils import get_aliased_name
label_desc: Use image node_id 2 for calling the ConstantComponent obj's underlying member method code with example usage: obj.build(pymc_backend, bmb_model) without return types