RAG 시스템 구축을 위한 하이브리드 접근법
복잡한 법령 문서를 위한 RDB + Vector DB + Elasticsearch + Graph DB 통합 아키텍처
법률 데이터처럼 구조화된 정보 와 의미적 관계 가 모두 중요한 영역에서는 단일 검색 기술로는 한계가 있습니다.
1. 시스템 아키텍처 개요
┌─────────────────────────────────────────────────────────────────────┐
│ RAG 하이브리드 시스템 │
│ │
│ [사용자 질문] │
│ ↓ │
│ ┌─────────────┐ ┌─────────────┐ │
│ │ Vector DB │ │Elasticsearch│ ← 1. 동시 검색 (Dual Retrieval)│
│ │ (Milvus) │ │ (BM25) │ │
│ └──────┬──────┘ └──────┬──────┘ │
│ └────────┬─────────┘ │
│ ↓ │
│ [후보 문서 목록] │
│ ↓ │
│ ┌─────────────┐ ┌─────────────┐ │
│ │ Graph DB │ │ RDB │ ← 2. Re-ranking (맥락/메타) │
│ │ (관계 탐색) │ │ (메타데이터) │ │
│ └──────┬──────┘ └──────┬──────┘ │
│ └────────┬─────────┘ │
│ ↓ │
│ [최종 상위 문서] │
│ ↓ │
│ [LLM 생성] ← 3. 답변 생성 │
│ ↓ │
│ [최종 답변] │
└─────────────────────────────────────────────────────────────────────┘
2. 각 DB의 역할 분담
DB 유형
역할
검색 방식
저장 데이터
RDB
정형 데이터 관리
SQL 쿼리
원본 텍스트, 메타데이터, 버전 이력
Vector DB
의미적 유사성 검색
Dense Retrieval
텍스트 임베딩 벡터
Elasticsearch
키워드 검색
Sparse Retrieval (BM25)
원문 텍스트 (역색인)
Graph DB
관계/맥락 탐색
그래프 순회
법령 간 참조/계층 관계
3. 상세 활용 전략
3.1 RDB: 정형 데이터 관리
항목
내용
역할
원본 텍스트, 메타데이터, 청크 관리, 버전 관리
저장 정보
법조문 번호, 시행일, 관련 법규, 개정 이력
활용
검색 결과 필터링, 답변 출처(Citation) 표시
스키마 설계 포인트 :
청크별 원본 텍스트
법령명, 조항, 항, 호 등 계층 구조 정보
시행일, 개정 이력 등 시간 정보
3.2 Vector DB (Milvus): 의미적 유사성 검색
항목
내용
역할
청킹된 텍스트의 임베딩 저장 및 유사도 검색
검색 방식
Dense Retrieval (코사인 유사도)
핵심 가치
사용자 질문과 의미적으로 유사한 문서 검색
최적화 포인트 :
법률 도메인 특화 임베딩 모델 사용
청크 크기 및 오버랩 최적화
3.3 Elasticsearch: 키워드 검색
항목
내용
역할
법령 원문 저장 및 키워드 기반 검색
검색 방식
Sparse Retrieval (BM25)
핵심 가치
‘과태료’, ‘징역 3년’ 등 정확한 용어 매칭
최적화 포인트 :
법률 용어 형태소 분석기 커스터마이징
RRF (Reciprocal Rank Fusion)로 Vector DB 결과와 통합
3.4 Graph DB: 관계 및 맥락 정보
항목
내용
역할
법령 간 관계, 상하위 구조, 참조 관계 관리
검색 방식
그래프 순회 (Traversal)
핵심 가치
“A 법은 B 법을 참조한다” 등 관계 기반 맥락 제공
활용 예시 :
검색된 5개 문서 → Graph DB에서 참조 관계 분석
→ 질문과 관련된 법령을 많이 참조한 문서 우선 랭킹
4. 하이브리드 검색 파이프라인
단계
기술
목적
1. 동시 검색
Vector DB + Elasticsearch
의미적 유사성 + 키워드 일치로 후보 확보
2. Re-ranking
Graph DB + RDB 메타데이터
맥락적/구조적 연관성으로 랭킹 재조정
3. 생성
LLM (오픈소스)
상위 문서를 프롬프트에 넣어 답변 생성
5. 데이터 파이프라인 구축
5.1 계층적 청킹 (Hierarchical Chunking)
[법령]
└── [조 (Article)]
└── [항 (Paragraph)]
└── [호 (Clause)]
└── [청크] ← 임베딩 단위
청크 검색 시 상위 조항 제목/전문 함께 제공
LLM이 맥락을 이해하는 데 필수
5.2 임베딩 모델 선정
방법
설명
도메인 특화 모델
법률 코퍼스로 학습된 임베딩 모델 사용
다국어 모델
한국어 법률 용어에 적합한 임베딩 모델 선택
6. 구현 체크리스트
RAG 하이브리드 시스템 구축 체크리스트:
[데이터 준비]
├── 법령 원문 수집 및 청킹 전략 수립
├── 메타데이터 스키마 설계 (RDB)
├── 법령 간 관계 그래프 모델링 (Graph DB)
└── 임베딩 모델 선정
[검색 시스템]
├── Vector DB 인덱싱 및 유사도 검색 구현
├── Elasticsearch 인덱싱 및 BM25 검색 구현
├── 하이브리드 검색 (RRF) 통합
└── Graph DB 기반 Re-ranking 로직
[생성 시스템]
├── 프롬프트 템플릿 설계
├── LLM 연동 및 API 구성
└── 출처 표시(Citation) 기능 구현
7. 결론
이 하이브리드 접근법은 현재 가장 고도화된 RAG 시스템 의 표준이며,
복잡한 법률 데이터를 다루는 데 최적의 방법 입니다.
단일 DB 한계
하이브리드 솔루션
Vector DB만: 키워드 매칭 부족
+ Elasticsearch로 보완
키워드 검색만: 의미 파악 부족
+ Vector DB로 보완
둘 다: 관계/맥락 부족
+ Graph DB로 보완
모두: 메타데이터 관리 어려움
+ RDB로 보완