Aan de slagBegin gratis

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

Bekijk cursus

Oefeninstructies

  • Roep character_chain aan en geef personae door om de personage-entiteiten te extraheren.
  • Roep relationship_chain aan 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 in personae.

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)
Code bewerken en uitvoeren