根据faiss wiki页面(链接),您应该能够使用SearchParameters在搜索中选择性地包括或排除id。现在那里的信息有点奇怪,因为字段“sel”根本不存在。名称也发生了变化,因此“SearchParametersIVFPQ”变成了“IVFPQSearchParameters”,旧名称不再可用。此外,搜索方法甚至不接受SearchParameters,尽管根据wiki它应该接受。
我试图用Visual Studio的Intellisense找到一个解决方案。但这并不成功……
所以文档似乎已经过时了。。有谁知道今天是怎么运作的吗?
1条答案
按热度按时间dkqlctbz1#
这也让我发疯了!我在下面放了一个小的工作示例。TLDR:选择器必须是
faiss.SearchParametersIVF
的参数让我们从创建一个简单的索引开始,并搜索整个索引:
运行此命令时的输出是
[[2 1 4]]
。最接近的向量在这些指数处。现在让我们过滤掉索引4,看看会发生什么。这是通过创建选择器,然后将其添加到faiss.SearchParametersIVF
中来完成的。这输出
[[2 1 0]]
所以我们从搜索中删除了第四个索引!