2、短期记忆

LangChain1.x 的短期记忆是三者的组合:
State(会话内部状态) + Checkpointer(持久化机制) + Thread ID(会话作用域)

  • State :默认存储历史消息列表messages ,通过State 管理历史消息
  • Checkpointer :负责将State 作为检查点持久化保存,检查点是某个时刻的State 快照
  • Thread ID :用于唯一标识State ,LangChain运行时会按照 thread_id 读写State快照

2.1 基于内存的持久化器

这是最便捷的使用方式,适合快速测试或调试。
2.1.1 举例1:没有记忆

图片[1]-2、短期记忆-大赛人网
图片[2]-2、短期记忆-大赛人网

2.1.2 举例2:拥有记忆
步骤1:第一二轮对话

图片[3]-2、短期记忆-大赛人网
图片[4]-2、短期记忆-大赛人网

说明:你只需传入 checkpointer 和 config,Agent 就能自然具备连续对话能力。

图片[5]-2、短期记忆-大赛人网

步骤2:第三轮对话
当我们再次进行对话时,直接带入线程ID,即可带入此前对话记忆:

图片[6]-2、短期记忆-大赛人网
图片[7]-2、短期记忆-大赛人网

说明:第三轮对话中的 “我刚才问了什么问题?” 就能在第二轮存储的消息历史中找到答案。所有消息历史都会自动追加到 AgentState 的 messages 字段中,无需手动维护。
步骤3:更新线程ID

而如果更新线程ID,则会重新开启对话:

图片[8]-2、短期记忆-大赛人网
© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发
头像-大赛人网
欢迎您留下宝贵的见解!
提交
头像-大赛人网

昵称

取消
昵称

    请登录后查看评论内容