35

프레임워크 선택 가이드: 상황별 최적 도구

Microsoft GraphRAG & LlamaIndex

학습 목표

MS GraphRAG: 빠른 PoC, Global Search, CLI 중심 LlamaIndex: Python 통합, 다양한 Extractor/Retriever neo4j-graphrag: Neo4j 공식, 프로덕션 최적화

프레임워크 선택 가이드

MS GraphRAG, LlamaIndex, neo4j-graphrag, 직접 구현... 어떤 것을 선택해야 할까요?

정답은 없습니다. 프로젝트 상황에 따라 최적 도구가 달라집니다. 이 가이드에서 의사결정 기준을 명확히 잡아봅시다.


왜 배우는가?

선택 기준 매트릭스

상황추천 도구이유
빠른 PoCMS GraphRAGCLI로 5분 만에 KG 구축
Python 통합LlamaIndexPython 네이티브 API
Neo4j 기반 프로덕션neo4j-graphrag공식 지원, 최적화
엔터프라이즈 커스텀LangChain 직접 구현완전한 제어
글로벌 질문 중심MS GraphRAGCommunity Summary
정확한 관계 질의neo4j-graphragCypher 직접 사용
다양한 검색 전략LlamaIndex4가지 Retriever

핵심 개념

4대 프레임워크 상세 비교

1. Microsoft GraphRAG

장점:

  • CLI로 빠른 시작 (5분 만에 KG 구축)
  • 자동 KG 구축 (스키마 설계 불필요)
  • Community Summary 기반 Global Search (유일)
  • Map-Reduce 패턴으로 대규모 문서 처리

단점:

  • 커스터마이징 제한 (설정 파일 기반)
  • Python 통합 불편 (CLI 중심 설계)
  • 대용량 시 LLM 비용 높음 (Community Summary 생성)
  • 한국어 최적화 부족 (프롬프트 커스텀 필요)
  • 실시간 KG 업데이트 어려움

비용 예시 (100페이지 문서 기준):

모델인덱싱 비용쿼리 비용/회
gpt-4o-mini$2~5$0.01~0.05
gpt-4o$20~50$0.05~0.20

적합한 경우:

  • 탐색적 분석, PoC
  • "전체 요약" 타입 질문이 중요
  • 빠른 프로토타이핑

2. LlamaIndex Property Graph

장점:

  • Python 네이티브 API
  • 4가지 KG Extractor 선택/조합
  • 4가지 Retriever 선택/조합
  • 스키마 커스터마이징 (strict/flexible)
  • 다양한 데이터 소스 지원

단점:

  • Global Search 직접 지원 안 함
  • 커뮤니티 탐지/요약 없음
  • 학습 곡선 있음
  • 자주 변경되는 API

적합한 경우:

  • Python 프로젝트에 GraphRAG 통합
  • 커스텀 스키마가 필요한 도메인
  • 다양한 검색 전략 실험
  • Neo4j와 코드 레벨 연동

3. neo4j-graphrag (Neo4j 공식)

장점:

  • Neo4j 팀 직접 개발/유지보수
  • Neo4j 벡터 인덱스 최적 활용
  • VectorCypherRetriever로 구조+의미 결합
  • SimpleKGPipeline으로 자동 KG 구축
  • 프로덕션 안정성

단점:

  • Neo4j에 종속 (다른 그래프 DB 미지원)
  • 비교적 신규 라이브러리 (커뮤니티 작음)
  • Global Search (Community) 미지원
  • 문서/예제가 상대적으로 적음

적합한 경우:

  • Neo4j 기반 프로덕션 시스템
  • Cypher 쿼리 직접 활용
  • 벡터 + 그래프 결합 검색

4. LangChain + Neo4j 직접 구현

장점:

  • 완전한 제어
  • 최적화 가능 (쿼리, 캐싱, 배치)
  • 기존 LangChain 생태계 활용
  • 검색 전략 자유 설계

단점:

  • 개발 시간 많음 (2~4주)
  • 유지보수 부담
  • 모든 것 직접 구현 (추출, 검색, 응답 생성)
  • 버그/엣지케이스 직접 처리

적합한 경우:

  • 프로덕션 시스템 + 특수 요구사항
  • 팀 역량 충분 (Python + Neo4j + LLM)
  • 기존 LangChain 인프라 보유

의사결정 플로우차트

에디터 로딩 중...

커스텀 구현 vs 프레임워크: 언제 직접 만들까?

프레임워크를 사용해야 하는 경우

상황추천
프로토타입 / PoC무조건 프레임워크
1~2명 소규모 팀프레임워크
표준적인 GraphRAG 요구사항프레임워크
빠른 시장 출시 필요프레임워크

직접 구현해야 하는 경우

상황이유
특수한 엔티티 추출 로직프레임워크가 지원 안 함
복잡한 검색 파이프라인세밀한 제어 필요
기존 시스템과 깊은 통합프레임워크 제약
성능 최적화 필수프레임워크 오버헤드 제거
팀이 5명+ & 충분한 시간유지보수 인력 확보

하이브리드 접근 (실무 추천)

에디터 로딩 중...

프로덕션 배포 시 고려사항

1. 성능 최적화

에디터 로딩 중...

2. 비용 관리

항목절약 방법
LLM 호출캐싱, 작은 모델 사용 (gpt-4o-mini)
임베딩로컬 모델 (sentence-transformers)
인덱싱증분 업데이트 (전체 재인덱싱 방지)
Neo4j커뮤니티 에디션 (무료) 또는 AuraDB Free

3. 모니터링

에디터 로딩 중...

4. 보안

에디터 로딩 중...
핵심 포인트
  • MS GraphRAG: 빠른 PoC, Global Search, CLI 중심
  • LlamaIndex: Python 통합, 다양한 Extractor/Retriever
  • neo4j-graphrag: Neo4j 공식, 프로덕션 최적화
  • LangChain 직접 구현: 완전한 제어, 프로덕션 적합
  • 실무에서는 프레임워크 시작 → 필요한 부분만 커스텀 (하이브리드)
  • 프로덕션 고려: 성능 캐싱, 비용 관리, 모니터링, 보안