본문 바로가기

ML&DL and LLM

LangChain - 2.1 Retrieval concept

참조 : https://python.langchain.com/docs/modules/data_connection/

 

Retrieval | 🦜️🔗 Langchain

Many LLM applications require user-specific data that is not part of the model's training set.

python.langchain.com

 

 

Retrieval

LLM 애플리케이션에서 user-specific data를 필요로함 -> 이를 위해 RAG (Retrieval Augmented Generation) 제공

 


Concept

Item Desc Etc.
Document loaders 많은 다른 source로부터 document를 load함  
Text Splitting Retrieval에서 key가 되는 부분은 문서에서 해당하는 부분만 가져오는 것
이를 위해서 split을 통해서 좀더 작은 chunk로 잘라야 함
 
Text embedding
models
문서의 임베딩을 만드는 것으로 임배딩은 Text의 의미론적 의미를 포착해서 유사한 텍스트의 다른 부분을 빠르고 효율적으로 찾을 수 있음  
Vector stores 임베딩의 저장 및 검색을 지원하는 DB  
Retrievers DB에 있는 데이터를 검색하기위한 검색 알고리즘 및 방법
- Parent Document Retriever - 상위 문서당 여러 임베딩 생성
- Self Query Retriever - 사용자 질문에 있는 다른 메타쿼리의 의미부분을 구문분석
- Ensemble Retriever - 여러 다른 소스 또는 알고리즘을 사용하도록 엮어줌
 
Indexing 인덱싱을 통해 다음을 지원 -> 이를 통해 시간과 비용을 절약, 백터검색결과 향상
- Avoid duplicated content
- Avoid re-writing unchanged content
- Avoid re-computing embeddings over unchanged content
 

'ML&DL and LLM' 카테고리의 다른 글

LangChain - 2.3 Text Splitter  (0) 2024.04.02
LangChain - 2.2 Document loaders  (0) 2024.04.01
LangChain 1.5.1 Types of output parser  (0) 2024.03.29
LangChain - 1.3.1 LLM QuickStart  (0) 2024.03.28
LangChain - 1.2.5 MessagePromptTemplate  (0) 2024.03.28