단순히 Knowledge Graph를 생성하는 것을 넘어, 그래프 분석 알고리즘을 통해 정보들 간의 '커뮤니티(밀집된 주제 군집)' 를 자동으로 식별하는 고도화된 Graph RAG 기법
- 작동방식
- 그래프 생성: LLM이 텍스트에서 개체와 관계를 추출하여 기본 Knowledge Graph를 구축
- 커뮤니티 탐지: 그래프 이론 알고리즘을 적용하여, 그래프 내에서 서로 밀접하게 연결된 노드들의 클러스터(커뮤니티)를 찾아냄
- 커뮤니티 요약: LLM을 이용해 탐지된 각 커뮤니티가 어떤 주제에 대한 것인지 설명하는 고수준의 요약을 생성합니다. 이 요약 정보도 인덱싱
- 계층적 검색:
- Local 질문: 특정 개체에 대한 질문은 지식 그래프의 해당 노드 주변을 직접 탐색
- Global 질문: 문서 전체에 대한 질문은 먼저 '커뮤니티 요약'을 검색하여 가장 관련 있는 주제 군집을 찾고, 그 내용을 바탕으로 종합적인 답변을 생성
- 장점
- 글로벌 이해 능력: 문서 전체를 요약하거나 여러 부분에 흩어진 정보를 종합해야 하는 광범위한 질문에 매우 효과적
- 효율적인 검색: 'Global' 질문 시 전체 그래프가 아닌, 훨씬 작고 요약된 '커뮤니티 요약'을 먼저 검색하므로 빠르고 효율적
- 자동화된 인사이트 도출: 데이터 내에 숨겨진 주제 클러스터를 자동으로 발견하고 요약해주므로, 인간 분석가처럼 데이터의 핵심을 파악 가능
- 구현
- Microsoft의
graphrag라이브러리와 CLI 도구를 사용하여 전체 프로세스를 자동화 - 인덱싱 단계: 단일 CLI 명령어(
graphrag.index)를 실행하여 텍스트로부터 그래프 생성, 커뮤니티 탐지, 커뮤니티 요약에 이르는 전체 과정을 한 번에 처리. 사용자는 이 과정의 복잡한 내부 로직을 직접 구현할 필요 X - 질의 단계: 또 다른 CLI 명령어(
graphrag.query)를 통해 검색을 수행하며, 이때 'local' 또는 'global' 옵션을 지정하여 질문의 성격에 맞는 최적의 검색 전략(그래프 직접 탐색 vs. 커뮤니티 요약 탐색)을 선택.
- Microsoft의