Çıkarılan varlıkları kullanma
Metindeki Dramatis Personæ bölümü oyundaki karakterleri açıklar ve güvenilir bir başvuru kaynağı olarak kabul edilebilir. Bu bölüm, karakterler arasındaki kişisel ilişkiler hakkında da zengin bilgiler içerir.
Dramatis Personæ
ESCALUS, Verona Prensi.
MERCUTIO, Prens'in akrabası ve Romeo'nun arkadaşı.
PARIS, genç bir soylu, Prens'in akrabası.
Paris'in uşağı.
character_chain kullanarak personae metninden karakterleri çıkarmak ve ardından karakterlerin listesini kullanarak relationship_chain ile metinden ilişkilerin bir listesini oluşturmak için kodu tamamla.
visualize_families() fonksiyonu, ortaya çıkan ilişkileri bir grafikte gösterecek.
Bu egzersiz, kursun bir parçasıdır
LangChain ve Neo4j ile Graph RAG
Egzersiz talimatları
- Karakter varlıklarını çıkarmak için
personaeparametresini geçerekcharacter_chain'i çağır. - Listelenen üç karakter ile
personaeiçinde listelenen karakterler arasındaki ilişkileri çıkarmak için karakter adı,personaeve JSON formatındaki çıkarılmış karakterler (character_json) ilerelationship_chain'i çağır.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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)