code: def phe(self):
      if self.ctx is None:
          raise ValueError("context not set")
      self._set_default_phe()
      if self._device not in self._cipher_mapping["phe"]:
          raise ValueError(f"no impl exists for device {self._device}")
      return PHECipherBuilder(
          self.ctx, **self._cipher_mapping["phe"][self._device]
      )
  
imports: import logging
  import typing
  from fate.arch.config import cfg
  from ..unify import device
label_desc: Use image node_id 5 for calling the CipherKit obj's underlying member method code with example usage: obj.phe() and returns: PHECipherBuilder