class_docstr: Indexer for Dense, HNSW FLAT Index.
  
  High retrieval accuracy comes at the cost of High RAM Usage.
code: def __init__(self, opt: Opt):
      super().__init__(opt)
      # IndexHNSWFlat supports L2 similarity only
      # so we have to apply DOT -> L2 similairy space conversion with the help of an extra dimension
      index = self.faiss.IndexHNSWFlat(
          opt["retriever_embedding_size"] + 1,
          opt["hnsw_indexer_store_n"],
      )
      index.hnsw.efSearch = opt["hnsw_ef_search"]
      index.hnsw.efConstruction = opt["hnsw_ef_construction"]
      self.index = index
      self.built = False
  
imports: from parlai.core.build_data import modelzoo_path
  from parlai.core.opt import Opt
  import parlai.utils.logging
  from abc import ABC, abstractmethod
  import math
  import numpy
  import os
  import random
  import time
  import torch
  import torch.cuda
  from typing import List, Tuple, Optional
  from parlai.agents.rag.args import WIKIPEDIA_COMPRESSED_INDEX, WIKIPEDIA_EXACT_INDEX
label_desc: Use image node_id 1 to create a new DenseHNSWFlatIndexer object from inherited base classes: BaseIndexer with example: obj = DenseHNSWFlatIndexer(opt)