def METHOD_NAME(
    self,
    METHOD_NAME: VectorStoreQuery,
    **kwargs: Any,
) -> VectorStoreQueryResult:
    """Query index for top k most similar nodes.
    Args:
        query_embedding (List[float]): query embedding
        similarity_top_k (int): top k most similar nodes
    """
    if METHOD_NAME.filters is not None:
        raise ValueError("Metadata filters not implemented for Faiss yet.")
    query_embedding = cast(List[float], METHOD_NAME.query_embedding)
    query_embedding_np = np.array(query_embedding, dtype="float32")[np.newaxis, :]
    dists, indices = self._faiss_index.search(
        query_embedding_np, METHOD_NAME.similarity_top_k
    )
    dists = [d for d in dists[0]]
    # if empty, then return an empty response
    if len(indices) == 0:
        return VectorStoreQueryResult(similarities=[], ids=[])
    # returned dimension is 1 x k
    node_idxs = list([str(i) for i in indices[0]])
    return VectorStoreQueryResult(similarities=dists, ids=node_idxs)