Faiss (в Python), как добавить новый элемент в индекс после создания индекса?

Библиотека Facebook Faiss для Python позволяет создать индекс заранее определенной формы, а затем добавлять в него данные.

      index = faiss.IndexFlatIP(X.shape[1])
index.add(X)

куда X это numpy.array типа np.float32

Скажем, я создаю приложение, в котором документы кодируются как векторы и хранятся в индексе faiss. Когда клиент вводит новый документ, doc (т.е. новый массив формы (1, X.shape[1])), я хочу добавить его в index. Я искал документы и другие вопросы, но не могу найти другого решения, кроме:

      X = np.concatenate((X, doc), axis=1)
index = faiss.IndexFlatIP(X.shape[1])
index.add(X)

Но это означает повторный пересчет присвоенного индекса. Есть ли более эффективный способ сделать это?

0 ответов

Другие вопросы по тегам