Vector Store - 벡터 저장소
Last updated
Last updated
Vector Store는 전 단계에서 생성된 임베딩 벡터들을 효율적으로 저장하고 검색할 수 있는 데이터베이스/시스템을 의미합니다.
자연어 처리(NLP), 이미지 처리, 그리고 기타 다양한 머신러닝 응용 분야에서 생성된 고차원 벡터 데이터를 관리하기 위해 설계되었습니다.
Vector Store에 저장된 벡터들은 Retriever에 의해 빠르게 조회되고, 관련 문서를 찾아내는 데 사용됩니다.
텍스트, 이미지, 오디오 등의 데이터를 고차원 벡터로 변환하는 과정
같은 의미의 데이터는 벡터 공간에서 가까운 위치에 존재하도록 학습됨
새로운 쿼리(Query) 입력 시, 가장 유사한 벡터를 찾음
보통 코사인 유사도(Cosine Similarity) 또는 L2 거리(Euclidean Distance) 사용
대량의 벡터 데이터를 빠르게 검색할 수 있도록 효율적인 구조로 저장
대표적인 인덱싱 방법: FAISS, HNSW, Annoy
LangChain과 통합된 오픈소스 Vector Store로 간단하게 벡터를 저장 및 관리할 수 있다.
생성된 저장소는 검색기로 변환하여 사용될 수도 있다.
Facebook에서 개발한 오픈소스 Vector Store로 효율적인 유사도 검색과 벡터 클러스터링을 지원한다.
FAISS로 생성한 벡터 저장소 끼리는 병합(merge_from)이 가능하며, FAISS의 인덱스와 문서 정보를 로컬상에 저장(save_local),하거나 로컬상의 db를 불러오는 (load_loacal)함수도 지원한다.
Pinecone은 고성능 벡터 데이터베이스로, AI 및 머신러닝 애플리케이션을 위한 효율적인 벡터 저장 및 검색 솔루션이다.
클라우드 기반 데이터베이스이기 때문에 확장성이 뛰어나기 때문에 대규로 프로덕션 환경에서 유용하다.
Chroma/FAISS에 비해 높은 비용이 발생한다.
LangChain VectorDB 종류