Search
⚠️

The de-serialization relies loading a pickle file.

대분류
기타
소분류
Trouble Shooting
설명
FAISS 벡터 스토어를 로드할 때 발생하는 보안 관련 에러
유형
Python
부유형
FAISS
최종 편집 일시
2024/11/07 05:00
생성 일시
2024/11/07 02:05
13 more properties

문제

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 know 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.).

문제 설명

FAISS 벡터 스토어를 로드할 때 발생하는 보안 관련 에러 - FAISS가 pickle 파일을 사용하여 데이터를 직렬화/역직렬화하는 과정에서 발생하는 보안 검사
필자는 다른 팀원이 만든 벡터 스토어를 사용하다가 발생하였다.

해결 방법

해당 메서드에 allow_dangerous_deserialization=True 파라미터를 추가
이는 로컬에서 생성된 신뢰할 수 있는 벡터 스토어 파일을 로드할 때만 사용해야 한다.
이 수정으로 벡터 스토어 로딩 시 발생하는 ValueError를 해결할 수 있다.
단, 이 설정은 신뢰할 수 있는 로컬 데이터에 대해서만 사용해야 하며, 인터넷에서 다운로드한 알 수 없는 출처의 벡터 스토어 파일에는 사용하지 않아야 한다.