LLM 챗봇, 랭체인의 핵심 Retriever
- Retriever는 사용자 질문을 Embedding 모델로 변환하고, 그 Embedding Vector를 이용하여 저장된 텍스트 덩어리들과 비교하여 가장 유사한 텐서를 선택하여 LLM에 넘긴다. 🧐
- LangChain의 Retriever는 다양한 유형의 텍스트 덩어리들을 이용한 4가지 방식으로 질문에 답변할 수 있다. ⛓️
- Stuff Chain은 가장 간단한 유형으로, 질문과 관련된 모든 텍스트 덩어리를 한 번에 LLM에 제공한다. 📝
- MapReduce Chain은 각 텍스트 덩어리를 요약한 후 하나의 요약문을 생성하여 LLM에 입력하여 토큰 문제를 해결한다. 🧮
- Refine Chain은 LLM에서 여러 번 답변을 얻어 그 결과들을 조합하여 더 정확하고 질 높은 답변을 얻는 방식이다. 💎
- 모든 chain 유형들은 장단점을 가지고 있으며, 어떤 유형을 사용할지 결정할 때는 토큰 제한, 성능, 처리 속도 등을 고려해야 한다. 🚀