Utilizarea entităților extrase
Secțiunea Dramatis Personæ a textului descrie personajele din piesă și poate fi considerată o sursă completă de referință. Aceste informații conțin și detalii valoroase despre relațiile personale dintre personaje.
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.
Completează codul pentru a extrage personajele din textul personae folosind character_chain, apoi folosește lista de personaje pentru a construi o listă de relații din text cu ajutorul relationship_chain.
Funcția visualize_families() va afișa relațiile rezultate într-un graf.
Acest exercițiu face parte din cursul
Graph RAG cu LangChain și Neo4j
Instrucțiuni pentru exercițiu
- Apelează
character_chain, pasândpersonaepentru a extrage entitățile de tip personaj. - Apelează
relationship_chaincu numele personajului,personaeși personajele extrase în format JSON (character_json) pentru a extrage relațiile dintre cele trei personaje listate și personajele dinpersonae.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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)