टेक्स्ट चंक्स बनाना
Romeo and Juliet का टेक्स्ट Acts और Scenes की संरचना वाले एक lexical graph में लोड किया गया है, लेकिन टेक्स्ट अब भी इतना बड़ा है कि उससे अर्थपूर्ण एम्बेडिंग्स (embedding — वेक्टर रूप में निरूपण) बनाना मुश्किल है. Act I, Scene I के टेक्स्ट को हर पंक्ति के लिए छोटे-छोटे चंक्स में बाँटने के लिए कोड पूरा करें.
visualize_graph() फंक्शन ग्राफ डॉक्युमेंट में मौजूद nodes और relationships को दिखाएगा.
यह अभ्यास पाठ्यक्रम का हिस्सा है
LangChain और Neo4j के साथ Graph RAG
अभ्यास निर्देश
- हर
line_nodeकोgraph_documentऑब्जेक्ट में append करें. - प्रत्येक
sceneऔरline_nodeके बीचHAS_LINE, तथाline_nodeऔरcharacterके बीचSPOKEN_BYrelationships बनाएँ और उन्हेंgraph_documentमें जोड़ें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
graph_document = GraphDocument(nodes=[scene], relationships=[])
characters = {}
for i, line in enumerate(lines[20:40]):
character, text = get_character_and_line(line)
line_node = Node(type="Line", id=f"{scene.id}-line-{i}", properties={"raw": line,"character": character, "text": text, "caption": f"{text[:15]}..."})
if character not in characters:
character_node = Node(type="Character", id=character, properties={"name": character})
characters[character] = character_node
graph_document.nodes.append(character_node)
# Add nodes to the array
graph_document.____.append(____)
# Add relationship to the array
graph_document.____.extend(
[Relationship(source=scene, target=line_node, type="____"),
Relationship(source=line_node, target=characters[character], type="SPOKEN_BY")]
)
visualize_graph(graph_document)