본문 바로가기
AI/RAG 이론

RAG 구현시 고려사항 : (3) Retriever 설계 고려사항

by 데이터 쿡북 2025. 7. 11.

 

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를 활용해 작성되었습니다]

공감버튼이 큰 힘이 됩니다

댓글