faiss矢量存储使用键删除

问题描述 投票:0回答:1

我试图通过使用元数据源进行过滤来删除,然后我到达 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.

请问我该如何解决?

embedding langchain faiss similarity-search
1个回答
0
投票

我遇到了同样的问题......以及完全相同的错误。你找到解决办法了吗?

© www.soinside.com 2019 - 2024. All rights reserved.