code: def test_custom_priors_1d(data_1d_single_group):
      priors = {
          "hsgp(x, c=1.5, m=10)": {
              "sigma": bmb.Prior("Exponential", lam=0.75),
              "ell": bmb.Prior("Exponential", lam=1.25),
          }
      }
      model = bmb.Model(
          "y ~ 0 + hsgp(x, c=1.5, m=10)",
          data_1d_single_group,
          priors=priors,
      )
      model.build()
  
      weights_rv = model.backend.model[
          "hsgp(x, c=1.5, m=10)_weights_raw"
      ]
      ell_rv = model.backend.model["hsgp(x, c=1.5, m=10)_ell"]
      sigma_rv = model.backend.model["hsgp(x, c=1.5, m=10)_sigma"]
      assert weights_rv.eval().shape == (10,)
      assert ell_rv.eval().shape == ()
      assert sigma_rv.eval().shape == ()
  
      # Weird, but this is how we can check it.
      # PyMC asks for lam but then PyTensor uses 1 / lam
      assert 1 / sigma_rv.owner.inputs[-1].eval() == 0.75
      assert 1 / ell_rv.owner.inputs[-1].eval() == 1.25
      assert weights_rv.owner.inputs[-2].eval() == 0  # mu
      assert weights_rv.owner.inputs[-1].eval() == 1
  
imports: import pathlib
  import re
  import bambi
  import numpy
  import pandas
  import pytest
label_desc: Use image node_id 14 for calling a global function with example usage: test_custom_priors_1d(data_1d_single_group) without return types