CommencezCommencez gratuitement

Utiliser les entités extraites

La section Dramatis Personæ du texte décrit les personnages de la pièce et peut être considérée comme une source de référence complète. Elle contient aussi des renseignements précieux sur les relations personnelles entre les personnages.

 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.

Complétez le code pour extraire les personnages à partir du texte personae en utilisant character_chain, puis utilisez la liste des personnages pour construire une liste de relations à partir du texte avec relationship_chain.

La fonction visualize_families() affichera les relations obtenues dans un graphe.

Cette activité fait partie du cours

Graph RAG avec LangChain et Neo4j

Voir le cours

Instructions de l’exercice

  • Appelez character_chain en lui transmettant personae afin d'extraire les entités de type personnage.
  • Appelez relationship_chain en lui passant le nom du personnage, personae, et les personnages extraits au format JSON (character_json) pour extraire les relations entre les trois personnages indiqués et ceux listés dans personae.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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)
Modifier et exécuter le code