class_docstr: Serializable data structure for holding data for blocks --
  embeddings and necessary metadata for Retriever
class_docstr_tok: ["Serializable","data","structure","for","holding","data","for","blocks","--","embeddings","and","necessary","metadata","for","Retriever"]
code: def __init__(
      self, embedding_path=None, load_from_path=True, rank=None
  ):
      self.embed_data = dict()
      if embedding_path is None:
          args = get_args()
          embedding_path = args.embedding_path
          rank = args.rank
      self.embedding_path = embedding_path
      self.rank = rank
  
      if load_from_path:
          self.load_from_file()
  
      block_data_name = os.path.splitext(self.embedding_path)[0]
      self.temp_dir_name = block_data_name + "_tmp"
  
imports: import itertools
  import os
  import pickle
  import shutil
  import numpy
  import torch
  from megatron import get_args
  from megatron.core import mpu
label_desc: Use image node_id 1 to create a new OpenRetreivalDataStore object from inherited base classes: object with example: obj = OpenRetreivalDataStore(embedding_path, load_from_path, rank)