GraphRAG 프로세스 — 인덱싱과 쿼리(Global·Local·DRIFT)

GraphRAG 프로세스

GraphRAG은 '인덱스(Index)'와 '쿼리(Query)' 두 단계로 나뉘어 동작해요. 이 구조를 이해하면 여러분의 데이터를 그래프로 만들고, 질의 방식에 맞는 검색 모드를 고르는 흐름이 머릿속에 잡혀요.

출처: https://microsoft.github.io/graphrag/query/overview/

인덱스 단계

먼저 입력 코퍼스를 잘게 쪼개 TextUnit을 만들고, 여기서 엔티티·관계·주요 주장을 추출해요. 이어서 Leiden 기법으로 그래프를 계층 클러스터링하고, 각 커뮤니티와 그 구성원을 요약해요. 커뮤니티 요약은 데이터셋 전체를 관통하는 이해를 만드는 바탕이 돼요.

쿼리 단계 — 네 가지 검색 모드

질의 시점에는 아래 구조물을 LLM 컨텍스트로 넣어 답을 만들어요.

  • Global Search — 커뮤니티 요약을 활용해 '코퍼스 전체에 대한 포괄적 질문'에 답할 때 사용해요.
  • Local Search — 특정 엔티티에 대해, 이웃과 연관 개념으로 확장하며 답할 때 사용해요.
  • DRIFT Search — Local과 유사하되 커뮤니티 정보를 추가 컨텍스트로 더하는 방식이에요.
  • Basic Search — 표준 상위 k개 벡터 검색으로 충분한 경우 Baseline RAG를 쓰는 모드예요.

프롬프트 튜닝 참고

기본 설정 그대로도 동작하지만, 최상의 결과를 원한다면 공식 'Prompt Tuning Guide'를 따라 프롬프트를 미세 조정하는 걸 권장해요. 버전 업그레이드 시엔 항상 graphrag init --root [path] --force로 최신 설정을 유지하세요.

더 알아보기