Använda extraherade entiteter
Avsnittet Dramatis Personæ i texten beskriver pjäsens karaktärer och kan ses som en fullständig källa för sanningen. Informationen innehåller också rika detaljer om de personliga relationerna mellan karaktärerna.
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.
Komplettera koden för att extrahera karaktärerna från texten personae med hjälp av character_chain, och använd sedan listan med karaktärer för att bygga en lista med relationer från texten med relationship_chain.
Funktionen visualize_families() visar de resulterande relationerna i en graf.
Den här övningen är en del av kursen
Graph RAG med LangChain och Neo4j
Övningsinstruktioner
- Anropa
character_chainoch skicka inpersonaeför att extrahera karaktärsentiteterna. - Anropa
relationship_chainmed karaktärens namn,personaeoch de extraherade karaktärerna i JSON-format (character_json) för att extrahera relationerna mellan de tre listade karaktärerna och de karaktärer som finns ipersonae.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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)