code: def model_non_random_variable_rvs():
      """Test that node types are not inferred based on the variable Op type, but
      model properties
  
      See https://github.com/pymc-devs/pymc/issues/5766
      """
      with pm.Model() as model:
          mu = pm.Normal(name="mu", mu=0.0, sigma=5.0)
  
          y_raw = pm.Normal.dist(mu)
          y = pm.math.clip(y_raw, -3, 3)
          model.register_rv(y, name="y")
  
          z_raw = pm.Normal.dist(y, shape=(5,))
          z = pm.math.clip(z_raw, -1, 1)
          model.register_rv(z, name="z", observed=[0] * 5)
  
      compute_graph = {
          "mu": set(),
          "y": {"mu"},
          "z": {"y"},
      }
      plates = {
          "": {"mu", "y"},
          "5": {"z"},
      }
  
      return model, compute_graph, plates
  
imports: import warnings
  import numpy
  import pytensor
  import pytensor.tensor
  import pytest
  from pytensor.compile.sharedvalue import SharedVariable
  from pytensor.tensor.variable import TensorConstant
  import pymc
  from pymc.exceptions import ImputationWarning
  from pymc.model_graph import ModelGraph, model_to_graphviz, model_to_networkx
label_desc: Use image node_id 7 for calling a global function with example usage: model_non_random_variable_rvs() and returns: model,  compute_graph,  plates