在图数据库中保存对话记忆
最简单的聊天消息历史策略是将所有消息原样保存在数据库中。这个实现编码简单,但在较长对话中,信息可能难以可靠提取。对于更长的对话,由于每次输入都会发送大量 tokens,您还可能面临成本和延迟问题。
本练习是课程的一部分
使用 LangChain 和 Neo4j 的 Graph RAG
练习说明
- 使用提供的凭据和
SESSION_ID变量,实例化一个用于在 Neo4j 数据库中存储聊天消息的类。 - 以一条来自用户的消息开始对话。
- 向对话中添加一条由 AI 生成的回复。
交互式实操练习
通过完成这段示例代码来试试这个练习。
from langchain_neo4j import Neo4jChatMessageHistory
# Store chat history in Neo4j
history = ____(
url=NEO4J_URL,
username=NEO4J_USERNAME,
password=NEO4J_PASSWORD,
____=SESSION_ID,
)
# Add a user message
history.____("My favourite character is Juliet.")
# Add an AI message
history.____("Great choice! Juliet is a multi-faceted and complex character.")