AI知识分享AI知识分享
✿导航
  • 人工智能
  • 神经网络
  • 机器学习
  • 深度学习
  • 强化学习
  • 自然语言处理
  • 计算机视觉
  • 数学基础
  • 大模型基础
  • 动手学深度学习
  • 理论理解
  • 工程实践
  • 应用开发
  • AI For Everyone
  • AIGC_2024大会
  • AIGC_2025大会
  • Agentic AI
  • Transformer
  • PyTorch
  • HuggingFace
  • LangChain
  • 蒸馏
  • RAG
  • 目标检测
  • MCP
  • Cursor
  • 概念
  • 意图识别
  • 工具
  • 学习路线
  • PyTorch 资料
  • 公式学习
  • PyTorch 基础练习
✿导航
  • 人工智能
  • 神经网络
  • 机器学习
  • 深度学习
  • 强化学习
  • 自然语言处理
  • 计算机视觉
  • 数学基础
  • 大模型基础
  • 动手学深度学习
  • 理论理解
  • 工程实践
  • 应用开发
  • AI For Everyone
  • AIGC_2024大会
  • AIGC_2025大会
  • Agentic AI
  • Transformer
  • PyTorch
  • HuggingFace
  • LangChain
  • 蒸馏
  • RAG
  • 目标检测
  • MCP
  • Cursor
  • 概念
  • 意图识别
  • 工具
  • 学习路线
  • PyTorch 资料
  • 公式学习
  • PyTorch 基础练习
  • Transformer

    • Transformer - 概述
    • Transformer - Encoding and Decoding Context with Attention
    • Transformer - Tokenizers
    • Transformer - 架构
    • Transformer - Block
    • Transformer - 自注意力
    • Transformer - MoE
    • Transformer - Transformer
  • PyTorch

    • PyTorch - Dataset
    • PyTorch - TensorBoard
    • PyTorch - transforms
    • PyTorch - DataLoader
    • PyTorch - nn
    • PyTorch - Model
    • PyTorch - train
    • PyTorch - Optimizer
    • PyTorch - Practice
    • PyTorch - 使用笔记
    • PyTorch - Deep Learning 总览
    • PyTorch - Workflow
    • PyTorch - Classification
    • PyTorch - 课程外链索引
    • PyTorch - Python 笔记
  • HuggingFace

    • HuggingFace - Transformers
    • HuggingFace - Pipeline
    • HuggingFace - Tokenizer
    • HuggingFace - Model
    • HuggingFace - Datasets
    • HuggingFace - Evaluate
    • HuggingFace - Trainer
    • HuggingFace - Gradio / 杂记
  • LangChain

    • LangChain - Model
    • LangChain - Chain
    • LangChain - Memory
    • LangChain - Loader
    • LangChain - Vector Stores
    • LangChain - RAG基础
    • LangChain - RAG

LangChain - Memory

临时记忆

如果想要封装历史记录,除了自行维护历史消息外,也可以借助LangChain内置的历史记录附加功能。

LangChain提供了History功能,帮助模型在有历史记忆的情况下回答。

  • 基于RunnableWithMessageHistory在原有链的基础上创建带有历史记录功能的新链(新Runnable实例)
  • 基于InMemoryChatMessageHistory为历史记录提供内存存储(临时用)

运行dmeo

image-20260501083241865

长期会话记忆

FileChatMessageHistory类实现,核心思路:基于文件存储会话记录,以session_id为文件名,不同session_id有不同文件存储消息。

继承BaseChatMessageHistory实现如下3个方法:

  • add_messages: 同步模式,添加消息
  • messages: 同步模式,获取消息
  • clear:同步模式,清除消息如右侧代码

官方在BaseChatMessageHistory类的注释中提供了一个基于文件存储的示例代码:

image-20260501083759800

运行demo

通过第一次运行将历史对话保存到本地文件;

第二次运行直接提问“我有多少宠物”,也能完美解答问题。

image-20260501083950139

最近更新: 2026/5/4 10:38
Contributors: klc407073648
Prev
LangChain - Chain
Next
LangChain - Loader