零基础学AI大模型之LLM存储优化:大量QA与长对话问题实战

零基础学AI大模型之LLM存储优化:大量QA与长对话问题实战
大家好,我是工藤学编程 🦉一个正在努力学习的小博主,期待你的关注
实战代码系列最新文章😉C++实现图书管理系统(Qt C++ GUI界面版)
SpringBoot实战系列🐷【SpringBoot实战系列】SpringBoot3.X 整合 MinIO 存储原生方案
分库分表分库分表之实战-sharding-JDBC分库分表执行流程原理剖析
消息队列深入浅出 RabbitMQ-RabbitMQ消息确认机制(ACK)
AI大模型零基础学AI大模型之LLM存储记忆功能之BaseChatMemory实战

前情摘要

1、零基础学AI大模型之读懂AI大模型
2、零基础学AI大模型之从0到1调用大模型API
3、零基础学AI大模型之SpringAI
4、零基础学AI大模型之AI大模型常见概念
5、零基础学AI大模型之大模型私有化部署全指南
6、零基础学AI大模型之AI大模型可视化界面
7、零基础学AI大模型之LangChain
8、零基础学AI大模型之LangChain六大核心模块与大模型IO交互链路
9、零基础学AI大模型之Prompt提示词工程
10、零基础学AI大模型之LangChain-PromptTemplate
11、零基础学AI大模型之ChatModel聊天模型与ChatPromptTemplate实战
12、零基础学AI大模型之LangChain链
13、零基础学AI大模型之Stream流式输出实战
14、零基础学AI大模型之LangChain Output Parser
15、零基础学AI大模型之解析器PydanticOutputParser
16、零基础学AI大模型之大模型的“幻觉”
17、零基础学AI大模型之RAG技术
18、零基础学AI大模型之RAG系统链路解析与Document Loaders多案例实战
19、零基础学AI大模型之LangChain PyPDFLoader实战与PDF图片提取全解析
20、零基础学AI大模型之LangChain WebBaseLoader与Docx2txtLoader实战
21、零基础学AI大模型之RAG系统链路构建:文档切割转换全解析
22、零基础学AI大模型之LangChain 文本分割器实战:CharacterTextSplitter 与 RecursiveCharacterTextSplitter 全解析
23、零基础学AI大模型之Embedding与LLM大模型对比全解析
24、零基础学AI大模型之LangChain Embedding框架全解析
25、零基础学AI大模型之嵌入模型性能优化
26、零基础学AI大模型之向量数据库介绍与技术选型思考
27、零基础学AI大模型之Milvus向量数据库全解析
28、零基础学AI大模型之Milvus核心:分区-分片-段结构全解+最佳实践
29、零基础学AI大模型之Milvus部署架构选型+Linux实战:Docker一键部署+WebUI使用
30、零基础学AI大模型之Milvus实战:Attu可视化安装+Python整合全案例
31、零基础学AI大模型之Milvus索引实战
32、零基础学AI大模型之Milvus DML实战
33、零基础学AI大模型之Milvus向量Search查询综合案例实战
33、零基础学AI大模型之新版LangChain向量数据库VectorStore设计全解析
34、零基础学AI大模型之相似度Search与MMR最大边界相关搜索实战
35、零基础学AI大模型之LangChain整合Milvus:新增与删除数据实战
36、零基础学AI大模型之LangChain+Milvus实战:相似性搜索与MMR多样化检索全解析
37、零基础学AI大模型之LangChain Retriever
38、零基础学AI大模型之MultiQueryRetriever多查询检索全解析
39、零基础学AI大模型之LangChain核心:Runnable接口底层实现
40、零基础学AI大模型之RunnablePassthrough
41、零基础学AI大模型之RunnableParallel
42、零基础学AI大模型之RunnableLambda
43、零基础学AI大模型之RunnableBranch
44、零基础学AI大模型之Agent智能体
45、零基础学AI大模型之LangChain Tool工具
46、零基础学AI大模型之LLM绑定Tool工具实战
47、零基础学AI大模型之LangChain Tool异常处理
48、零基础学AI大模型之CoT思维链和ReAct推理行动
49、零基础学AI大模型之Zero-Shot和Few-Shot
50、零基础学AI大模型之LangChain智能体执行引擎AgentExecutor
51、零基础学AI大模型之个人助理智能体之tool_calling_agent实战
52、零基础学AI大模型之旅游规划智能体之react_agent实战
53、零基础学AI大模型之LLM大模型存储记忆功能
54、零基础学AI大模型之LLM大模型存储记忆功能


