gpt4 book ai didi

python - 更新 faiss 索引中的元素

转载 作者:行者123 更新时间:2023-12-01 23:01:55 29 4
gpt4 key购买 nike

我正在使用 faiss indexflatIP 来存储与某些词相关的向量。我还使用另一个列表来存储单词(列表中第 n 个元素的向量是 faiss 索引中的第 n 个向量)。我有两个问题:

  1. 有没有更好的方法将单词与其向量相关联?
  2. 我可以更新 faiss 中的第 n 个元素吗?

最佳答案

两者都可以。

  1. Is there a better way to relate words to their vectors?

调用index.add_with_ids(vectors, ids)

有些索引类型支持 add_with_ids 方法,但平面索引不支持。

如果您在平面索引上调用该方法,您将收到错误消息add_with_ids not implemented for this type of index

如果你想使用带有平面索引的 ID,你必须使用 index2 = faiss.IndexIDMap(index)

  1. Can I update the nth element in the faiss?

如果你想更新一些编码,先删除它们,然后用add_with_ids再次添加它们

如果您不先删除原始 ID,您将得到重复的 ID,搜索结果将变得一团糟。

要删除 ID 数组,请调用 index.remove_ids(ids_to_replace)

注意:ID 必须是 np.int64 类型。

关于python - 更新 faiss 索引中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71627943/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com