code: def _process_prompt(self):
      prefix = self.config["prefix_prompt"] or ""
      suffix = self.config["suffix_prompt"] or ""
  
      self.prefix_ids = self.tokenizer.encode(
          prefix, add_special_tokens=False
      )
      self.suffix_ids = self.tokenizer.encode(
          suffix, add_special_tokens=False
      )
  
      self.source_max_length = (
          self.source_length
          - self.tokenizer.num_special_tokens_to_add()
          - len(self.prefix_ids)
          - len(self.suffix_ids)
      )
      self.target_max_length = (
          self.target_length
          - self.tokenizer.num_special_tokens_to_add()
      )
  
      if self.config["model_name"] in [
          "bert2bert",
          "opt",
          "unilm",
          "xlm",
      ]:
          self.target_max_length += 1
  
file_path: TextBox/textbox/data/abstract_dataset.py
imports: import os
  import torch, warnings
  import math
  from torch.utils.data import DataLoader, Dataset
  from textbox import CLM_MODELS
  from typing import List
  from torch.nn.utils.rnn import pad_sequence
  from textbox.data.misc import load_data, _pad_sequence
label_desc: Use image node_id 5 for calling the AbstractDataset obj's underlying member method code with example usage: obj._process_prompt() without return types