反序列化依赖加载一个pickle文件

2 投票
1 回答
4436 浏览
提问于 2025-04-14 17:44

我遇到了这个错误:

这个错误是因为反序列化需要加载一个pickle文件。pickle文件可以被修改,从而传递恶意代码,这可能会在你的电脑上执行任意代码。你需要把`allow_dangerous_deserialization`设置为`True`,才能进行反序列化。如果你这样做,确保你信任数据的来源。比如,如果你加载的是自己创建的文件,并且确认没有其他人修改过这个文件,那这样做是安全的。如果你是从不可信的来源(比如互联网上的某个随机网站)加载文件,就不要把这个设置为`True`。

1 个回答

10

使用下面的导入代码

from langchain_community.vectorstores import FAISS

然后

new_db = FAISS.load_local("faiss_index", embeddings,allow_dangerous_deserialization=True)

应该能解决这个问题。这是一个功能,默认情况下可以防止从 .pkl 文件中执行任何危险的操作。

撰写回答