RAG 튜토리얼 — 문서 로드부터 답변 생성까지
RAG 튜토리얼
LangChain 공식 RAG 튜토리얼은 '외부 문서를 검색해서 답변하는 시스템'을 처음부터 만드는 과정을 보여줘요. 크게 로드 → 인덱스 → 검색 → 생성 네 단계로 나뉘어요.
기본 흐름
- 로드: 웹/문서에서 데이터를 불러와요.
- 분할·임베딩: 문서를 청크로 나누고 벡터로 만들어 인덱스해요.
- 검색(Retrieval): 질문과 관련된 청크를 찾아요.
- 생성(Generation): 검색 결과를 컨텍스트로 넣어 LLM으로 답변해요.
from langchain.chains import create_retrieval_chain
from langchain.chains.combine_documents import create_stuff_documents_chain
from langchain_community.embeddings import OllamaEmbeddings
from langchain_community.vectorstores import FAISS
vectorstore = FAISS.from_texts(texts, OllamaEmbeddings())
retriever = vectorstore.as_retriever()
왜 RAG인가
파인튜닝 없이도 최신·사내 지식을 답변에 반영할 수 있어요. 업데이트가 잦은 문서는 재인덱스만 하면 되므로 유지가 가볍고 할루시네이션을 줄이는 데도 도움이 돼요.