GraphRAG 프로세스 — 인덱싱과 쿼리(Global·Local·DRIFT)
GraphRAG 프로세스
GraphRAG은 '인덱스(Index)'와 '쿼리(Query)' 두 단계로 나뉘어 동작해요. 이 구조를 이해하면 여러분의 데이터를 그래프로 만들고, 질의 방식에 맞는 검색 모드를 고르는 흐름이 머릿속에 잡혀요.
인덱스 단계
먼저 입력 코퍼스를 잘게 쪼개 TextUnit을 만들고, 여기서 엔티티·관계·주요 주장을 추출해요. 이어서 Leiden 기법으로 그래프를 계층 클러스터링하고, 각 커뮤니티와 그 구성원을 요약해요. 커뮤니티 요약은 데이터셋 전체를 관통하는 이해를 만드는 바탕이 돼요.
쿼리 단계 — 네 가지 검색 모드
질의 시점에는 아래 구조물을 LLM 컨텍스트로 넣어 답을 만들어요.
- Global Search — 커뮤니티 요약을 활용해 '코퍼스 전체에 대한 포괄적 질문'에 답할 때 사용해요.
- Local Search — 특정 엔티티에 대해, 이웃과 연관 개념으로 확장하며 답할 때 사용해요.
- DRIFT Search — Local과 유사하되 커뮤니티 정보를 추가 컨텍스트로 더하는 방식이에요.
- Basic Search — 표준 상위 k개 벡터 검색으로 충분한 경우 Baseline RAG를 쓰는 모드예요.
프롬프트 튜닝 참고
기본 설정 그대로도 동작하지만, 최상의 결과를 원한다면 공식 'Prompt Tuning Guide'를 따라 프롬프트를 미세 조정하는 걸 권장해요. 버전 업그레이드 시엔 항상 graphrag init --root [path] --force로 최신 설정을 유지하세요.