开始使用免费开始使用

使用提取的实体

文本中的 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.

请补全代码:使用 character_chainpersonae 文本中提取人物;然后使用该人物列表,通过 relationship_chain 从文本中构建人物关系列表。

visualize_families() 函数会以图结构展示最终的人物关系。

本练习是课程的一部分

使用 LangChain 和 Neo4j 的 Graph RAG

查看课程

练习说明

  • 调用 character_chain,传入 personae,以提取人物实体。
  • 在人物姓名、personae,以及以 JSON 格式的提取人物(character_json)上调用 relationship_chain,以提取所列三位人物与 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)
编辑并运行代码