Sử dụng thực thể đã trích xuất
Phần Dramatis Personæ mô tả các nhân vật trong vở kịch và có thể xem là nguồn sự thật toàn diện. Thông tin này cũng chứa nhiều dữ liệu về các mối quan hệ cá nhân giữa các nhân vật.
Dramatis Personæ
ESCALUS, Prince of Verona.
MERCUTIO, kinsman to the Prince, and friend to Romeo.
PARIS, a young Nobleman, kinsman to the Prince.
Page to Paris.
Hoàn thiện mã để trích xuất các nhân vật từ văn bản personae bằng character_chain, sau đó dùng danh sách nhân vật để xây dựng danh sách các mối quan hệ từ văn bản bằng relationship_chain.
Hàm visualize_families() sẽ hiển thị các mối quan hệ thu được trên một đồ thị.
Bài tập này là một phần của khóa học
Graph RAG với LangChain và Neo4j
Hướng dẫn bài tập
- Gọi
character_chain, truyền vàopersonaeđể trích xuất các thực thể nhân vật. - Gọi
relationship_chainvới tên nhân vật,personae, và danh sách nhân vật đã trích xuất ở dạng JSON (character_json) để trích xuất các mối quan hệ giữa ba nhân vật đã liệt kê và các nhân vật có trongpersonae.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Extract characters from the personae variable
output = character_chain.____({"personae": ____})
character_json = dumps([dict(character) for character in output.characters])
# Extract the relationships
for character_name in ["Romeo", "Juliet", "Friar Lawrence"]:
relationship_output = relationship_chain.invoke({
"character_name": character_name,
"personae": ____,
"characters": ____
})
for relationship in relationship_output.relationships:
all_relationships.append(relationship)
visualize_families(all_relationships, output)