code: def add_ocr_details(self, sample_info, sample):
      if self.use_ocr:
          # Preprocess OCR tokens
          ocr_tokens = [
              self.ocr_token_processor({"text": token})["text"]
              for token in sample_info["ocr_tokens"]
          ]
          # Get embeddings for tokens
          context = self.context_processor({"tokens": ocr_tokens})
          sample.context = context["text"]
          sample.context_tokens = context["tokens"]
          sample.context_feature_0 = context["text"]
          sample.context_info_0 = Sample()
          sample.context_info_0.max_features = context["length"]
  
          order_vectors = torch.eye(len(sample.context_tokens))
          order_vectors[context["length"] :] = 0
          sample.order_vectors = order_vectors
  
      if self.use_ocr_info and "ocr_info" in sample_info:
          sample.ocr_bbox = self.bbox_processor(
              {"info": sample_info["ocr_info"]}
          )["bbox"]
  
      return sample
  
file_path: mmf/mmf/datasets/builders/vqa2/dataset.py
imports: import logging
  import torch
  import tqdm
  from mmf.common.sample import Sample
  from mmf.datasets.mmf_dataset import MMFDataset
  from mmf.utils.distributed import is_main
label_desc: Use image node_id 6 for calling the VQA2Dataset obj's underlying member method code with example usage: obj.add_ocr_details(sample_info, sample) and returns: sample