docstr: Create an example by concatenating text and answer.
  Truncation is carried out when needed, but it is performed only on the prompt side.
  BOS, EOS, and SEP, are added if specified.
docstr_tok: ["Create","an","example","by","concatenating","text","and","answer",".","Truncation","is","carried","out","when","needed",",","but","it","is","performed","only","on","the","prompt","side",".","BOS",",","EOS",",","and","SEP",",","are","added","if","specified","."]
code: def _process_example(self, example):
      """
      Create an example by concatenating text and answer.
      Truncation is carried out when needed, but it is performed only on the prompt side.
      BOS, EOS, and SEP, are added if specified.
      """
      result = preprocess(
          example,
          self.tokenizer,
          self.name_end_token_ids,
          self.label_start_tokens,
          self.special_tokens,
          self.num_turn_start_tokens,
      )
  
      # store metadata in dataset, in case user may have keys required in the prediction json files
      metadata = {
          k: v for k, v in example.items() if k not in ["conversations"]
      }
      result["metadata"] = metadata
  
      return result
  
file_path: NeMo/nemo/collections/nlp/data/language_modeling/megatron/gpt_sft_chat_dataset.py
imports: import copy
  import torch
  from nemo.collections.common.tokenizers.tokenizer_spec import TokenizerSpec
  from nemo.collections.nlp.data.language_modeling.megatron.gpt_sft_dataset import GPTSFTDataset
  from nemo.utils import logging
label_desc: Use image node_id 3 for calling the GPTSFTChatDataset obj's underlying member method code with example usage: obj._process_example(example) and returns: result