축하합니다!

LangChain과 Neo4j로 배우는 Graph RAG

Adam Cowley

Manager, Developer Education at Neo4j

1장

텍스트 벡터 임베딩
He's just a city boy born [0.12, -0.34, 0.56, 0.78, ..., -0.91]
born and raised in South Detroit [0.22, 0.45, -0.67, 0.11, ..., 0.33]
He took the midnight train [-0.55, 0.89, 0.12, -0.44, ..., 0.67]
going anywhere [0.78, -0.23, 0.45, 0.91, ..., -0.12]

‘Don't Stop Believin’’ 가사에 언급된 엔터티의 그래프 다이어그램. 작은 마을 소년이 South Detroit와 BORN, RAISED 관계로 연결됨

LangChain과 Neo4j로 배우는 Graph RAG

1장

노드 다이어그램: Book과 두 개의 WRITTEN_BY 관계로 여러 관계를 가질 수 있음을 보여줌

LangChain과 Neo4j로 배우는 Graph RAG

1장

결과가 프롬프트에 삽입되어 LLM으로 전송할 준비가 됨

LangChain과 Neo4j로 배우는 Graph RAG

2장

문서-페이지-청크 노드로 이어지는 계층 구조 다이어그램

act_splitter = RecursiveCharacterTextSplitter(
    # Split text into acts
    separators=[ r"\n\nTHE PROLOGUE.",  r"\n\nACT",
                 r"\n\n\*\*\* END"],
    is_separator_regex=True
)

scene_splitter = RecursiveCharacterTextSplitter(
    # Split act into scenes
    separators=[r"\nSCENE "],
    is_separator_regex=True
)
LangChain과 Neo4j로 배우는 Graph RAG

2장

노드의 텍스트 속성을 사용해 임베딩을 생성

LangChain과 Neo4j로 배우는 Graph RAG

2장

도메인 그래프 예시: 한 사람이 회사에 근무하고, 주소에 위치함. 그 사람은 신용카드를 보유하며, 같은 위치의 회사에서 해당 카드로 주문함

LangChain과 Neo4j로 배우는 Graph RAG

3장

entity_resolution5.jpg

LangChain과 Neo4j로 배우는 Graph RAG

3장

 

ragas.png

 

  • Context Precision: 검색된 문서에서 관련 청크의 비율
  • Noise Sensitivity: 검색된 문서의 비관련 정보량
LangChain과 Neo4j로 배우는 Graph RAG

3장

LangChain과 Neo4j로 배우는 Graph RAG

graph_academy.png

1 https://graphacademy.neo4j.com/
LangChain과 Neo4j로 배우는 Graph RAG

연습해 봅시다!

LangChain과 Neo4j로 배우는 Graph RAG

Preparing Video For Download...