首页/新闻资讯/正文详情

LangChain memory 模块

发布时间:2026/9/25 8:19:02 来源:云帆数科 栏目:资讯中心
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 实例只是一个发送请求的客户端本身不存储任何对话上下文上下文能否延续完全取决于你每次调用时有没有把历史消息一并传入本次请求。

相关推荐

基于Codex与DeepSeek V4构建本地化AI智能体开发平台
基于Codex与DeepSeek V4构建本地化AI智能体开发平台

最近 AI 编程工具圈有个现象很有意思:很多开发者对 OpenAI 的 Codex 桌面端垂涎三尺,但一听说它“默认只能用 GPT 模型”、“需要特殊网络环境”,就立刻打了退堂鼓。这背后其实是一个巨大的误解:Codex 的核心价值,远不止是调用 GPT 模型。 这篇文章要解决的核心问题就是:… · 2026/9/25 8:18:53

从零到月销10万:AI批量生产PPT模板的5大盈利模型,附真实后台收益截图
从零到月销10万:AI批量生产PPT模板的5大盈利模型,附真实后台收益截图

更多请点击: https://intelliparadigm.com 第一章:从零到月销10万:AI批量生产PPT模板的5大盈利模型,附真实后台收益截图 在2024年Q2,一个由3人组成的远程团队通过自研AI生成引擎(基于LoRA微调的LayoutLMv… · 2026/7/29 19:38:36

AM62L CBASS2防火墙与异常处理寄存器配置实战指南
AM62L CBASS2防火墙与异常处理寄存器配置实战指南

1. 项目概述与CBASS2模块定位在嵌入式系统开发,尤其是基于复杂SoC(片上系统)的工业控制或汽车电子项目中,系统安全性和可靠性是设计的生命线。一个失控的指针、一段越界的访问,轻则导致功能异常,重则引发系… · 2026/9/22 22:07:48

PDF图片转Word用什么软件?电脑/网页/手机全覆盖实用攻略
PDF图片转Word用什么软件?电脑/网页/手机全覆盖实用攻略

日常办公、学习中,大家经常遇到一个难题:拿到图片型PDF、扫描件PDF,普通转换根本没用,转完依旧是无法编辑的图片,手动打字费时又费力。这里先科普一个关键知识点:图片类PDF必须依靠OCR文字识别技术&#xf… · 2026/9/25 8:18:56

IT技术岗转网络安全值得吗?成本、路线与就业全景解析
IT技术岗转网络安全值得吗?成本、路线与就业全景解析

我经常在后台收到类似的提问:干了几年IT技术岗,到底要不要转网络安全?说实话,每次看到这种问题,我都能大概猜到提问者的处境——现有工作不算差,但天花板感越来越明显;网络安全听起来热门、有技… · 2026/9/25 8:18:44

Moto 中 Amazon Managed Prometheus(amp)服务的模拟实现与实战指南
Moto 中 Amazon Managed Prometheus(amp)服务的模拟实现与实战指南

Mock测试 【免费下载链接】moto A library that allows you to easily mock out tests based on AWS infrastructure. 项目地址: https://gitcode.com/gh_mirrors/mo/moto 点击查看 免费下载 Amazon Managed Prometheus(AMP,AWS 的托管 Prom… · 2026/9/25 8:18:31

平头哥倚天720/730/750三代CPU规划解读:微架构迭代与ARM服务器落地实践
平头哥倚天720/730/750三代CPU规划解读:微架构迭代与ARM服务器落地实践

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

SQL Explorer 实战指南:在 RocketRide 管道中浏览数据库、编写 SQL 与解读查询计划
SQL Explorer 实战指南:在 RocketRide 管道中浏览数据库、编写 SQL 与解读查询计划

【免费下载链接】rocketride-server High-performance AI pipeline engine with a C core and 50 Python-extensible nodes. Build, debug, and scale LLM workflows with 13 model providers, 8 vector databases, and agent orchestration, all from your IDE. Includes VS C… · 2026/9/25 8:18:31

XAgent utils 模块深度解析:Token 计数、文本裁剪、状态码枚举、任务数据结构与单例元类
XAgent utils 模块深度解析:Token 计数、文本裁剪、状态码枚举、任务数据结构与单例元类

AI Agent大模型后端任务调度 【免费下载链接】XAgent An Autonomous LLM Agent for Complex Task Solving 项目地址: https://gitcode.com/gh_mirrors/xa/XAgent 点击查看 免费下载 XAgent/utils.py 是 XAgent 框架中一个"小而关键"的基础模块&#xff1… · 2026/9/25 8:18:31

数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)
数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)

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

创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战

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

MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX

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

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码