尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
LangChain memory 模块
当你在 ChatGPT 这类对话应用上试用过十万次后你会发现它能够记住过往的对话交流。举个例子我先问第一届板球世界杯谁夺冠了随后话锋一转聊完全不相干的内容5 加 5 等于几。接着我再提问这支获胜队伍的队长是谁。你注意看我此时并没有说明是哪一场赛事、哪项运动板球还是足球等等但模型记得我们聊的是板球所以给出了贴合语境的答案。人与人交谈也是同理我们开启一个话题接着不断交流但始终记得谈话的主题。再来看看 LLMChain。默认情况下这类链不具备记忆能力属于无状态组件。你去查看这条链自带的可用方法就会发现其中有一个名为 memory记忆的组件。单纯直接调用 LLMChatOpenAI/Ollama等基础模型对象不带任何记忆组件不能记住对话历史每一次调用都是独立请求模型不知道上一轮说了什么。核心本质大模型本身无服务端会话状态API 是无状态接口。 不管 OpenAI、Ollama、DeepSeek、通义千问本地 / 云端 API每次请求 独立的 HTTP 请求 模型服务端不会保存任何聊天记录。1. 这段代码印证结论from langchain_ollama import ChatOllama llm ChatOllama(modelqwen2.5) print(llm.invoke(我的名字是小明).content) print(llm.invoke(我叫什么名字).content)第二次调用模型大概率答不上来。 原因 两次invoke互相独立第二次请求体里只有当前用户提问没有上一轮对话消息。2. 想要记住历史唯一办法人工把完整消息序列一次性塞进本次请求from langchain_core.messages import HumanMessage, AIMessage from langchain_ollama import ChatOllama llm ChatOllama(modelqwen2.5) messages [] messages.append(HumanMessage(我的名字是小明)) resp llm.invoke(messages) messages.append(resp) messages.append(HumanMessage(我叫什么名字)) resp2 llm.invoke(messages) print(resp2.content)✅ 此时能记住不是 llm 对象自带记忆是你自己维护了 messages 列表。容易混淆的误区❌ 误区ChatOllama/ChatOpenAI对象内部自带缓存 对象只是一个封装请求参数的客户端内部不会缓存任何对话消息。实例复用也不会记住上下文。❌ 误区Ollama 命令行能记住对话API 也可以 ollama run qwen 能记忆是ollama CLI 客户端自己维护消息列表不是模型服务自动保存调用 Ollama HTTP API 默认同样无状态。✅ 真相 记忆只能存在你的程序侧 手动列表 / ConversationBufferMemory / RunnableWithMessageHistory / Redis 会话存储全都只是帮你管理messages。一句话精炼总结基础 LLM 实例只是一个发送请求的客户端本身不存储任何对话上下文上下文能否延续完全取决于你每次调用时有没有把历史消息一并传入本次请求。
RELATED

相关推荐

TI雷达硬件加速器CFAR引擎原理、配置与实战调试指南

TI雷达硬件加速器CFAR引擎原理、配置与实战调试指南

1. 项目概述:从雷达信号处理的“火眼金睛”说起在雷达信号处理的世界里,我们常常面对一个核心挑战:如何在充满噪声和杂波的背景中,稳定、可靠地揪出真正的目标信号?这就像在嘈杂的闹市中,精准识别出远处一个…

📅 2026/9/8 20:02:00
TI DCAN控制器深度解析:消息传输、中断与低功耗实战指南

TI DCAN控制器深度解析:消息传输、中断与低功耗实战指南

1. 项目概述在汽车电子和工业控制领域,控制器局域网(CAN)总线是连接各个电子控制单元(ECU)的“神经系统”。作为一名长期与嵌入式硬件打交道的工程师,我深知一个稳定、高效的CAN控制器对于整个系统的成败有…

📅 2026/8/2 4:00:06
Windows风扇控制终极指南:用FanControl打造个性化静音散热系统

Windows风扇控制终极指南:用FanControl打造个性化静音散热系统

Windows风扇控制终极指南:用FanControl打造个性化静音散热系统 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Tre…

📅 2026/9/10 20:30:53
MORE NEWS

更多资讯

📰

大模型测试用例生成选型:看懂设计稿与自动跑单测是关键

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

Python通用表单类设计与实现:基于tkinter的高效GUI开发

1. Python通用表单类设计概述在Python GUI开发中,表单是最常见的交互元素之一。一个设计良好的通用表单类能够显著提升开发效率,避免重复造轮子。本文将基于tkinter和ttk模块,构建一个可复用的表单基类,支持多种控件类型、数据验证…

📰

纯NumPy实现BP神经网络:从零构建可调试回归预测模型

简介:本资源是一份基于Python实现的BP神经网络手写数字识别项目,面向机器学习初学者与算法实践者,聚焦经典MNIST数据集上的分类任务,帮助读者深入理解反向传播原理、网络结构设计及模型训练全流程。压缩包共4个文件,包…

📰

嵌入式开发板启动流程全解析:从BootROM到Linux内核的五阶跃迁

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

OpenClaw Secrets Apply 计划契约:目标校验、路径匹配与 SQLite 认证配置的写入门禁

OpenClaw Secrets Apply 计划契约:目标校验、路径匹配与 SQLite 认证配置的写入门禁 【免费下载链接】openclaw The AI that really does things. Any OS. Any Platform. The lobster way. 🦞 项目地址: https://gitcode.com/GitHub_Trending/cl/open…

📰

EIP-100 详解:以太坊 Byzantium 难度调整算法如何将叔块纳入平均出块时间目标

EIP-100 详解:以太坊 Byzantium 难度调整算法如何将叔块纳入平均出块时间目标 【免费下载链接】EIPs The Ethereum Improvement Proposal repository 项目地址: https://gitcode.com/GitHub_Trending/ei/EIPs 导读 本文围绕 EIP-100(Change diff…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