개요
RAG (Retrieval Augmented Generation)는 Large Language Models (LLMs) 의 응답 생성 시 외부 지식을 검색하여 컨텍스트로 제공 하는 기법입니다. LLM의 환각(hallucination)을 줄이고, 학습 데이터에 없는 최신/사내 정보를 활용할 수 있게 합니다.
핵심 개념
[사용자 질문] → [검색(Retrieval)] → [관련 문서 추출] → [LLM에 컨텍스트로 전달] → [답변 생성(Generation)]
왜 RAG인가?
문제 RAG 해결 LLM 환각 근거 문서 기반 답변 → 정확도 향상 학습 데이터 시점 제한 최신 문서 실시간 검색 사내/비공개 데이터 파인튜닝 없이 사내 문서 활용 출처 제공 검색된 문서를 출처로 인용 가능
RAG vs 파인튜닝
항목 RAG 파인튜닝 데이터 업데이트 즉시 (문서 교체) 재학습 필요 비용 낮음 (임베딩+검색) 높음 (GPU 학습) 정확도 검색 품질에 의존 도메인 특화 환각 줄어듦 (근거 있음) 여전히 가능 최적 용도 FAQ, 문서 검색, 지식베이스 스타일/톤 변경, 특수 태스크
RAG 파이프라인
1단계: 문서 처리 (Ingestion)
[원본 문서] → [청킹(Chunking)] → [임베딩(Embedding)] → [벡터 DB 저장]
청킹 전략:
방식 설명 적합 고정 크기 500~1000 토큰 단위 분할 범용 문장/문단 의미 단위 분할 정확도 우선 재귀적 구분자 기반 계층적 분할 코드, 구조화 문서 시맨틱 임베딩 유사도 기반 분할 최고 품질
임베딩 모델:
모델 개발사 차원 특징 text-embedding-3-large OpenAI 3072 상용 최고 성능 text-embedding-3-small OpenAI 1536 저가, 충분한 성능 Voyage 3 Voyage AI 1024 코드/법률 특화 BGE-M3 BAAI 1024 오픈소스 최강, 다국어 Nomic Embed Nomic 768 오픈소스, 8K 컨텍스트 mxbai-embed-large Mixedbread 1024 오픈소스
2단계: 검색 (Retrieval)
방식 설명 벡터 검색 임베딩 코사인 유사도 (의미 기반) 키워드 검색 BM25 등 전통 검색 (정확 매칭) 하이브리드 검색 벡터 + 키워드 조합 (가장 효과적) 리랭킹 검색 결과를 Cross-encoder로 재정렬
리랭킹 모델: Cohere Rerank, BGE-Reranker, FlashRank
3단계: 생성 (Generation)
검색된 문서를 LLM 프롬프트에 컨텍스트로 삽입:
System: 아래 문서를 참고하여 질문에 답하세요. 문서에 없는 내용은 "모르겠습니다"라고 답하세요.
Context:
{검색된 문서 1}
{검색된 문서 2}
{검색된 문서 3}
User: {사용자 질문}
고급 RAG 기법
기법 설명 Query Rewriting 사용자 질문을 검색에 최적화된 형태로 변환 HyDE 가상 답변 생성 → 가상 답변으로 검색 Multi-Query 하나의 질문을 여러 관점으로 변환하여 검색 Parent-Child Chunking 작은 청크로 검색, 큰 청크(부모)를 컨텍스트로 전달 Contextual Retrieval 청크에 문서 맥락 정보를 추가하여 임베딩 Graph RAG 지식 그래프 기반 관계 검색 Agentic RAG AI 에이전트가 검색 전략을 동적 결정 Corrective RAG (CRAG) 검색 결과 품질 자체 평가 → 부족하면 웹 검색 Self-RAG 모델이 검색 필요 여부를 스스로 판단
RAG 프레임워크 / 도구
도구 특징 LangChain RAG 파이프라인 구축 표준, Python/JS LlamaIndex 데이터 인덱싱 특화, 다양한 데이터 소스 Haystack deepset, 프로덕션 RAG 파이프라인 RAGFlow 오픈소스 RAG 엔진, 문서 파싱 강점 Verba Weaviate 기반 RAG 앱 Dify 노코드 RAG 앱 빌더 Flowise 드래그앤드롭 RAG 파이프라인
→ 벡터 저장소: 벡터 데이터베이스
RAG 평가
메트릭 측정 Faithfulness 답변이 검색 문서에 근거하는가 Relevancy 검색된 문서가 질문과 관련 있는가 Answer Correctness 답변이 정답과 일치하는가 Context Precision 관련 문서가 상위에 검색되는가
평가 도구: Ragas, TruLens, DeepEval, LangSmith
관련 항목