LLM - Graph RAG

JunMyung Lee·2025년 6월 3일

LLM

목록 보기
9/10

Linked In에서 Jonas Kim이란 분이 올리신 글을 보고 정리한 내용입니다.
Graph RAG의 모든것에 자세하게 그림과 설명이 있습니다.

Graph RAG란 무엇인가?

기존 RAG의 문제점

기존 RAG는 마치 서로 연결되지 않은 메모조각들을 찾는 것과 같습니다:

  • 키워드나 유사도만으로 정보를 찾음
  • 문서 간의 관계를 놓침
  • 흩어진 정보를 연결해서 보는 능력 부족

Graph RAG의 해결책

Graph RAG는 지식을 거미줄처럼 연결된 네트워크로 만듭니다:

  • 개체(노드)와 관계(엣지)로 지식을 구조화
  • 숨겨진 연결고리를 발견
  • 복잡한 질문에도 정확한 답변 제공

지식 그래프의 구조

기본 구성 요소

[사람: 김철수] ─(근무한다)─> [회사: 삼성전자]
        │
    (거주한다)
        │
        ↓
   [도시: 서울]
  • 노드(Node): 개체 (사람, 장소, 회사 등)
  • 엣지(Edge): 관계 (근무한다, 거주한다 등)
  • 속성(Properties): 추가 정보 (이름, 날짜 등)

관계형 DB vs 그래프 DB

특성관계형 DB그래프 DB
관계 표현외래키로 간접 표현직접적인 관계
복잡한 관계 조회여러 조인 필요 (느림)그래프 탐색 (빠름)
스키마고정된 구조유연한 구조
패턴 발견제한적숨겨진 연결 발견 용이

Graph RAG의 주요 접근법

1. 지식 그래프 + 벡터 검색 통합

질의 → 벡터 검색 + 그래프 탐색 → 관련 정보 수집 → LLM 응답
  • 벡터 검색으로 관련 문서 찾기
  • 그래프로 연결된 추가 정보 발견
  • 더 풍부한 컨텍스트 제공

2. 하이브리드 검색

질의 → [벡터 검색 + 키워드 검색 + 그래프 탐색] → 통합 → LLM 응답
  • 세 가지 검색 방식을 모두 활용
  • 각각의 장점을 최대화

주요 구현 방법들

RAPTOR (스탠포드 대학)

핵심 아이디어: 문서를 트리 구조로 계층화

색인 과정

  1. 문서 분할 → 작은 청크로 나누기
  2. 클러스터링 → 유사한 청크들 그룹화
  3. 요약 생성 → 각 그룹을 요약
  4. 재귀 반복 → 트리 구조 완성
           [전체 문서 요약]
                 │
        ┌────────┼────────┐
   [주제1 요약] [주제2 요약] [주제3 요약]
        │         │         │
    [청크들]   [청크들]   [청크들]

검색 과정

  • 트리 순회: 상위에서 하위로 관련 노드 찾기
  • 축소 트리: 모든 노드를 평면화해서 검색

Microsoft GraphRAG

핵심 아이디어: 커뮤니티 기반 글로벌/로컬 검색

색인 과정

  1. 개체/관계 추출 → LLM으로 중요 정보 뽑아내기
  2. 지식 그래프 구축 → 노드와 엣지로 연결
  3. 커뮤니티 탐지 → 관련된 노드들 그룹화
  4. 커뮤니티 요약 → 각 그룹의 특성 요약

검색 방식들

  • 글로벌 검색: "이 데이터셋의 주요 주제는?"
  • 로컬 검색: "특정 인물에 대한 정보는?"
  • DRIFT 검색: 글로벌 + 로컬 결합

AWS GraphRAG Toolkit

핵심 아이디어: 3계층 구조로 체계적 관리

3계층 구조

  1. 계통 계층: 원본 문서와 청크 관리
  2. 개체-관계 계층: 핵심 개체와 관계
  3. 요약 계층: 주제, 서술, 사실 관리

검색기 종류

  • TraversalBasedRetriever: 그래프 순회 기반
  • SemanticGuidedRetriever: 의미 기반 하이브리드

Graph RAG의 장점

정확성 향상

  • 단순 키워드 매칭을 넘어선 의미 이해
  • 문맥을 고려한 정확한 정보 검색

설명 가능성

  • 답변의 근거와 출처를 명확히 추적
  • 그래프 링크를 따라 논리적 흐름 파악

복잡한 추론 지원

  • 여러 단계의 연쇄 추론 가능
  • "A와 B의 공통점은?" 같은 복합 질문 처리

확장성

  • 새로운 정보를 쉽게 그래프에 추가
  • LLM 파라미터 증가보다 비용 효율적

🛠️ 구현 시 고려사항

데이터베이스 선택

  • Neo4j: 프로퍼티 그래프, Cypher 언어
  • Amazon Neptune: AWS 관리형, 다중 모델 지원
  • FalkorDB: Redis 기반 그래프 DB

질의 언어

  • Cypher: 직관적인 시각적 패턴
  • SPARQL: RDF 표준, 데이터셋 간 통합
  • Gremlin: 함수형 그래프 순회

성능 최적화

  • 배치 처리로 대용량 데이터 효율적 처리
  • 체크포인트로 중단점 관리
  • 캐싱으로 중복 연산 방지

실제 활용 사례

연구 분야

  • 논문 간 인용 관계 분석
  • 연구 주제별 트렌드 파악

기업 환경

  • 고객 지원: 제품 간 연관성 파악
  • 지식 관리: 부서 간 정보 연결

의료/법률

  • 증상-질병-치료법 연관 관계
  • 판례 간 유사성과 차이점 분석

발전 방향

현재 과제

  • 그래프 구축 과정의 효율성 개선
  • 실시간 업데이트 지원
  • 다양한 데이터 타입 통합

미래 전망

  • 멀티모달 데이터 (텍스트, 이미지, 음성) 통합
  • 자동화된 그래프 품질 관리
  • 도메인별 특화된 그래프 모델

핵심 요약

Graph RAG는 단순히 문서를 찾는 것이 아니라, 지식 간의 연결을 이해하고 활용하는 혁신적 접근법입니다.

언제 사용할까요?

  • 복잡한 질문에 대한 정확한 답변이 필요할 때
  • 문서 간 연관성이 중요한 업무 환경
  • 설명 가능한 AI가 필요한 전문 분야

핵심 성공 요소

  1. 질 좋은 개체/관계 추출
  2. 적절한 그래프 구조 설계
  3. 효율적인 검색 알고리즘
  4. 도메인에 맞는 튜닝

Graph RAG는 AI가 단순히 정보를 찾는 것을 넘어, 지식을 연결하고 추론하는 새로운 가능성을 열어줍니다.

profile
11년차 검색개발자 입니다. 여러 지식과 함께 실제 서비스를 운영 하면서 발생한 이슈에 대해서 정리하고 공유하고자 합니다.

0개의 댓글