本文章目录

零基础学AI大模型之LLM存储优化:大量QA与长对话问题实战

哈喽,各位小伙伴!我是工藤学编程🦉 最近有不少粉丝问我:“工藤,做智能助手时,用户聊得久了模型就‘失忆’,大量QA信息存不下怎么办?” 其实这也是我刚开始做AI大模型项目时踩过的坑——模型有Token限制,长对话会截断,全存历史又耗资源。今天就结合我的实战经验,聊聊怎么用LangChain的摘要存储解决这个问题,从面试考点到代码实战,一步步讲明白!

一、先搞懂面试常问:为什么会有“存储优化”需求?

在这里插入图片描述

我之前面试时,面试官就问过两个灵魂问题,正好戳中核心痛点,咱们先吃透这两个问题,后面实战就好理解了:

面试题1:传统对话系统每次交互独立,模型无法感知历史,怎么解?

在这里插入图片描述

答:用记忆模块(如LangChain的Memory)记录历史,但长对话会超Token,所以需要摘要存储——不存完整对话,只存关键信息摘要,既保连贯性又省Token。

面试题2:长对话超出模型Token能力,信息截断、性能下降,怎么解?

答:核心是“压缩历史”——用大模型生成对话摘要,后续交互只传摘要而非全量历史,搭配分布式存储(如MongoDB、Milvus),平衡连贯性、性能和资源消耗。

二、大模型存储的3大核心痛点

在这里插入图片描述

这些痛点真的很影响用户体验,咱们对号入座:

痛点类型具体表现后果
技术限制用户聊10轮就超4k Token限制早期QA信息丢失,回答驴唇不对马嘴
效率瓶颈全量存历史,检索一次要600ms+回复慢,用户吐槽“反应迟钝”
业务&合规风险存用户手机号、需求等敏感信息原文有数据泄露风险,质检溯源难

三、核心解决方案:摘要存储+LangChain实战

在这里插入图片描述

解决思路很简单:用ConversationSummaryMemory生成对话摘要,只存摘要不存全量历史。优势特别明显:

核心目标

通过摘要存储维护长期上下文,解决“Token不够用、资源消耗大、连贯性差”三大问题。

技术原理

就像我记笔记——不抄老师每句话,只记重点。模型也一样:用大模型(如通义千问)把对话生成摘要,后续交互只传摘要,相当于“带着笔记聊天”,而非“带着整本书聊天”。

优势

  1. 省Token:摘要比全量历史小80%,再也不担心超限制;
  2. 保连贯:摘要含关键信息,模型知道之前聊了啥;
  3. 易扩展:可存在MongoDB、Milvus,支持多用户、大数据量。

四、带摘要存储的对话系统

实战准备

先安装依赖:

pip install langchain langchain-openai langchain-core pymilvus # 按需装存储依赖

实战1:基础版——生成对话摘要

这是最基础的用法,我用来测试摘要效果,看看模型能不能抓关键信息:

from langchain.memory import ConversationSummaryMemory from langchain_openai import ChatOpenAI # 初始化大模型(工藤用的通义千问,大家替换自己的api_key) llm = ChatOpenAI( model_name="qwen-plus", base_url="https://dashscope.aliyuncs.com/compatible-mode/v1", api_key="你的api_key",# 工藤提示:别硬编码,放环境变量里更安全 temperature=0.7# 摘要不用太死板,0.7刚好)# 初始化摘要记忆(核心组件) memory = ConversationSummaryMemory(llm=llm)# 模拟我和用户的对话(工藤项目里的真实对话片段) memory.save_context({"input":"工藤,AI大模型怎么入门?"},{"output":"先学基础概念,再调用API,然后学LangChain、RAG,最后实战做项目"}) memory.save_context({"input":"有没有适合零基础的课程?"},{"output":"可以看我的零基础学AI大模型系列,从API调用讲到Agent实战"})# 取摘要——看看效果 summary = memory.load_memory_variables({})print("工藤项目实战:对话摘要")print(summary["history"])# 输出摘要,只存关键信息# 工藤运行结果:# 用户询问AI大模型零基础入门方法,助手建议先学基础概念、调用API、学LangChain和RAG,再实战;用户又问适合零基础的课程,助手推荐自己的零基础学AI大模型系列。

实战2:进阶版——带摘要存储的对话链

这是我现在项目里用的核心代码,用LCEL链式结构,支持多轮对话,自动更摘要,特别稳定:

