in paq/retrievers/retrieve.py [0:0]
def _load_index_if_exists(faiss_index_path, precomputed_embeddings_dir, n_vectors_to_load=None, memory_friendly=False, efsearch=128):
index = None
if faiss_index_path is not None:
assert precomputed_embeddings_dir is None, "Do not specify both a --faiss_index_path and --precomputed_embeddings_dir"
logger.info('Loading Faiss index:')
index = faiss.read_index(faiss_index_path)
if hasattr(index, 'hnsw'):
index.hnsw.efSearch = efsearch
elif precomputed_embeddings_dir is not None:
logger.info('Loading vectors index from file:')
index = parse_vectors_from_directory(
precomputed_embeddings_dir,
memory_friendly=memory_friendly,
size=n_vectors_to_load
).float()
logger.info('Index loaded') if index is not None else None
return index