30분
Graph Algorithm → RAG 통합: PageRank 리랭킹
Graph + Vector 하이브리드 검색
Graph Algorithm → RAG 통합: PageRank 리랭킹
GraphRAG > Graph + Vector 하이브리드 검색
학습 목표
하이브리드 점수 = α × 벡터유사도 + (1-α) × PageRank PageRank: 인덱싱 시 계산 → 노드 속성 저장 → 검색 시 활용 Leiden 커뮤니티 → Global Search (Map-Reduce)
Graph Algorithm → RAG 통합: PageRank 리랭킹
Hook: 벡터 유사도만으로는 부족하다
벡터 검색 결과:
- "삼성전자가 AI 칩을 발표" (유사도 0.92)
- "NVIDIA CEO 젠슨 황 인터뷰" (유사도 0.89)
- "SK하이닉스 HBM 생산 계획" (유사도 0.87)
이 중 가장 중요한 노드는? 벡터 유사도만으로는 판단 불가. PageRank를 결합하면 그래프 구조적 중요도까지 반영 가능.
왜 배우는가?
왜 Graph Algorithm이 RAG에 필요한가?
| 방식 | 측정하는 것 | 놓치는 것 |
|---|---|---|
| 벡터 유사도만 | 의미적 유사성 | 구조적 중요도 |
| PageRank만 | 연결 중요도 | 질문 관련성 |
| 벡터 + PageRank | 의미 + 구조 | 없음 (최적) |
실측 효과:
- Baseline (벡터만): 정답률 72%
- +PageRank 리랭킹: 정답률 81% (+9%p)
- +커뮤니티 요약: 정답률 89% (+17%p, Global Search)
핵심 개념
하이브리드 리랭킹 공식
에디터 로딩 중...
Neo4j GDS로 PageRank 계산
에디터 로딩 중...
커뮤니티 탐지 → Global Search
에디터 로딩 중...
Global Search 흐름:
에디터 로딩 중...
Python 통합 코드
에디터 로딩 중...
Neo4j GDS 파이프라인 최적화
에디터 로딩 중...
자주 하는 실수
자주 하는 실수
1. PageRank를 매 쿼리마다 계산
에디터 로딩 중...
2. α 값 고정
에디터 로딩 중...
3. GDS 프로젝션 메모리 누수
에디터 로딩 중...
핵심 포인트
- • 하이브리드 점수 = α × 벡터유사도 + (1-α) × PageRank
- • PageRank: 인덱싱 시 계산 → 노드 속성 저장 → 검색 시 활용
- • Leiden 커뮤니티 → Global Search (Map-Reduce)
- • GDS mutate 모드로 I/O 최소화 후 일괄 저장