RAG
기본 정보
- 명칭: RAG
- 영문명: Retrieval-Augmented Generation
- 한글명: 검색 증강 생성
- 분류: LLM 응답 품질 향상 기술
- 주요 용도: 외부 데이터를 검색하여 정확한 답변 생성
- 관련 기술: LLM, Vector Database, Embedding, AI 에이전트, MCP
개요
RAG(Retrieval-Augmented Generation)는 대규모 언어 모델(LLM)이 학습 데이터에만 의존하지 않고, 외부 데이터를 검색(Retrieval)한 뒤 이를 기반으로 답변을 생성(Generation)하는 기술이다.
일반적인 LLM은 학습 시점 이후의 정보나 회사 내부 문서를 알지 못하지만, RAG는 필요한 문서를 실시간으로 검색하여 답변의 정확성과 최신성을 높일 수 있다.
기업용 AI 챗봇, 문서 검색 시스템, 고객센터, ERP, 사내 위키 등에서 널리 사용된다.
RAG 구조
사용자 질문
↓
Embedding
↓
Vector Database 검색
↓
관련 문서
↓
LLM
↓
답변 생성
동작 과정
질문 입력
↓
질문 벡터 변환
↓
Vector Database 검색
↓
유사 문서 검색
↓
LLM에 문서 전달
↓
답변 생성
핵심 구성 요소
LLM
문장을 이해하고 답변을 생성하는 모델이다.
대표 모델
- GPT
- Claude
- Gemini
- Llama
- Qwen
Embedding
텍스트를 숫자 벡터(Vector)로 변환한다.
문장
↓
Embedding Model
↓
Vector
의미가 비슷한 문장은 가까운 벡터로 표현된다.
Vector Database
벡터 데이터를 저장하고 유사도를 검색하는 데이터베이스이다.
대표 제품
- Pinecone
- Milvus
- Qdrant
- Chroma
- Weaviate
- pgvector
Retriever
가장 관련성이 높은 문서를 검색한다.
질문
↓
Retriever
↓
Top-K 문서
일반적으로 상위 3~10개의 문서를 선택한다.
Generator
검색된 문서를 기반으로 답변을 생성한다.
검색 결과
↓
LLM
↓
최종 답변
RAG 전체 구조
사용자
↓
질문
↓
Embedding
↓
Vector Database
↓
관련 문서
↓
Prompt 구성
↓
LLM
↓
답변
문서 등록 과정
PDF
Word
Markdown
HTML
↓
문서 분할(Chunking)
↓
Embedding
↓
Vector Database 저장
Chunking
긴 문서를 작은 단위로 나누는 과정이다.
100페이지 문서
↓
500자 단위 분할
↓
Chunk
↓
Embedding
Chunk 크기는 검색 성능에 큰 영향을 준다.
검색 과정
사용자 질문
↓
Embedding
↓
Cosine Similarity
↓
Top-K 검색
↓
LLM
RAG와 일반 LLM 비교
| 일반 LLM | RAG |
|---|---|
| 학습 데이터 기반 | 외부 문서 검색 |
| 최신 정보 부족 | 최신 정보 활용 |
| 내부 문서 사용 어려움 | 내부 문서 활용 가능 |
| Hallucination 가능성 높음 | 정확도 향상 |
RAG와 Fine-tuning 비교
| RAG | Fine-tuning |
|---|---|
| 문서 검색 | 모델 재학습 |
| 최신 정보 반영 쉬움 | 재학습 필요 |
| 구축 속도 빠름 | 비용 높음 |
| 문서 변경 즉시 반영 | 변경 시 재학습 |
대표 활용 분야
- 사내 문서 검색
- ERP
- 고객센터
- 의료 정보 검색
- 법률 문서 검색
- 기술 문서 검색
- AI 챗봇
- Obsidian 지식 검색
PHP 문서 검색 예시
PHP 문서
↓
Embedding
↓
Vector Database
↓
"Session이란?"
↓
관련 문서 검색
↓
LLM 답변
Obsidian 활용 예시
Markdown
↓
Chunk
↓
Embedding
↓
Vector DB
↓
질문
↓
관련 노트 검색
↓
답변
현재 구축 중인 Obsidian 문서 시스템과 매우 잘 어울리는 구조이다.
기업 활용 예시
사내 문서
↓
RAG
↓
직원 질문
↓
정확한 답변
예를 들어 "휴가 규정 알려줘"라는 질문에 회사 내부 문서를 기반으로 답변할 수 있다.
AI 에이전트와 관계
AI Agent
↓
RAG 검색
↓
Tool 실행
↓
답변
RAG는 AI 에이전트의 지식 공급 역할을 수행한다.
MCP와 관계
MCP
↓
파일 시스템
↓
RAG
↓
LLM
MCP를 이용하면 다양한 데이터 소스를 RAG와 연결할 수 있다.
장점
- 최신 정보 활용
- Hallucination 감소
- 내부 문서 활용 가능
- 재학습 비용 절감
- 빠른 구축
- 높은 확장성
단점
- 검색 품질에 따라 결과가 달라짐
- Chunk 설계가 중요
- Vector Database 운영 필요
- Embedding 비용 발생 가능
- 검색 속도 최적화 필요
구축 흐름
Markdown
↓
Chunk
↓
Embedding
↓
Vector Database
↓
LLM
↓
AI 챗봇
학습 순서
LLM
↓
Embedding
↓
Vector Database
↓
RAG
↓
Prompt Engineering
↓
AI Agent
↓
MCP
실무 메모
실무에서는 다음과 같은 방식이 권장된다.
- Chunk 크기 300~1,000토큰 수준 검토
- 의미 단위로 문서 분할
- 메타데이터(제목, 태그, 출처) 저장
- Hybrid Search(키워드 + 벡터 검색) 고려
- Top-K 값 튜닝
- 검색 결과 재정렬(Reranking) 적용
- 최신 문서 자동 동기화
- 출처(Citation) 함께 제공
- 민감한 문서는 권한 기반 검색 적용
- 응답 품질을 지속적으로 평가 및 개선
RAG와 함께 사용하는 기술
대표 활용 사례
- 기업 AI 챗봇
- 사내 지식 검색
- Obsidian AI 검색
- 고객센터 자동 응답
- 의료 문서 검색
- 법률 문서 검색
- 기술 문서 검색
- ERP AI 도우미
관련 문서
출처
- Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks (Lewis et al., 2020)
- OpenAI Platform Documentation
- LangChain Documentation