from langchain.memory import ConversationSummaryMemory from langchain_openai import ChatOpenAI from langchain_core.runnables import RunnablePassthrough from langchain_core.output_parsers import StrOutputParser from langchain_core.prompts import ChatPromptTemplate # 1. 初始化大模型(和我之前的Agent项目用的一样) llm = ChatOpenAI( model_name="qwen-plus", base_url="https://dashscope.aliyuncs.com/compatible-mode/v1", api_key="你的api_key", temperature=0.7)# 2. 初始化摘要记忆(memory_key要和prompt里的变量名一致!) memory = ConversationSummaryMemory( llm=llm, memory_key="chat_history",# 工藤踩坑:这里和下面prompt的{chat_history}要同名 return_messages=True# 返回消息对象,更灵活)# 3. 定义prompt——必须包含摘要变量(chat_history) prompt = ChatPromptTemplate.from_messages([("system","你是工藤学编程的AI助手,基于对话摘要回答问题,语气亲切像聊天"),("human","对话摘要:{chat_history}\n用户现在问:{input}")])# 4. 构建LCEL链(工藤推荐用这个,比LLMChain灵活) chain =(# 注入输入和记忆摘要 RunnablePassthrough.assign( chat_history=lambda_: memory.load_memory_variables({})["chat_history"])| prompt # 格式化prompt| llm # 调用大模型| StrOutputParser()# 解析输出)# 5. 模拟用户多轮对话(工藤项目里的真实用户提问) user_inputs =["工藤,怎么用LangChain做记忆功能?","之前说的ConversationSummaryMemory,能存多少轮对话?","它和Milvus结合的话,怎么存摘要?"# 依赖上一轮的记忆]# 6. 运行对话(工藤重点注释:LCEL需要手动保存上下文!)for query in user_inputs:print(f"\n用户:{query}")# 调用链获取回复 response = chain.invoke({"input": query})print(f"工藤助手:{response}")# 手动保存上下文到记忆(LLMChain会自动存,LCEL要手动!) memory.save_context({"input": query},{"output": response})# 查看当前摘要(工藤调试时必看,确保摘要正确) current_summary = memory.load_memory_variables({})["chat_history"]print(f"当前对话摘要:{current_summary}")

工藤实战输出效果(真实运行结果)

用户:工藤,怎么用LangChain做记忆功能? 工藤助手:可以用LangChain的Memory模块,比如ConversationBufferMemory存完整历史,ConversationSummaryMemory存摘要,适合长对话... 当前对话摘要: 用户询问如何用LangChain做记忆功能,助手建议使用Memory模块,举例ConversationBufferMemory和ConversationSummaryMemory,后者适合长对话。 用户:之前说的ConversationSummaryMemory,能存多少轮对话? 工藤助手:它没有固定轮数限制,因为存的是摘要,不是全量对话,哪怕100轮,摘要也不会超太多Token... 当前对话摘要: 用户先问LangChain记忆功能做法,助手推荐Memory模块及两个子类;接着用户问ConversationSummaryMemory能存多少轮,助手称无固定限制,因存储的是摘要。 用户:它和Milvus结合的话,怎么存摘要? 工藤助手:可以把生成的摘要转成向量,用LangChain的VectorStoreRetrieverMemory,把摘要存在Milvus里,需要时检索相关摘要... 当前对话摘要: 用户问ConversationSummaryMemory与Milvus结合的存摘要方法,助手建议将摘要转向量,用VectorStoreRetrieverMemory存入Milvus,需用时检索。 

看!就算聊多轮,模型也不会“失忆”,摘要里全是关键信息,Token消耗特别少~

四、关键知识点:LCEL和LLMChain怎么选?

特性LCEL链LLMChain
记忆保存需手动调用memory.save_context()自动保存,不用手动写
链式灵活性高,可加路由、日志(我加了错误捕获)固定结构,灵活度低
调试&扩展可插中间件,适合复杂项目(如多工具调用)靠verbose=True调试,适合入门
工藤使用场景智能助手、Agent项目(复杂场景)简单对话demo(快速验证想法)

五、避坑指南

  1. 变量名要一致:memory_key(如"chat_history")必须和prompt里的变量名一样,不然会报“变量未定义”;
  2. 摘要模板可定制:想让摘要包含更多QA细节,可改prompt,比如加一句“摘要要包含用户问题和助手核心回答”;
  3. 敏感信息过滤:保存摘要前,用正则替换手机号、邮箱,避免合规风险;
  4. 存储扩展:量大时,把摘要存Milvus,用VectorStoreRetrieverMemory,检索更快(之前讲过Milvus实战,可回头看)。

