AI/RAG 이론
RAG 구현시 고려사항 : (3) Retriever 설계 고려사항
데이터 쿡북
2025. 7. 11. 13:28
3. Retriever 설계 고려사항
Retriever는 유사한 문서를 정확하고 빠르게 찾기 위한 핵심 컴포넌트입니다. 아래는 Retriever를 구성할 때 고려해야 할 주요 요소들입니다.
✅ 1. 임베딩 모델 선택
- 역할: 사용자 쿼리와 문서를 의미 기반 벡터로 변환
- 선택 기준:
- 의미 보존력 (semantic similarity 성능)
- 다국어/한국어 지원 여부
- 추론 속도 vs 정확도
- 오픈소스 vs 상용 API
추천 모델 예시:
모델명특징
text-embedding-3-small (OpenAI) | 상용 정확도 우수, 1536차원 |
bge-large-en/ko | BEIR 성능 우수, 한국어 버전도 존재 |
E5-mistral | Hugging Face 기반, RAG에 최적화 |
✅ 2. 벡터 DB 선택
- 역할: 벡터를 저장하고 유사한 벡터를 빠르게 검색
- 선택 기준:
- 처리 용량 (수천 → 수억 건 이상)
- 필터링 기능 (metadata filtering)
- 클라우드 or 로컬
- 실시간 업데이트 지원 여부
비교 표:
DB특징
FAISS | 로컬 고속 검색, 커스터마이징 가능 |
Pinecone | 관리형 SaaS, scaling 간편 |
Weaviate | RESTful API, 필터링 및 분류 지원 |
Milvus | 대규모 분산 환경에 강점 |
✅ 3. 인덱스 구조 선택
- 역할: 대량 벡터 중 유사한 항목을 빠르게 찾기 위한 내부 구조
구조특징
Flat | 정확도 100%, 느림 |
IVF | KMeans 기반 클러스터링, 빠름 |
HNSW | 그래프 기반, 정확도·속도 균형 |
⚠️ Flat은 소규모 테스트에, IVF/HNSW는 대규모 검색에 적합
✅ 4. 유사도 측정 방식
방식설명활용 예
Cosine Similarity | 각 벡터 간 각도 비교 | 의미 기반 텍스트 검색 |
L2 Distance (Euclidean) | 절대 거리 기반 | 수치 기반 유사도 |
Inner Product (Dot Product) | 점곱 기반 | 대량 랭킹에서 빠름 |
✅ 5. Metadata Filtering
- 역할: 단순 유사도 기반 검색에 속성 조건 추가
- 예시:
- 날짜: 최근 문서만
- 권한: 특정 유저만 볼 수 있는 문서
- 태그: "제품 Q&A" 카테고리만
Pinecone, Weaviate, Vespa 등에서 지원
✅ 종합 전략
목적전략
정확도 향상 | 좋은 임베딩 + HNSW + Cosine + Reranking |
속도 우선 | IVF 인덱스 + 낮은 nprobe |
필터링 필요 | Vector DB에서 metadata filtering 활용 |
최신 정보 반영 | 실시간 DB update 기능 고려 |
📌 요약
고려 요소설명
임베딩 모델 | 의미 유사도 품질 결정 |
벡터 DB | 저장/검색 구조 및 속도 |
인덱스 방식 | 검색 최적화 |
유사도 함수 | 검색 정확도 좌우 |
필터링 조건 | 응답 품질 향상 |
[AI를 활용해 작성되었습니다]
공감버튼이 큰 힘이 됩니다