Gëxtraheerde entiteiten gebruiken
De sectie Dramatis Personæ van de tekst beschrijft de personages in het stuk en kan worden gezien als een gezaghebbende bron. Deze informatie bevat ook veel details over de persoonlijke relaties tussen de personages.
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.
Maak de code af om de personages uit de personae-tekst te halen met character_chain, en gebruik vervolgens de lijst met personages om met relationship_chain een lijst met relaties uit de tekst op te bouwen.
De functie visualize_families() toont de gevonden relaties in een graaf.
Deze oefening maakt deel uit van de cursus
Graph RAG met LangChain en Neo4j
Oefeninstructies
- Roep
character_chainaan en geefpersonaedoor om de personage-entiteiten te extraheren. - Roep
relationship_chainaan op de personagenaam,personae, en de geëxtraheerde personages in JSON-indeling (character_json) om de relaties te extraheren tussen de drie genoemde personages en de personages inpersonae.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# 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)