반응형
1. 왜 RAG가 필요한가
최근 LLM(대형 언어 모델)은 다양한 분야에서 활용되고 있지만, 다음과 같은 한계를 가지고 있다.
- 최신 정보 반영이 어렵다
- 특정 도메인(사내 문서, 제품 정보 등)에 대한 지식 부족
- 그럴듯하지만 틀린 답변을 만드는 환각(Hallucination) 문제
이 문제를 해결하기 위한 구조가 바로 RAG다.
👉 핵심 개념
“모르면 추측하지 말고, 관련 데이터를 찾아서 답하자”
2. RAG 정의
RAG (Retrieval-Augmented Generation)
👉 Retrieval (검색) + Generation (생성)
즉,
외부 데이터를 검색해서 → 그 데이터를 기반으로 LLM이 답을 생성하는 방식
3. 전체 동작 흐름
[데이터 준비 단계]
문서 → 임베딩 → 벡터 DB 저장
[질문 처리 단계]
질문 → 임베딩 → 벡터 검색 → 관련 문서 추출 → LLM 입력 → 답변 생성
4. 핵심 구성 요소
1) 임베딩 (Embedding)
텍스트를 숫자 벡터로 변환하는 과정
예:
"회원 탈퇴 방법"
→ [0.13, -0.77, 0.44, ...]
👉 역할
- 의미 기반 비교 가능하게 만듦
- “비슷한 문장”을 찾을 수 있게 함
2) 벡터 데이터베이스 (Vector DB)
벡터 데이터를 저장하고 유사한 데이터를 빠르게 검색
대표 기술:
- PostgreSQL + pgvector
- OpenSearch (vector search)
- Milvus, Qdrant
👉 역할
- 질문과 가장 관련 있는 문서 찾기
3) LLM (Large Language Model)
검색된 데이터를 기반으로 자연스러운 답변 생성
👉 역할
- 문맥 이해 + 답변 생성
5. 실제 동작 예시
상황
사용자가 질문:
👉 “환불 정책이 어떻게 되나요?”
처리 과정
- 질문을 벡터로 변환
- 벡터 DB에서 관련 문서 검색
- 환불 정책 문서
- 이용약관 일부
- 검색된 내용을 LLM에 전달
- LLM이 자연스럽게 답변 생성
👉 결과
정확하고 근거 있는 답변 제공
6. 기존 LLM 방식과 차이
기존 방식
- 모델이 알고 있는 지식만 사용
- 최신 정보 반영 어려움
- 환각 가능성 존재
RAG 방식
- 외부 데이터 기반 답변
- 최신 정보 반영 가능
- 정확도 향상
7. RAG의 장점
1) 정확도 향상
근거 기반 답변 생성
2) 최신 데이터 활용
DB, 문서, API 등 실시간 데이터 반영 가능
3) 환각 감소
추측이 아니라 실제 데이터 기반
4) 도메인 특화 가능
사내 문서, 서비스 데이터 등 활용
8. RAG의 한계
1) 검색 품질에 의존
👉 잘못된 문서를 찾으면 답변도 틀림
2) 임베딩 품질 영향
👉 임베딩이 좋지 않으면 유사도 검색 정확도 낮아짐
3) 응답 지연 증가
👉 검색 + 생성 과정이 추가됨
4) 데이터 전처리 필요
👉 문서 분할, 정제 등의 작업 필요
9. RAG 설계 시 중요한 포인트
● 문서 분할 (Chunking)
- 너무 길면 검색 정확도 떨어짐
- 적절한 크기로 나누는 것이 중요
● Top-K 선택
- 몇 개의 문서를 가져올지 결정
- 너무 적으면 정보 부족
- 너무 많으면 노이즈 증가
● 프롬프트 구성
- 검색된 데이터를 어떻게 전달하느냐에 따라 결과 달라짐
● 메타데이터 활용
- 날짜, 카테고리 등 필터링 가능
- 검색 정확도 개선
10. RAG 활용 사례
- 고객 지원 챗봇 (FAQ 기반)
- 문서 검색 시스템
- 코드/기술 문서 질의응답
- 법률/의료 정보 검색
- 개인 지식 관리 시스템
11. 확장 개념 (알아두면 좋은 것)
● Hybrid Search
- 키워드 검색 + 벡터 검색 결합
👉 정확도 개선
● Re-ranking
- 1차 검색 결과를 다시 정렬
👉 더 정확한 결과 선택
● Context Window 관리
- LLM 입력 길이 제한 고려
👉 중요한 정보만 전달해야 함
12. 한 줄 핵심 정리
👉 RAG는 “검색으로 근거를 확보한 뒤, LLM으로 답을 생성하는 구조”
13. 결론
LLM은 강력하지만, 단독으로는 실무 적용에 한계가 있다.
RAG를 통해:
- 정확도 향상
- 최신 데이터 반영
- 도메인 특화
이 가능해진다.
👉 그래서 현재 대부분의 AI 서비스는
LLM + RAG 구조를 기본으로 사용한다
반응형
'AI' 카테고리의 다른 글
| Claude Code로 문서 쓰다가 당했다… 그래서 만든 ‘정확성 규칙’ 공개 (1) | 2025.12.12 |
|---|---|
| GPT-OSS 란? 설치 및 이용하면 좋은점 (PC에 설치하는 GPT) (0) | 2025.08.10 |
댓글