Graph RAG dengan LangChain dan Neo4j
Adam Cowley
Manager, Developer Education at Neo4j
20 tahun pengalaman pengembangan perangkat lunak
10 tahun pengalaman Neo4j




Apa pendapat Paul Graham tentang Generative AI?
Berapa banyak startup Generative AI yang diinvestasi Paul Graham?
| Teks | Vektor Embedding |
|---|---|
| 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] |

| Teks | Vektor Embedding |
|---|---|
| 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] |

| Teks | Vektor Embedding |
|---|---|
| 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] |

langchain-neo4j
from langchain_neo4j.graphs.graph_document \ import Nodebook = Node(type="Book",id=f"9781098127107",properties={ "title": "Building Knowledge Graphs" })

from langchain_neo4j.graphs.graph_document \
import Node, Relationship
book = Node(type="Book", id=f"9781098127107")
jesus = Node(type="Person", id="dr-jesus-barrasa")
jim = Node(type="Person", id="chief-scientist")
for author in [jesus, jim]: relationship = Relationship()

from langchain_neo4j.graphs.graph_document \
import Node, Relationship
book = Node(type="Book", id=f"9781098127107")
jesus = Node(type="Person", id="dr-jesus-barrasa")
jim = Node(type="Person", id="chief-scientist")
for author in [jesus, jim]: relationship = Relationship(source=book,)

from langchain_neo4j.graphs.graph_document \
import Node, Relationship
book = Node(type="Book", id=f"9781098127107")
jesus = Node(type="Person", id="dr-jesus-barrasa")
jim = Node(type="Person", id="chief-scientist")
for author in [jesus, jim]: relationship = Relationship(source=book,target=author,)

from langchain_neo4j.graphs.graph_document \
import Node, Relationship
book = Node(type="Book", id=f"9781098127107")
jesus = Node(type="Person", id="dr-jesus-barrasa")
jim = Node(type="Person", id="chief-scientist")
for author in [jesus, jim]: relationship = Relationship(source=book,target=author,type="WRITTEN_BY"properties=dict(...))

from langchain_neo4j import Neo4jGraphgraph = Neo4jGraph( url=NEO4J_URI, username=NEO4J_USERNAME, password=NEO4J_PASSWORD )
from langchain_neo4j.graphs.graph_document import GraphDocument# Wrapper untuk Nodes dan Relationships doc = GraphDocument(nodes=[book, jesus, jim],relationships=[jesus_wrote_book, jim_wrote_book])# Simpan node dan relasi ke database graph.add_graph_documents([graph_document])


Graph RAG dengan LangChain dan Neo4j