Wykorzystywanie wyodrębnionych encji
Sekcja Dramatis Personæ tekstu opisuje postacie w sztuce i można ją traktować jako wyczerpujące źródło informacji. Zawiera też bogate dane o relacjach osobistych między postaciami.
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.
Uzupełnij kod, aby wyodrębnić postacie z tekstu personae za pomocą character_chain, a następnie użyj listy postaci do zbudowania listy relacji z tekstu przy użyciu relationship_chain.
Funkcja visualize_families() wyświetli uzyskane relacje w formie grafu.
To ćwiczenie jest częścią kursu
Graph RAG z LangChain i Neo4j
Instrukcje do ćwiczenia
- Wywołaj
character_chain, przekazując mupersonae, aby wyodrębnić encje postaci. - Wywołaj
relationship_chainna nazwie postaci,personaei wyodrębnionych postaciach w formacie JSON (character_json), aby wyodrębnić relacje między trzema wymienionymi postaciami a postaciami zpersonae.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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)