AI VIDEO BRIEFING

그래프 RAG 완전 이해 - 지식 그래프, Cypher 쿼리, 벡터 RAG와의 차이

LLM으로 지식 그래프를 만들고 Cypher로 질의하는 그래프 RAG의 원리와 구축 과정, 그리고 벡터 RAG와의 차이를 IBM 기술 강의를 바탕으로 정리했다.

그래프 RAG란 무엇인가: 지식 그래프와 Cypher로 LLM 검색을 확장하다 영상 대표 이미지

핵심 메시지

  • 그래프 RAG는 벡터 검색의 강력한 대안으로, 벡터 DB 대신 그래프 DB에 지식 그래프 형태로 데이터를 저장한다.
  • 지식 그래프에서는 노드(개체)만큼 엣지(관계)가 중요하며, 복잡한 연결에 더 깊은 맥락을 제공한다.
  • LLM이 비정형 텍스트에서 개체와 관계를 뽑아 정형 데이터로 바꾸고, 이를 그래프에 채운다.
  • 사용자의 자연어 질문은 LLM이 Cypher 쿼리로 변환해 그래프 DB에서 실행하고, 결과를 다시 자연어로 해석한다.
  • 그래프 RAG는 커뮤니티 요약을 담은 그래프 인덱스로 전체 코퍼스를 아우르는 요약을 낼 수 있어, 상위 결과에 한정되는 벡터 RAG의 한계를 보완한다.

쉽게 이해하기

그래프 RAG(Graph Retrieval Augmented Generation)는 벡터 검색 방식의 대안으로 주목받는 기법이다. 벡터 데이터베이스에 임베딩을 저장하는 대신, 그래프 데이터베이스에 지식 그래프 형태로 데이터를 담는다. 지식 그래프에서는 데이터 포인트를 잇는 엣지(관계)가 노드(개체)만큼 중요하며, 이런 구조적 특성 덕분에 네트워크나 복잡한 관계에 대해 더 풍부한 맥락을 검색 결과에 담을 수 있다.

시스템 구축의 첫 단계는 지식 그래프를 만들고 데이터를 채우는 것이다. LLM의 강력한 활용처 중 하나가 바로 비정형 텍스트를 정형 데이터로 바꾸는 일이다. LLM은 입력 텍스트에서 개체와 관계를 추출해 노드·관계 구조로 변환하고, 이를 그래프에 삽입한다. 강의에서는 오픈소스 그래프 DB인 Neo4j를 Podman 같은 컨테이너 도구로 로컬에 띄우고, Langchain의 LLM 그래프 변환기와 IBM watsonx.ai를 사용한다.

정확도를 높이기 위해 몇 가지 장치를 둔다. 그래프 생성용 LLM은 온도를 낮추고 토큰 수를 높여, 존재하지 않는 개체나 관계를 지어내지 않으면서 세부 정보를 최대한 뽑게 한다. 또 허용할 노드 유형(사람·직함·그룹)과 관계 유형을 미리 지정해 LLM을 제한하면 지식이 더 잘 표현된다. 생성된 그래프 문서는 노드와 관계가 제대로 만들어졌는지 검사할 수 있고, 브라우저로 시각화해 구조를 검증한다.

질의 단계에서는 그래프 DB의 쿼리 언어인 Cypher를 쓴다. 관계형 DB의 SQL과 비슷하지만, 테이블이 아니라 그래프의 노드·관계·경로를 대상으로 동작한다. 사용자가 자연어로 물으면 LLM이 이를 Cypher 쿼리로 만들고, 그 쿼리가 DB에서 실행된 결과가 다시 LLM으로 돌아와 자연어 답변으로 해석된다. 이를 위해 두 개의 프롬프트를 쓰는데, 하나는 예시(퓨샷)를 주어 정확하고 간결한 Cypher를 만들게 하고, 다른 하나(QA 프롬프트)는 쿼리 결과를 원래 질문 맥락에 맞춰 자연어로 바꾸게 한다.

예시에서는 '존의 직함은?', '존은 누구와 협업하나?', '제인은 어느 그룹에 속하나?' 같은 질문에 대해 LLM이 올바른 Cypher를 생성하고 정확한 답을 돌려주며, 두 명의 협업자를 모두 찾아내는 더 어려운 질문도 처리한다. 벡터 RAG와의 차이는 두 가지다. 첫째, 임베딩을 계산·저장하는 대신 텍스트를 정형화해 지식 그래프에 채운다. 둘째, 의미 유사도 검색 대신 Cypher 쿼리로 검색한다. 특히 벡터 RAG가 상위 유사 결과에 한정되는 데 비해, 그래프 RAG는 유사 노드 그룹의 요약을 담은 그래프 인덱스로 전체 코퍼스에 대한 요약을 한 번의 쿼리로 낼 수 있다. 실무에서는 두 방식을 함께 쓰는 하이브리드 RAG도 가능하다.

주요 인사이트

  • LLM이 없다면 지식 그래프 구축은 비정형 텍스트에서 개체·관계를 일일이 도식화하는 수작업이 된다.
  • 허용 노드·관계 유형을 지정하면 LLM이 엉뚱한 개체를 만들지 않고 지식을 더 정확히 표현한다.
  • 그래프 생성용과 검색용 LLM은 매개변수가 달라, 검색 단계에서는 온도 0과 길이 페널티로 짧고 정확한 Cypher를 유도한다.
  • 지나치게 말이 많은 LLM은 잘못된 Cypher를 만들 수 있어, 출력을 쿼리 결과로만 제한하는 접두사가 도움이 된다.
  • 그래프 RAG의 핵심 강점은 개별 관계 추출을 넘어 그래프 전체 구조에 걸친 맥락 요약이 가능하다는 점이다.

자주 묻는 질문

그래프 RAG와 벡터 RAG의 핵심 차이는 무엇인가요?

벡터 RAG는 텍스트를 임베딩으로 저장하고 의미 유사도로 검색하지만, 그래프 RAG는 LLM이 텍스트를 개체·관계의 지식 그래프로 정형화해 저장하고 Cypher 쿼리로 검색합니다. 그래프 RAG는 전체 코퍼스에 대한 요약도 한 번의 쿼리로 낼 수 있습니다.

Cypher는 무엇인가요?

Cypher는 그래프 데이터베이스의 쿼리 언어로, 관계형 DB에서 SQL이 하는 역할과 비슷합니다. 다만 테이블이 아니라 그래프의 노드·관계·경로를 대상으로 동작합니다.

지식 그래프를 만들 때 LLM의 환각을 어떻게 줄이나요?

온도를 낮추고 토큰 수를 높여 없는 개체를 지어내지 않게 하고, 허용할 노드·관계 유형을 미리 지정해 LLM의 출력을 제한합니다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식