開始使用免費開始

使用已抽取的實體

文本中的 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)
編輯並執行程式碼