Использование извлечённых сущностей
Раздел 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)