35분
LlamaIndex Property Graph: 코드 기반 GraphRAG
Microsoft GraphRAG & LlamaIndex
LlamaIndex Property Graph: 코드 기반 GraphRAG
GraphRAG > Microsoft GraphRAG & LlamaIndex
학습 목표
LlamaIndex: Python 코드 기반의 유연한 GraphRAG PropertyGraphIndex: 엔티티, 청크, 관계 통합 인덱스 4가지 KG Extractor: Schema/Simple/Implicit/Dynamic
LlamaIndex Property Graph: 코드 기반 GraphRAG
LlamaIndex는 MS GraphRAG보다 코드 레벨에서 더 세밀한 제어가 가능합니다. CLI 대신 Python 코드로 모든 단계를 커스터마이징할 수 있습니다.
MS GraphRAG가 "자동 운전"이라면, LlamaIndex는 "수동 운전 + 고급 보조 시스템"
왜 배우는가?
MS GraphRAG vs LlamaIndex 상세 비교
| 측면 | MS GraphRAG | LlamaIndex Property Graph |
|---|---|---|
| 인터페이스 | CLI + Python API | Python API 네이티브 |
| KG 구축 | 완전 자동 | 스키마 정의 가능 |
| 검색 방식 | Local + Global | Synonym + Vector + Cypher |
| 커뮤니티 | Leiden 알고리즘 자동 | 직접 구현 필요 |
| 저장소 | Parquet 파일 | Neo4j, NebulaGraph, 인메모리 |
| 학습 곡선 | 낮음 (CLI) | 중간 (Python) |
| 유연성 | 보통 | 높음 |
| 문서 지원 | 텍스트 | 다양한 포맷 (PDF, HTML 등) |
| 엔티티 스키마 | 자동 발견 | 명시적 정의 가능 |
| 프로덕션 적합성 | PoC~중간 | 중간~높음 |
LlamaIndex 선택 시점:
- 기존 Python 코드베이스에 통합해야 할 때
- 커스텀 엔티티/관계 추출 로직이 필요할 때
- 다양한 데이터 소스를 지원해야 할 때
- Neo4j와 직접 연동이 필요할 때
- 검색 전략을 세밀하게 조정해야 할 때
PropertyGraphIndex 아키텍처 상세
에디터 로딩 중...
핵심 개념
핵심 컴포넌트 상세
1. KG Extractors (엔티티/관계 추출기)
| 추출기 | 설명 | 사용 시나리오 |
|---|---|---|
| SchemaLLMPathExtractor | 사전 정의 스키마 기반 | 도메인 특화, 높은 정밀도 |
| SimpleLLMPathExtractor | 스키마 없이 자유 추출 | 탐색적 분석, PoC |
| ImplicitPathExtractor | 텍스트 청크 간 암시적 관계 | 문서 구조 활용 |
| DynamicLLMPathExtractor | LLM이 스키마도 자동 결정 | MS GraphRAG 유사 동작 |
에디터 로딩 중...
2. Retrievers (검색기)
| 검색기 | 동작 방식 | 장점 |
|---|---|---|
| LLMSynonymRetriever | LLM이 동의어 생성 → 엔티티 매칭 | 표현 변형에 강건 |
| VectorContextRetriever | 임베딩 유사도로 엔티티 검색 | 의미적 유사성 활용 |
| TextToCypherRetriever | 자연어 → Cypher 변환 | 정확한 구조적 질의 |
| CypherTemplateRetriever | 미리 정의한 Cypher 템플릿 | 안정적, 예측 가능 |
에디터 로딩 중...
3. Neo4j와의 연동
에디터 로딩 중...
설치
에디터 로딩 중...
핵심 포인트
- • LlamaIndex: Python 코드 기반의 유연한 GraphRAG
- • PropertyGraphIndex: 엔티티, 청크, 관계 통합 인덱스
- • 4가지 KG Extractor: Schema/Simple/Implicit/Dynamic
- • 4가지 Retriever: Synonym/Vector/TextToCypher/CypherTemplate
- • Neo4jPropertyGraphStore: Neo4j 직접 연동 + Cypher 실행
- • 여러 추출기/검색기를 조합하여 최적 파이프라인 구성