實體比對

使用 LangChain 與 Neo4j 的 Graph RAG

Adam Cowley

Manager, Developer Education at Neo4j

LLM 無狀態

Call #1

列出以下文字中的角色:

{text}
此文字中的角色為:

* Sampson - Capulet 家僕。
* Gregory - Capulet 家僕。
* Abram - Montague 家僕。
* Balthasar - Montague 家僕。

Call #2

列出以下文字中的角色:

{text}
此文字列出的角色為:

* Sampson - Capulet 家僕
* Gregory - Capulet 家僕
* Abram - Montague 家僕
* Benvolio - Montague 家僕
使用 LangChain 與 Neo4j 的 Graph RAG

實體建議

examples = graph.query("""
MATCH (c:Character)-[:BELONGS_TO]->(f:Family)
RETURN c.id AS id, c.name AS name, f.name AS belongsToFamily
""")

for character in example:
    print(character)
{"id": "romeo-montague", "name": "Romeo", "family": "Montague"},

{"id": "juliet-capulet", "name": "Juliet", "family": "Capulet"},
{"id": "sampson", "name": "Sampson", "family": "Capulet"},
...
使用 LangChain 與 Neo4j 的 Graph RAG

實體建議

SystemMessagePromptTemplate.from_template("""
擷取下列實體所對應的資訊。


忽略不在下列清單中的角色:
{examples}
""",
partial_variables={"examples": [ dict(e) for e in examples ]}
)
使用 LangChain 與 Neo4j 的 Graph RAG

以圖形為基礎的實體比對

實體比對範例 1

使用 LangChain 與 Neo4j 的 Graph RAG

以圖形為基礎的實體比對

實體比對範例 2

使用 LangChain 與 Neo4j 的 Graph RAG

以圖形為基礎的實體比對

實體比對範例 3

使用 LangChain 與 Neo4j 的 Graph RAG

以圖形為基礎的實體比對

實體比對範例 4

使用 LangChain 與 Neo4j 的 Graph RAG

以圖形為基礎的實體比對

實體比對範例 5

使用 LangChain 與 Neo4j 的 Graph RAG

找出相似人物

MATCH path = (c:Character {id: "romeo-capulet"})-[r]-(inCommon:Character),

(inCommon)-[r2]-(other:Character)
RETURN c.id AS id, c.name AS name, other.name AS otherName, other.id AS otherId,
c.name = other.name AS shareName,
EXISTS { (c)-[:BELONGS_TO]->(:Family)<-[:BELONGS_TO]-(other) } AS belongToFamily,
count(*) as nodesInCommon,
collect(path) AS paths
ORDER BY nodesInCommon DESC LIMIT 10
使用 LangChain 與 Neo4j 的 Graph RAG

使用相似度關係

一個圖形圖,含兩個人物節點及一條相似關係,兩者皆連到 Line 節點

MATCH (:Character {id: 'romeo-montague'})-[:SIMILAR_TO*0..1]-(character),
  (character)-[:HAS_LINE]->(line),
  (line)-[:SPOKEN_TO]->(target)
RETURN character, line
使用 LangChain 與 Neo4j 的 Graph RAG

一起來練習吧!

使用 LangChain 與 Neo4j 的 Graph RAG

Preparing Video For Download...