faiss数据检索不稳定
def build_faiss_index(embeddings_vector):dim = np.shape(embeddings_vector)[-1]index = faiss.index_factory(dim, 'HNSW64', faiss.METRIC_INNER_PRODUCT)index.add(embeddings_vector)return index
这个代码不稳定,构建的索引召回结果可能会不稳定,需要
解决思路
调整 efSearch 参数:
提高 efSearch 的值(通常大于 k,即查询的返回结果数)。较大的值可以提高搜索质量和稳定性。
index.hnsw.efSearch = 50 # 根据需求设置一个较大的值
使用固定种子:
如果结果的差异是由随机数引起的,确保在索引构建和查询时固定随机种子。
import faiss
faiss.randreset() # 重置随机数种子