Використання виділених сутностей
Розділ тексту Dramatis Personæ описує персонажів п'єси й може вважатися вичерпним джерелом правдивої інформації. У ньому також є багато відомостей про особисті стосунки між персонажами.
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.
Завершіть код, щоб видобути персонажів із тексту personae, використовуючи character_chain, а потім використайте список персонажів, щоб побудувати список стосунків із тексту за допомогою relationship_chain.
Функція visualize_families() відобразить отримані стосунки у вигляді графа.
Ця вправа є частиною курсу
Graph RAG з LangChain і Neo4j
Інструкції до вправи
- Викличте
character_chain, передавши йомуpersonae, щоб видобути сутності персонажів. - Викличте
relationship_chainдля імені персонажа,personaeта видобутих персонажів у форматі JSON (character_json), щоб видобути стосунки між трьома переліченими персонажами та персонажами зpersonae.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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)