반응형
FAISS는 Facebook에서 만든 Facebook AI Similarity Search로 검색에 있어 단순히 Vector 기반 검색이 가능하게 데이터를 전환해 주는 라이브러리라고 생각하면 된다.
그리고 Vector Store의 경우 LangChain의 설명에 따르면 정규화되지 않는 데이터를 저장하고 저장된 데이터 안에서 검색을 돕도록 만들어진 Inteface다 그래서 간단한 Interface의 사용법은 아래와 같다.
vectorstore = MyVectorStore()
retriever = vectorstore.as_retriever()
물론 사용하는 Vector Store에 따라 사용방식과 데이터 저장 방식이 다르다.
사용 방식보다 Vector Store에 대하 설명만 진행하겠다. 자세한 사용방식은 아래의 링크를 통해 확인해 보는 게 빠르다.
Vector Store의 핵심은 아래와 같다.
- 일반 데이터를 Embedding Model을 통해서 Vector로 전환한다.
- Embedding
- Tokenizations
- 전환된 Vector를 저장한다.
- 검색 시 검색 쿼리를 Vector로 전화하고 저장된 Vector들과 유사도 검색 하여 가장 유사한 Vector들을 가져온다.
그리고 위의 핵심 기능들을 LangChain을 통한 Vector Store에서 쉽게 진행할 수 있다. 그리고 여기서 추가로 유사도를 검색하는 방식을 추가 혹은 수정할 수 있다.
정리하자면 Vector Store은 LLM Application 특히, RAG Application을 위한 DB와 같은 역할을 한다. 그리고 해방 부분을 도식화하자면 아래와 같다.
그렇다면 Vector Store에 Vector를 만드는 과정에서의 Embedding과 Tokens는 뭘까?
출처
반응형
'개발일반 > 도대체' 카테고리의 다른 글
도대체 유사도 검색은 뭘까? with LangChain .as_retriever() 분석 (0) | 2024.11.08 |
---|---|
도대체 Embedding Model과 Token은 뭘까? (2) | 2024.09.20 |
도대체 LangChain은 뭘까? (2) | 2024.09.19 |
도대체 RAG는 뭘까? (0) | 2024.08.14 |
도대체 CI/CD는 뭘까? (1) | 2023.12.19 |