code: def get_ict_dataset(use_titles=True, query_in_block_prob=1):
      """Get a dataset which uses block samples mappings to get ICT/block indexing data (via get_block())
      rather than for training, since it is only built with a single epoch sample mapping.
      """
      args = get_args()
      block_dataset = get_indexed_dataset_(args.data_path, "mmap", True)
      titles_dataset = get_indexed_dataset_(
          args.titles_data_path, "mmap", True
      )
  
      kwargs = dict(
          name="full",
          block_dataset=block_dataset,
          title_dataset=titles_dataset,
          data_prefix=args.data_path,
          num_epochs=1,
          max_num_samples=None,
          max_seq_length=args.seq_length,
          seed=1,
          query_in_block_prob=query_in_block_prob,
          use_titles=use_titles,
          use_one_sent_docs=args.use_one_sent_docs,
      )
      dataset = ICTDataset(**kwargs)
      return dataset
  
file_path: colossalai/examples/tutorial/sequence_parallel/data/datasets/ict_dataset.py
imports: import itertools
  import random
  import numpy
  from megatron import get_args, get_tokenizer
  from megatron.data.dataset_utils import get_indexed_dataset_
  from megatron.data.realm_dataset_utils import get_block_samples_mapping
  from torch.utils.data import Dataset
label_desc: Use image node_id 2 for calling a global function with example usage: get_ict_dataset(use_titles, query_in_block_prob) and returns: dataset