본문 바로가기
데이터 분석

LangChain 기반 RAG 시스템의 주요 구성 요소와 역할

by hidden-state 2026. 5. 10.

RAG(Retrieval-Augmented Generation)는 외부 데이터를 검색(Retrieval)한 뒤, 그 결과를 기반으로 답변을 생성(Generation)하는 방식이다.

기존 LLM은 학습된 정보만 활용하기 때문에 최신 정보나 특정 문서 내용을 정확하게 답변하지 못하는 경우가 있다.

RAG는 필요한 정보를 외부 문서에서 검색한 뒤 그 내용을 바탕으로 답변을 생성하기 때문에 더 정확하고 신뢰도 높은 응답을 만들 수 있다.


RAG 시스템의 전체 동작 흐름

일반적인 RAG 시스템은 다음과 같은 순서로 동작한다.

  1. 문서를 저장하고 벡터화한다.
  2. 사용자의 질문을 임베딩한다.
  3. 질문과 유사한 문서를 검색한다.
  4. 검색된 문서를 LLM에 함께 전달한다.
  5. LLM이 최종 답변을 생성한다.

rag pipeline diagram


1. Document Loader

Document Loader는 외부 문서를 불러오는 역할을 한다.

PDF, TXT, CSV, 웹 페이지 등 다양한 형태의 데이터를 읽어올 수 있다.

예를 들어 회사 매뉴얼 PDF나 웹 문서를 RAG 시스템에 넣을 때 사용된다.


2. Text Splitter

불러온 문서는 길이가 매우 긴 경우가 많다. LLM은 한 번에 처리할 수 있는 토큰 길이에 제한이 있기 때문에 문서를 작은 단위로 나누는 과정이 필요하다.

Text Splitter는 문서를 여러 chunk로 분리하는 역할을 한다.

적절한 크기로 문서를 나누면 검색 정확도를 높이는 데 도움이 된다.


3. Embedding Model

Embedding은 텍스트를 숫자 벡터 형태로 변환하는 과정이다.

문장을 벡터로 변환하면 텍스트 간 의미적 유사도를 계산할 수 있다.

예를 들어 "강아지"와 "반려견"은 단어가 다르더라도 비슷한 의미를 가진 벡터로 표현될 수 있다.


4. Vector Store

Vector Store는 임베딩된 문서를 저장하는 공간이다.

질문이 들어오면 질문 벡터와 가장 유사한 문서를 빠르게 검색한다.

대표적으로 FAISS, ChromaDB, Pinecone 등이 사용된다.


5. Retriever

Retriever는 사용자 질문과 가장 관련성이 높은 문서를 찾는 역할을 한다.

질문 벡터와 저장된 문서 벡터를 비교하여 유사도가 높은 문서를 검색한다.

이 과정은 RAG 시스템의 성능에 매우 큰 영향을 준다. 관련 없는 문서를 가져오면 답변 품질도 낮아질 수 있기 때문이다.


6. LLM(Large Language Model)

검색된 문서는 LLM에 함께 전달된다.

LLM은 검색된 문서를 참고하여 최종 답변을 생성한다.

즉 RAG 시스템에서 LLM은 검색된 정보를 바탕으로 자연스러운 응답을 만드는 역할을 수행한다.


LangChain의 역할

LangChain은 이러한 RAG 구성 요소들을 연결하고 관리하는 프레임워크이다.

Document Loader, Embedding, Retriever, LLM 등을 하나의 파이프라인처럼 연결하여 RAG 시스템을 쉽게 구축할 수 있도록 도와준다.

또한 다양한 벡터 데이터베이스와 LLM을 지원하기 때문에 확장성이 높다는 장점이 있다.


정리

RAG 시스템은 외부 문서를 검색한 뒤 그 내용을 기반으로 답변을 생성하는 구조이다.

Document Loader, Text Splitter, Embedding, Vector Store, Retriever, LLM 등이 핵심 구성 요소로 사용된다.

LangChain은 이러한 구성 요소들을 연결하여 RAG 시스템을 효율적으로 구축할 수 있도록 지원하는 프레임워크이다.