code: def query(self, query: VectorIndexQuery) -> VectorIndexQueryResult:
      assert (
          self._index is not None
      ), "Cannot query as index does not exists."
      embedding = np.array(query.embedding, dtype="float32")
      if len(embedding.shape) != 2:
          embedding = embedding.reshape(1, -1)
  
      dists, indices = self._index.search(embedding, query.top_k)
      distances, ids = [], []
      for dis, idx in zip(dists[0], indices[0]):
          distances.append(dis)
          ids.append(idx)
      return VectorIndexQueryResult(distances, ids)
  
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 5 for calling the FaissVectorStore obj's underlying member method code with example usage: obj.query(query) and returns: VectorIndexQueryResult