code: def _build_samples_mapping(self):
      super()._build_samples_mapping()
      assert hasattr(
          self.tokenizer, "vocab"
      ), "tokenizer should have vocab property, not supported"
      LABEL_START = self.special_tokens["label_start"]
      END_NAME_SIGNAL = self.special_tokens["end_of_name"]
  
      id1 = self.tokenizer.text_to_ids(PREFIX_STR)
      id2 = self.tokenizer.text_to_ids(PREFIX_STR + LABEL_START)
      self.label_start_tokens = id2[len(id1) :]
  
      id1 = self.tokenizer.text_to_ids(PREFIX_STR + END_NAME_SIGNAL)
      id2 = self.tokenizer.text_to_ids(PREFIX_STR)
      self.name_end_token_ids = id1[len(id2) :]
  
      id1 = self.tokenizer.text_to_ids(
          PREFIX_STR + self.special_tokens["turn_start"]
      )
      id2 = self.tokenizer.text_to_ids(PREFIX_STR)
      self.num_turn_start_tokens = len(id1) - len(id2)
  
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 2 for calling the GPTSFTChatDataset obj's underlying member method code with example usage: obj._build_samples_mapping() without return types