code: def logprob_make_vector(op, values, *base_rvs, **kwargs):
      """Compute the log-likelihood graph for a `MeasurableMakeVector`."""
      # TODO: Sort out this circular dependency issue
  
      (value,) = values
  
      base_rvs_to_values = {
          base_rv: value[i] for i, base_rv in enumerate(base_rvs)
      }
      for i, (base_rv, value) in enumerate(base_rvs_to_values.items()):
          base_rv.name = f"base_rv[{i}]"
          value.name = f"value[{i}]"
  
      logps = [
          _logprob_helper(base_rv, value)
          for base_rv, value in base_rvs_to_values.items()
      ]
  
      # If the stacked variables depend on each other, we have to replace them by the respective values
      logps = replace_rvs_by_values(
          logps, rvs_to_values=base_rvs_to_values
      )
  
      return pt.stack(logps)
  
imports: from typing import List, Optional, Union
  import pytensor
  from pytensor import tensor
  from pytensor.graph.op import compute_test_value
  from pytensor.graph.rewriting.basic import node_rewriter
  from pytensor.tensor.basic import Alloc, Join, MakeVector
  from pytensor.tensor.elemwise import DimShuffle
  from pytensor.tensor.random.op import RandomVariable
  from pytensor.tensor.random.rewriting import local_dimshuffle_rv_lift, local_rv_size_lift
  from pymc.logprob.abstract import MeasurableVariable, _logprob, _logprob_helper
  from pymc.logprob.rewriting import PreserveRVMappings, assume_measured_ir_outputs, measurable_ir_rewrites_db
  from pymc.logprob.utils import check_potential_measurability, replace_rvs_by_values
  from pymc.pytensorf import constant_fold
label_desc: Use image node_id 2 for calling a global function with example usage: logprob_make_vector(op, values) and returns: pt