python-3.x 如何保存使用nmslib创建的索引?

oymdgrw7  于 2023-11-20  发布在  Python
关注(0)|答案(1)|浏览(199)

我使用nmslib和hnsw方法进行向量相似性搜索。我已经为索引创建构建了索引类:

class NMSLIBIndex():
    def __init__(self, vectors, labels):
        self.dimention = vectors.shape[1]
        self.vectors = vectors.astype('float32')
        self.labels = labelsdef build(self):
        self.index = nmslib.init(method='hnsw', space='cosinesimil')
        self.index.addDataPointBatch(self.vectors)
        self.index.createIndex({'post': 2})
        
    def query(self, vector, k=10):
        indices = self.index.knnQuery(vector, k=k)
        return [self.labels[i] for i in indices[0]]

字符串
这篇文章https://towardsdatascience.com/comprehensive-guide-to-approximate-nearest-neighbors-algorithms-8b94f057d6b6
现在我想把这些索引加载到我的数据库中,以便在在线环境中使用。我的问题是,我如何保存这些建立在我的向量上的索引?

h5qlskok

h5qlskok1#

index.saveIndex("nmslib_index", save_data=True)

字符串
官方文档

相关问题