-
[LangChain] ValueError: The de-serialization relies loading a pickle file.Programing/기타 오류 해결 2024. 3. 12. 10:00반응형
로컬에 저장한 벡터저장소를 불러오는 과정에서 다음과 같은 에러가 발생했습니다.
Traceback (most recent call last): File "C:\Program Files\JetBrains\PyCharm Community Edition 2023.1.3\plugins\python-ce\helpers\pydev\pydevconsole.py", line 364, in runcode coro = func() File "<input>", line 1, in <module> File "C:\Users\Lee\Documents\python_scripts\AWS_Bedrock\venv\lib\site-packages\langchain_community\vectorstores\faiss.py", line 1115, in load_local raise ValueError( ValueError: The de-serialization relies loading a pickle file. Pickle files can be modified to deliver a malicious payload that results in execution of arbitrary code on your machine.You will need to set `allow_dangerous_deserialization` to `True` to enable deserialization. If you do this, make sure that you trust the source of the data. For example, if you are loading a file that you created, and no that no one else has modified the file, then this is safe to do. Do not set this to `True` if you are loading a file from an untrusted source (e.g., some random site on the internet.).
누군가 악성코드를 벡터에 심어놨다면 역직렬화 과정에서 pickle 파일을 검증할 방법이 없기 때문에
일종의 경고를 주는 것입니다.
그치만 내가 만든 벡터저장소이니 상관 없습니다.
해결방법
에러 메세지가 해결 방법을 알려주고 있습니다.
You will need to set `allow_dangerous_deserialization` to `True` to enable deserialization.
적용
vector = FAISS.load_local("faiss_index", embeddings, allow_dangerous_deserialization=True)
교훈: 에러 메세지를 끝까지 잘 읽자
반응형'Programing > 기타 오류 해결' 카테고리의 다른 글
AttributeError: module 'PIL.Image' has no attribute 'LINEAR'. (0) 2024.07.08 [onnxruntime] CUDAExecutionProvider가 적용되지 않을 때 (0) 2024.05.08 remote: error: GH001: Large files detected. (github에 용량 큰 파일 push하기) (0) 2023.08.03 [구글 애드센스] 주소 인증 절차가 완료되지 않았기 때문에 더는 광고가 게재되지 않습니다. (0) 2023.06.04 ModuleNotFoundError: No module named 'distutils.cmd' (0) 2023.04.27