콘텐츠로 이동

Ch 14. 캡스톤 — 도메인 지식 그래프 + GraphRAG 파이프라인

이 챕터에서 만드는 것

  • Part 1~5의 모든 조각을 하나로 묶은 엔드투엔드 파이프라인
  • 온톨로지 설계 → 그래프 구축 → GraphRAG 인덱싱 → 라우팅 검색 → 평가
  • 내 도메인 하나를 골라 끝까지 굴려보는 단계별 체크리스트

전제

Part 1~5 전체. 이 챕터는 새 개념이 아니라 통합이다.


1. 목표 — 한 도메인을 끝까지

지금까지 조각을 따로 배웠다. 캡스톤은 그걸 하나의 도메인에 묶는다. 도메인은 작고 구체적인 게 좋다 — 사내 위키, 제품 문서 묶음, 특정 분야 논문 50편 같은. "벡터 RAG로는 멀티홉·전역 질문이 안 풀리던" 바로 그 코퍼스면 이상적이다.

2. 파이프라인 — 5단계

캡스톤 — 도메인 KG + GraphRAG 파이프라인 5단계 캡스톤 — 도메인 KG + GraphRAG 파이프라인 5단계

전체 그림은 이 코스를 그대로 따라간다.

① 온톨로지 설계        (Part 2)  컴피턴시 질문 → 핵심 개념·관계
② 그래프 구축          (Part 3)  DB 스키마 + LLM 텍스트 추출 → Neo4j
③ GraphRAG 인덱싱      (Part 4)  커뮤니티 탐지 → 커뮤니티 요약
④ 라우팅 검색          (Part 4)  질문 분류 → 벡터 / 로컬 / 글로벌
⑤ 평가 & 운영          (Part 5)  검색·답변 평가, 증분 갱신

3. 단계별 체크리스트

① 온톨로지 (Ch 4)

  • 컴피턴시 질문 10~20개를 적었다(실제 트래픽 반영).
  • 핵심 개념 5~10개, 관계 타입 목록을 정했다.
  • 과설계하지 않았다 — 질문이 요구하는 것만.

② 그래프 구축 (Ch 5~Ch 8)

  • 정형 데이터가 있으면 DB 스키마에서 뼈대를 추출했다.
  • 비정형 텍스트는 온톨로지를 가드레일로 LLM 추출했다.
  • 엔티티 해소로 중복 노드를 합쳤다(확실한 것만 자동, 나머지 검수).
  • 변하는 사실엔 시점을 매달았다(필요한 경우).

③ 인덱싱 (Ch 9)

  • 커뮤니티 탐지를 돌렸다.
  • 커뮤니티별 요약을 생성했다(전역 질문이 있다면 필수).

④ 검색 (Ch 10~Ch 11)

  • 질문을 factual/multihop/global로 분류하는 라우터를 붙였다.
  • 로컬 검색은 그래프 사실 + 원문 청크를 함께 준다.
  • 단순 사실은 싼 벡터 RAG로 보낸다.

⑤ 평가 & 운영 (Ch 12~Ch 13)

  • 검색·답변 두 층으로 평가 셋을 만들었다.
  • 벡터 RAG 베이스라인과 비교해 GraphRAG의 값이 나오는 질문을 확인했다.
  • 증분 갱신 경로를 세웠다(전체 재인덱싱 아님).

4. 무엇을 들고 나가는가

이 파이프라인을 한 번 끝까지 굴려보면, 처음 질문으로 돌아가게 된다 — "이 도메인에 GraphRAG가 정말 필요한가?" 그 답은 코퍼스와 질문 분포가 정한다. 단순 사실 질문만 많으면 벡터 RAG로 충분하고, 멀티홉·전역이 핵심이면 그래프의 값이 산다. 캡스톤의 진짜 산출물은 "잘 도는 GraphRAG"만이 아니라, 언제 그래프를 써야 하는지에 대한 직접 검증된 판단이다.

5. 확장 방향

  • 하이브리드 심화 — 벡터 진입 + 그래프 확장을 한 질문 안에서 정교하게.
  • 에이전트 메모리Ch 8의 시간 인식 그래프를 에이전트의 장기 기억으로.
  • 온톨로지 진화 — 새 질문 유형이 생길 때마다 온톨로지를 키우는 루프.

마치며

벡터 RAG가 "비슷한 것"만 안다면, 지식 그래프는 "어떻게 연결되는가"를 안다. GraphRAG는 그 연결을 검색 가능하게 만들고, 그 값은 멀티홉·전역 질문에서 산다. 하지만 공짜가 아니니 — 질문에 맞게 라우팅하고, 비용을 관리하고, 평가로 검증하는 것까지가 한 세트다.

관련 가이드: 온톨로지 & 지식 그래프 · RAG 완전 가이드 · AI Eval