Usar entidades extraídas
La sección Dramatis Personæ del texto describe a los personajes de la obra y puede considerarse una fuente de verdad completa. Esta información también contiene datos valiosos sobre las relaciones personales entre los personajes.
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.
Completa el código para extraer los personajes del texto personae usando character_chain, y luego utiliza la lista de personajes para construir una lista de relaciones a partir del texto usando relationship_chain.
La función visualize_families() mostrará las relaciones resultantes en un grafo.
Este ejercicio forma parte del curso
Graph RAG con LangChain y Neo4j
Instrucciones del ejercicio
- Invoca
character_chain, pasándolepersonaepara extraer las entidades de personajes. - Invoca
relationship_chaincon el nombre del personaje,personaey los personajes extraídos en formato JSON (character_json) para extraer las relaciones entre los tres personajes listados y los personajes incluidos enpersonae.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# 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)