การสร้าง Lexical Graph แบบลำดับชั้น
คุณอาจสังเกตเห็นว่าผลลัพธ์ก่อนหน้านี้มีข้อมูลมากกว่าแค่ acts เพียงอย่างเดียว การดึงข้อมูลออกมาเป็น knowledge graph มักเป็นกระบวนการที่ต้องทำซ้ำหลายรอบ ผลลัพธ์จาก text splitter มักต้องผ่านการตรวจสอบและกรองข้อมูลเพิ่มเติมก่อนที่จะสร้าง nodes และ relationships
ในแบบฝึกหัดนี้ จะกรองข้อมูลที่ไม่ต้องการออก แล้วนำข้อมูลที่เหลือมาสร้าง Act nodes ที่เชื่อมต่อกับ Play node
ตัวแปร play_node ซึ่งเก็บ Node object สำหรับ play และตัวแปร graph_document สำหรับเก็บ nodes และ relationships ใหม่ที่จะสร้าง ได้ถูกเตรียมไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Graph RAG ด้วย LangChain และ Neo4j
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
acts = act_splitter.split_text(romeo_and_juliet)
for i, act in enumerate(acts):
lines = act.strip().split("\n")
# Only include text relating to an act
if lines[0].startswith(____):
print(i, act.strip().split("\n")[0])