code: def gen_prune_left(self, num_tokens, mask=None):
      num_tokens = min(num_tokens, self.sequence_actual.shape[-1] - 1)
  
      if self.in_beam_search:
          self.end_beam_search()  # TODO: Try to avoid restarting beam search when generating past chunk boundary
          self.sequence = self.sequence[:, num_tokens:]
          self.begin_beam_search()
      else:
          self.sequence = self.sequence[:, num_tokens:]
          self.gen_begin(self.sequence, mask=mask)
  
imports: import cuda_ext
  from model import ExLlama, ExLlamaCache
  from lora import ExLlamaLora
  import torch
  import torch.nn.functional
label_desc: Use image node_id 16 for calling the ExLlamaGenerator obj's underlying member method code with example usage: obj.gen_prune_left(num_tokens, mask) without return types