深度学习-96-大语言模型LLM之基于langchain的ConversationBufferMemory缓冲记忆
文章目录
- 1 内存记忆Memory
-
- 1.1 记忆系统支持的操作
- 1.2 记忆的存储
- 1.3 记忆的查询
- 2 记忆的应用
-
- 2.1 设置环境变量
- 2.2 ConversationChain中的记忆
- 2.3 ConversationBufferMemory缓冲记忆
-
- 2.3.1 添加对话记忆消息
- 2.3.2 添加对话过程消息
- 2.3.3 对话缓存
- 2.4 LLMChain中的记忆
-
- 2.4.1 OllamaLLM与Memory
- 2.4.2 ChatOllama与Memory
- 3 参考附录
1 内存记忆Memory
大多数LLM应用都具有对话功能,如聊天机器人,记住先前的交互非常关键。对话的重要一环是能够引用之前提及的信息,这些信息需要进行存储,因此将这种存储过去交互信息的能力称为记忆(Memory)。
默认情况下,链式模型和代理模型都是无状态的,这意味着它们会独立处理每个传入的查询,类似于底层的LLMs和聊天模型本身的处理方式。
当有了记忆之后,每个链都定义了一些需要特定输入的核心执行逻辑。其中一些输入直接来自用户,但其中一些输入可以来自记忆。在给定的运行中,链将与其记忆系统交互两次。
1.1 记忆系统支持的操作
记忆系统需要支持两种基本操作:读取和写入。
(1)READ,在接收到初始用户输入之后但在执行核心逻辑之前,链将从其内存系统中读取并增强用户输入。
(2)WRITE,在执行核心逻辑之后但在返回答案之