Faiss Vectore Store удалить с помощью ключей
я пытаюсь удалить путем фильтрации с использованием источника метаданных, когда я добираюсь до db.delete(list), я получил NotImplementedError: метод удаления должен быть реализован подклассом. это код:
db = FAISS.load_local(FAISS_USERGUIDE_INDEX, embeddings)
def store_to_df(store):
v_dict=store.docstore._dict
data_rows=[]
for k in v_dict.keys():
doc_name=v_dict[k].metadata['source'].split('/')[-1]
page_number=v_dict[k].metadata['page']+1
content=v_dict[k].page_content
data_rows.append({"chunk_id":k,"document":doc_name,"page":page_number,"content":content})
vector_df=pd.DataFrame(data_rows)
return vector_df
def delete_document(store,document):
vector_df=store_to_df(store)
chunks_list=vector_df.loc[vector_df['document']==document]['chunk_id'].tolist()
store.delete(chunks_list)
delete_document(db,"doc2.pdf")
я получил эту ошибку
NotImplementedError Traceback (most recent call last)
Cell In[115], line 17
15 chunks_list=vector_df.loc[vector_df['document']==document]['chunk_id'].tolist()
16 store.delete(chunks_list)
---> 17 delete_document(db,"doc2.pdf")
Cell In[115], line 16, in delete_document(store, document)
14 vector_df=store_to_df(store)
15 chunks_list=vector_df.loc[vector_df['document']==document]['chunk_id'].tolist()
---> 16 store.delete(chunks_list)
File ~\anaconda\anaconda\Lib\site-packages\langchain\vectorstores\base.py:81, in delete(self, ids, **kwargs)
67 """Delete by vector ID or other criteria.
68
69 Args:
(...)
75 False otherwise, None if not implemented.
76 """
78 raise NotImplementedError("delete method must be implemented by subclass.")
80 async def aadd_texts(
---> 81 self,
82 texts: Iterable[str],
83 metadatas: Optional[List[dict]] = None,
84 **kwargs: Any,
85 ) -> List[str]:
86 """Run more texts through the embeddings and add to the vectorstore."""
87 raise NotImplementedError
NotImplementedError: delete method must be implemented by subclass.
Как мне это решить, пожалуйста?