CommencerCommencez 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 vérité complète. Elle contient aussi de précieuses informations sur les relations entre les personnages.

 Dramatis Personæ

ESCALUS, Prince de Vérone.
MERCUTIO, parent du Prince, et ami de Roméo.
PARIS, jeune noble, parent du Prince.
Page de Paris.

Complétez le code pour extraire les personnages du texte personae à l’aide de character_chain, puis utilisez cette liste de personnages pour construire une liste de relations à partir du texte avec relationship_chain.

La fonction visualize_families() affichera les relations obtenues sous forme de graphe.

Cet exercice fait partie du cours

<cours>Graph RAG avec LangChain et Neo4j</cours>
Voir le cours

Instructions de l’exercice

  • Appelez character_chain en lui passant personae pour extraire les entités correspondant aux personnages.
  • Appelez relationship_chain avec le nom du personnage, personae, et les personnages extraits au format JSON (character_json) pour extraire les relations entre les trois personnages listés et ceux indiqué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