728x90
반응형

Knowledge Graph는 실제 엔터티와 그 관계를 체계적으로 표현한 것이에요. 엔터티, 해당 속성 및 관계를 나타내는 구조화된 방법을 제공해서 정보에 대한 포괄적이고 상호 연결된 이해를 가능하게 하죠.

구조화되지 않은 데이터에서 Knowledge Graph를 만드는 건 데이터 쿼리, 정리 및 변환의 여러 단계를 포함해서 복잡할 수 있어요. 하지만 LLM의 텍스트 분석 기능을 사용하면 Knowledge Graph 생성을 자동화할 수 있다는 사실! 정말 흥미롭죠?

The Python용 Neo4j GraphRAG(neo4j_graphrag) 패키지는 비정형 데이터와 정형 데이터를 변환하는 데 도움이 되는 Knowledge Graph 빌더를 포함하고 있답니다.

Knowledge Graph 빌더

The SimpleKG파이프라인 클래스는 구조화되지 않은 데이터에서 Knowledge Graph를 생성하기 위한 일련의 단계를 구현하는 파이프라인을 제공해요.

  1. 텍스트를 여러 덩어리로 분할
  2. 각 청크에 대한 Vector Embedding 생성
  3. LLM을 사용해서 청크에서 항목을 추출
  4. Neo4j 데이터베이스에 데이터 쓰기

예를 들어 Neo4j Wikipedia 페이지를 Neo4j 조직과 데이터베이스를 나타내는 그래프로 바꿀 수 있어요.

The SimpleKG파이프라인 문서를 Knowledge Graph로 변환하려면 Neo4j 연결, 임베딩 모델 및 LLM만 있으면 돼요.

import os
from dotenv import load_dotenv
load_dotenv()

import asyncio

from neo4j import GraphDatabase
from neo4j_graphrag.llm import OpenAILLM
from neo4j_graphrag.embeddings import OpenAIEmbeddings
from neo4j_graphrag.experimental.pipeline.kg_builder import SimpleKGPipeline

neo4j_driver = GraphDatabase.driver(
    os.getenv("NEO4J_URI"),
    auth=(os.getenv("NEO4J_USERNAME"), os.getenv("NEO4J_PASSWORD"))
)
neo4j_driver.verify_connectivity()

llm = OpenAILLM(
    model_name="gpt-4o",
    model_params={
        "temperature": 0,
        "response_format": {"type": "json_object"},
    }
)

embedder = OpenAIEmbeddings(
    model="text-embedding-ada-002"
)

kg_builder = SimpleKGPipeline(
    llm=llm,
    driver=neo4j_driver, 
    neo4j_database=os.getenv("NEO4J_DATABASE"), 
    embedder=embedder, 
    from_pdf=True,
)

pdf_file = ".my_document.pdf"
result = asyncio.run(kg_builder.run_async(file_path=pdf_file))
print(result.result)

새로운 환경에서 SimpleKGBuilder를 사용하고 사용자 정의하는 방법을 배울 수 있는 그래프아카데미 강의도 있어요: Python용 Neo4j GraphRAG를 사용하여 Knowledge Graph 구축.

또한 다음 방법들을 배우게 될 거예요.

  • 텍스트 분할기를 만들고 청크 정의하기
  • 맞춤 데이터 로더 구현하기
  • 필요한 데이터를 추출할 수 있도록 어휘(구조화되지 않은) 그래프의 스키마를 정의하기
  • 구조화되지 않은 데이터와 함께 구조화된 데이터를 추가하기
  • 만들기 GraphRAG Knowledge Graph에 액세스하기 위한 파이프라인 및 검색기

요약

Knowledge Graph는 데이터를 구성하고 이해하는 데 도움을 주죠. GraphAcademy에서 만드는 방법을 알아볼까요? Python용 Neo4j GraphRAG를 사용하여 Knowledge Graph 구축 강의가 준비되어 있어요.

At Neo4j 그래프아카데미에서는 Neo4j 기초부터 Python을 사용하여 Neo4j 지원 Chatbot 구축까지, 다양한 무료 강좌를 제공하고 있어요. GraphAcademy를 방문해서 이용 가능한 강좌를 확인해 보세요!


  • GraphRAG

에이치시스템즈LogTree는 Neo4j 기반 GraphRAG 플랫폼으로, 데이터를 자동으로 지식그래프화하고 자연어 질의로 즉시 답을 제공합니다.

👉 에이치시스템즈 홈페이지

728x90
반응형

+ Recent posts