🔍
RAG (Retrieval-Augmented Generation)
검색으로 외부 지식을 주입하여 정확도 향상
RAG(Retrieval-Augmented Generation)는 Meta(Facebook)가 2020년에 제안한 기법으로, LLM의 환각(hallucination)과 지식 한계를 해결하는 가장 실용적인 방법입니다. 핵심은 "질문에 관련된 문서를 먼저 찾고, 그 문서를 참고하여 답변을 생성"하는 것입니다. 문서를 chunk 단위로 나누고, 임베딩 모델로 벡터화하여 벡터 DB(Pinecone, Chroma 등)에 저장합니다. 질문이 들어오면 유사도 검색으로 관련 chunk를 찾아 프롬프트에 첨부합니다. 모델을 재학습하지 않고도 최신 정보와 전문 지식을 활용할 수 있습니다.
핵심 개념
1
문서 수집 및 chunk 분할 (500~1000 토큰 단위)
2
각 chunk를 임베딩 모델로 벡터화 → 벡터 DB에 저장
3
사용자 질문을 동일한 임베딩 모델로 벡터화
4
벡터 유사도 검색(cosine similarity)으로 관련 chunk top-k개 검색
5
검색된 chunk를 프롬프트에 "참고 자료"로 첨부
6
LLM이 참고 자료를 기반으로 답변 생성 (출처 인용 가능)
장점
- ✓ 모델 재학습 없이 지식 업데이트 가능
- ✓ 환각(hallucination) 감소
- ✓ 출처 인용으로 신뢰도 향상
- ✓ Fine-tuning 대비 비용 효율적
- ✓ 데이터 보안 유지 가능 (사내 DB)
단점
- ✗ 검색 품질이 전체 성능을 좌우
- ✗ 임베딩/벡터 DB 관리 비용
- ✗ chunk 분할 전략이 복잡
- ✗ context window 제한으로 참고 자료 양 제한
- ✗ 검색-생성 파이프라인 지연
사용 사례
기업 내부 문서 Q&A 챗봇
법률/의료 전문 상담
최신 뉴스 기반 응답
기술 문서 검색 어시스턴트
고객 지원 자동화