GraphRAG — 텍스트를 지식그래프로 변환하기 (txt2kg)

FastCampus “GraphRAG의 모든 것” Part02 Ch02 실습 — 위키백과 텍스트를 LLM으로 지식그래프로 변환하는 방법.

강의 정보

  • 강의: GraphRAG의 모든 것 (공원나연)
  • Part: Part02. 지식그래프 구축 실전
  • Chapter: Ch02. 지식그래프 구축하기
  • Clip: 01. 실습 — 텍스트를 지식그래프로 변환하기

지식그래프 구축을 위한 2가지 접근 방식

1) Neo4j GraphRAG의 KG Builder 모듈 (하이레벨)

Neo4j에서 제공하는 neo4j-graphrag 패키지의 KG Builder 모듈을 사용하면 간단하게 지식그래프를 구축할 수 있다:

from neo4j_graphrag.experimental.pipeline.kg_builder import SimpleKGPipeline
 
kg_builder = SimpleKGPipeline(
    llm=llm,                # LLMInterface for Entity and Relation extraction
    driver=neo4j_driver,    # Neo4j driver to write results to graph
    embedder=embedder,      # Embedder for chunks
    from_pdf=True,          # set to False if parsing an already extracted text
)
await kg_builder.run_async(file_path=str(file_path))
# await kg_builder.run_async(text="my text")  # if using from_pdf=False

2) 직접 LLM 프롬프트 구현 (로우레벨 파이프라인)

엔티티/관계 추출을 위한 프롬프트를 직접 구현하는 방식:

텍스트 청킹 → LLM 사용한 엔티티 및 관계 추출 → 결과 파싱 → Neo4j 저장 → 중복 병합
  • 엔티티/관계 추출을 위한 프롬프트 구조 이해
  • 관계 방향성(피동형/능동형) 처리 로직 학습
  • JSON 출력 형식 정의 및 파싱 경험

실습 환경

  • Python 3.13
  • 패키지 관리: uv 사용 (권장)
  • Neo4j 데이터베이스 필요
  • OpenAI API 키 필요

참고자료