class_docstr: Abstract base class for indexes.
  
  *Note* : While currently only Faiss-based classes are implemented, in the
  future, this class will be extended with other types of indexes that have
  different performance-accuracy trade-offs.
  
  The primary methods to override are:
  - train() : Train index on the sampled training chunks.
  - add() : Add all training chunks to index.
class_docstr_tok: ["Abstract","base","class","for","indexes",".","*","Note","*",":","While","currently","only","Faiss-based","classes","are","implemented",",","in","the","future",",","this","class","will","be","extended","with","other","types","of","indexes","that","have","different","performance-accuracy","trade-offs",".","The","primary","methods","to","override","are",":","-","train","(",")",":","Train","index","on","the","sampled","training","chunks",".","-","add","(",")",":","Add","all","training","chunks","to","index","."]
code: def add(self, *args):
      pass
  
file_path: megatron-lm/tools/retro/index/index.py
imports: import abc
  import numpy
  import os
  import torch
  from megatron import get_retro_args
  from tools.retro.external_libs import faiss
  from .utils import get_index_dir
label_desc: Use image node_id 7 for calling the Index obj's underlying member method code with example usage: obj.add() without return types