def _load_index_if_exists()

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