恭喜您!

使用 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 believing 中提到的实体关系:小镇男孩与 South Detroit 的 BORN 与 RAISED 关系

使用 LangChain 和 Neo4j 的 Graph RAG

第 1 章

节点图:包含 Book 以及两个指向作者的 WRITTEN_BY 关系,展示节点可拥有多种关系。

使用 LangChain 和 Neo4j 的 Graph RAG

第 1 章

将结果注入提示中,准备发送给 LLM

使用 LangChain 和 Neo4j 的 Graph RAG

第 2 章

层级图:一个文档,与多页的一对多关系;每页关联多个 chunk 节点

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...