总结

其实解决大量QA、长对话存储问题,核心就是“抓重点”——用ConversationSummaryMemory生成摘要,只存关键信息,再根据项目复杂度选LCEL或LLMChain。

有疑问欢迎在评论区交流,咱们下期再见!👋

Read more

猫头虎AI分享10个全网超火的Skills开源仓库:Claude Skills开源库必装精选 & 安装配置实战指南

猫头虎AI分享10个全网超火的Skills开源仓库:Claude Skills开源库必装精选 & 安装配置实战指南

分享10个全网超火的Skills仓库(Star 500+、更新频率高):Claude Skills开源库必装精选 & 实战指南 大家好,我是 猫头虎 🐯如果你和我一样每天在 Claude Code + AI Agent workflow 混迹,肯定发现一个真理: 🎯 Skill 才是 AI 长期生产力的灵魂! 不管你是用 Claude 写代码、做自动化任务、搞科研、做资料整理还是构建复杂流程——真正能让 AI “马上就能用”的,是 Skills。 今天这篇,我给你整理了 10 个全网超火的、⭐️500+ Stars、活跃更新的 Skills 仓库,并告诉你: * ⭐ 这些仓库到底是什么 * 🚀 谁应该装 * 🧠 如何快速上手 文章目录 * 分享10个全网超火的Skills仓库(

【AI编程】Qoder AI 编程工具从部署到深度使用实战详解

【AI编程】Qoder AI 编程工具从部署到深度使用实战详解

目录 一、前言 二、AI编程工具介绍 2.1 什么是AI编程 2.1 AI编程核心功能 2.3 AI编程应用场景 1. 智能代码补全与生成 2. 自然语言生成代码 3. 代码解释与文档生成 4. 错误检测与自动修复 5. 单元测试与自动化测试生成 6. 代码重构与优化 7. 跨语言代码转换 8. 低代码/无代码平台增强 三、几种主流AI编程工具介绍 3.1 Cursor 3.1.1 Cursor 核心功能 3.1.1 Cursor 优势 3.2 GitHub Copilot

【保姆级教程】告别命令行!ClawX:可视化AI智能体,小白也能轻松玩出花!

【保姆级教程】告别命令行!ClawX:可视化AI智能体,小白也能轻松玩出花! 黑底白字、敲命令、改配置… 是不是每次想让AI乖乖干活,都得先在终端里跟那些"代码黑魔法"死磕? 现在不用了!今天给大家安利一款「零门槛AI神器」——ClawX,让你把OpenClaw的强大能力装进可视化界面,从此和枯燥的命令行说拜拜! 🚀 为什么你需要ClawX?(痛点暴击!) 想象一下: * 同事A:“你会用OpenClaw写个定时抓取新闻的Agent吗?” * 你(内心OS):“先安装Node.js,配置npm镜像源,再写个Cron表达式…啊,我的发际线!” ClawX直接把「AI智能体」变成了手机App: ✅ 零配置小白友好:下载安装→填API Key→开聊,全程不用碰黑窗口 ✅ 聊天式操作:像微信聊天一样输入prompt,AI直接给你出结果 ✅ 可视化自动化:拖拽设置定时任务,7x24小时当你的"数字打工人&

2026 年 03 月 02 日 AI 前沿、通信、安全行业日报(含关联分析 + 启示 + 全球 / 中国重点事件)

一、AI 前沿日报 1. 核心技术与模型突破 * Anthropic 遭美国封杀 + 军方矛盾使用:因拒绝开发致命自主武器,被特朗普政府列为供应链风险、联邦机构禁用;但美军空袭伊朗仍使用 Claude 系统,暴露 AI 军事刚需与伦理冲突。 * 类脑计算重大突破:神经形态计算机可高效求解复杂物理方程,能耗仅传统超算的1/1000,为科学模拟、自动驾驶仿真开辟新路径。 * Claude Sonnet 4.5 发布:代码能力全面对标 GitHub Copilot,长文本理解与多模态生成显著提升,企业级编码助手竞争白热化。 * 国产标准落地:我国首个人形机器人与具身智能标准体系(2026 版)发布,覆盖基础共性、类脑智算、整机应用等六部分,产业规范化加速。 * 华为 A2A-T 协议开源:MWC 2026 发布 AI 智能体通信统一协议,