AI/Langchain RAG 3

03. Retriever

앞서 Langchain RAG에 대해 설명하고, Document Loaders, Text Splitters, Text Embedings, Vector Store에 대해 다루었다.  본 chapter 에서는 Retriever 에 대해 기술 한다.바로 본론으로 들어가자. 1. RetrieverRetriever는 비정형 쿼리가 주어지면 문서를 반환하는 인터페이스이다. 벡터 저장소보다 더 일반적이다. Retriever는 문서를 저장할 필요 없이 단지 반환만 할 수 있다.쉽게 말해, Retriever는 검색을 쉽게 할 수 있도록 구성된 모듈이다다. 이를 통해 손쉽게 문서를 검색할 수 있도록 하고 이를 기반으로 LLM과 대화할 수 있도록 한다.  1) VectorIndexCreator#################..

AI/Langchain RAG 2024.08.06

02. Documnet Loaders , Text Splitter , Embeding, Vector Store

이번 chapter 에서는 LLM에 학습되지 않은 외부 문서를 Vector store(Vector db)에  임베딩 하는 과정을 다룰 것이다.바로 본론으로 들어가자.  참고로 필자는 LangChain을 아래와 같이 구성하였다.1. Document Loaders : PyPDFLoader, Word Document Loader, CSV Document Loader2. Text splitter : RecursiveCharacterTextSplitter3. Text Embedding : HuggingFaceEmbeddings4. Vector Store : Chroma5 - 8. Retriever : RetrievalQA ,  MultiQueryRetriever    1. Document LoadersDocume..

AI/Langchain RAG 2024.08.06

01. 로컬환경에(사내에) Langchain RAG 구축하기

이번 chapter에서는 사내에 구성했던 Langchain RAG 에 대해 기술하겠다. 두 달 전 쯤 AI 프로젝트를 추진하며 사내 개발서버에 구성했던 프로젝트라 필자의 기억이 다소 흐릿할 수 있음을 가만해 주었으면 한다.  RAG RAG (Retrieval Augmented Generation)는 외부 데이터를 참조하여 LLM이 답변할 수 있도록 해주는 프레임워크이다. RAG는 파인튜닝과 함께 엮어서 설명된다. 이들은 모두 LLM이 기존에 가지고 있지 않은 지식을 포함해서 답변할 수 있도록 만들어주는 프레임워크라고 할 수 있다. 파인튜닝의 경우 LLM이 가지고 있지 않은 지식을 학습시키기 위해서 기존에 학습되어져 있는 모델 기반으로 아케텍쳐를 새로운 목적에 맞게 변형하고 이미 학습된 모델의 가중치를 미..

AI/Langchain RAG 2024.08.06