code: def add(self, payload: List[FeaturePayload]):
      assert (
          self._index is not None
      ), "Please create an index before adding features."
      for row in payload:
          embedding = np.array(row.embedding, dtype="float32")
          if len(embedding.shape) != 2:
              embedding = embedding.reshape(1, -1)
          if row.id not in self._existing_id_set:
              self._index.add_with_ids(embedding, np.array([row.id]))
  
file_path: evadb/evadb/third_party/vector_stores/faiss.py
imports: import os
  from pathlib import Path
  from typing import List
  import numpy
  from evadb.third_party.vector_stores.types import FeaturePayload, VectorIndexQuery, VectorIndexQueryResult, VectorStore
  from evadb.utils.generic_utils import try_to_import_faiss
label_desc: Use image node_id 3 for calling the FaissVectorStore obj's underlying member method code with example usage: obj.add(payload) without return types