day12-大模型-多轮对话,上下文管理
一、多轮对话背景为什么上下文这么重要1.1 单轮 vs 多轮的本质区别维度单轮对话多轮对话上下文❌ 每次独立✅ 保留历史消息用户体验金鱼脑聊两句就失忆老朋友能聊一整天Token 消耗低只看当前问题高每次都带历史实现复杂度简单中等要理会话状态典型场景翻译、摘要、抽取客服、辅导、AI 助手1.2 现实场景为什么离不开多轮如果只有单轮第 2 轮用户就不知道我是谁了AI 只能干瞪眼。多轮对话的核心让 AI 记住前面聊过什么。二、多轮对话的工作原理2.1 大模型本身没有记忆任何大模型GPT、Qwen、DeepSeek…都是无状态的所以多轮不是模型的能力而是调用方你的程序的责任。2.2 多轮 把历史消息打包一起发关键结论多轮对话 每次都把完整对话历史发给模型。2.3 多轮对话系统的三件套三、多轮对话的入门案例手写一个最小可运行版本3.1 用 Python 字典模拟不依赖任何外部存储✅能跑但重启就丢数据。生产环境必须用持久化存储 → 这就是 Redis 登场的原因。四、Redis 对多轮对话消息的存储4.1 为什么选 Redis 而不是 MySQL多轮对话的消息读写非常频繁每发一条都要读 追加用 Redis 性能更优。4.2 数据结构设计Key-Value 约定设计要点用:分隔的层级结构方便按前缀查询和清理。4.3 Redis 客户端初始化Python4.4 消息的存储格式每条消息用JSON 字符串存到 Redis Listensure_asciiFalse是关键 —— 不然中文会被转成\u4f60\u597d调试时很难看。4.5 常用 Redis 操作一览五、创建会话与会话列表5.1 接口设计5.2 创建会话完整代码5.3 查询会话列表5.4 一个细节自动用首条消息更新标题效果用户发了帮我优化一份 Python 后端简历后会话标题自动变成帮我优化一份…。5.5 前端效果六、发送消息与查询消息6.1 完整流程图6.2 发送消息接口6.3 查询消息接口6.4 为什么要跳过第 0 条第 0 条是system prompt给模型看的不该给用户看返回给前端时从LRANGE 1 -1跳过它即可七、多轮对话优化你会遇到的所有坑7.1 坑 1消息越长调用越慢、越贵必须做上下文管理否则用户聊到 50 轮就崩了。7.2 坑 2JSON 解析失败导致整条消息丢失7.3 坑 3Redis 内存无限增长会话和消息没有过期时间 → 用久了内存爆炸。7.4 坑 4并发写入冲突两个用户同时发消息 →LRANGERPUSH之间可能丢数据。方案用 Redis 事务或分布式锁。7.5 坑 5异步任务阻塞 HTTP 请求send_message同步等大模型返回 → 客户端 HTTP 超时。方案 1让前端用异步轮询方案 2用 WebSocket 或 SSE 推结果八、滑动窗口 历史压缩上下文管理的两把利剑8.1 为什么需要上下文管理大模型的context window上下文窗口是有限的超过这个长度模型要么报错要么忘记最早的内容。现实业务中我们不可能让用户聊到上限才动手必须提前压缩。8.2 滑动窗口保留最近 N 条最简单粗暴只保留最近的 10 条消息。优点实现极简、速度快。缺点前 N-10 条的上下文彻底丢失AI 会突然失忆。8.3 历史压缩让大模型自己总结更聪明的做法 ——让大模型把早期对话压缩成一段摘要再和最近的消息一起发给模型8.4 效果对比只滑动窗口8.5 进阶三级压缩策略效果聊到几百轮也几乎不丢上下文。8.6 压缩策略选型表九、把整套流程串起来9.1 完整系统架构9.2 完整调用链路一次 send_message9.3 一次完整会话的 Redis 数据演变十、总结一张图看懂多轮对话学习路径一句话总结多轮对话 每次把历史 messages 一起发给模型会话和消息存 Redis长了用滑动窗口 历史压缩控制成本。附录常见坑排查清单

相关新闻

私密日记不想放在云端?极空间部署DailyTxT完整教程

私密日记不想放在云端?极空间部署DailyTxT完整教程

前言 日记、随手记录和私人备忘中,往往会出现工作安排、家庭信息或个人情绪等不适合公开的内容。使用第三方平台虽然方便,但数据存放位置、账号状态和平台变化都不完全由自己控制。 DailyTxT是一套可以自行部署的轻量日记服务。将它运行在NAS中后&…

2026/8/4 5:20:09 阅读更多 →
微网电源容量优化:两阶段鲁棒优化算法实践

微网电源容量优化:两阶段鲁棒优化算法实践

1. 微网电源容量优化配置的核心挑战微网作为分布式能源系统的重要载体,其电源容量配置直接影响着系统经济性和可靠性。传统确定性优化方法往往难以应对可再生能源出力和负荷需求的双重不确定性,这正是两阶段鲁棒优化算法的用武之地。我在参与某海岛微网项…

2026/8/4 5:20:09 阅读更多 →
Altium Designer DRC规则报错全解析:从核心原理到高效修复实战

Altium Designer DRC规则报错全解析:从核心原理到高效修复实战

1. 项目概述:当DRC红灯亮起时画完PCB,按下那个绿色的“运行DRC检查”按钮,然后看着消息面板里瞬间刷出几十上百条报错,这大概是每个用过Altium Designer的电子工程师都经历过的“心跳时刻”。DRC,设计规则检查&#xf…

2026/8/4 5:19:08 阅读更多 →

最新新闻

OpenMV4舵机控制全攻略:从PWM原理到视觉追踪实战

OpenMV4舵机控制全攻略:从PWM原理到视觉追踪实战

1. 项目缘起:从“看得见”到“动起来”的跨越玩OpenMV4的朋友,最开始大多是被它强大的机器视觉能力吸引——识别颜色、追踪色块、人脸检测、二维码解码,这些功能确实很酷。但视觉只是感知世界的第一步,真正的乐趣在于让机器“动”…

2026/8/4 8:42:37 阅读更多 →
2026最新5款AI编程工具深度实测推荐

2026最新5款AI编程工具深度实测推荐

花了两个周末,我把主流的几款 AI 编程工具挨个装了一遍,同一个项目用不同的工具写,记录下了各自的真实表现。作为一名全栈独立开发者,我最近在开发一款个人项目管理工具,前后端分离架构下,前端需要对接几十…

2026/8/4 8:42:37 阅读更多 →
Redis Lua脚本实战:从原子性原理到高并发场景应用

Redis Lua脚本实战:从原子性原理到高并发场景应用

1. 从“为什么”开始:Lua脚本在Redis中的核心价值如果你用过Redis,大概率写过这样的业务逻辑:先GET一个计数器,判断是否超过阈值,如果没超过,再INCR。这在客户端看来是两步操作,但在高并发下&am…

2026/8/4 8:42:37 阅读更多 →
Unity游戏服务器高并发设计:基于select的多路复用架构与C++实现

Unity游戏服务器高并发设计:基于select的多路复用架构与C++实现

1. 项目概述:为什么Unity游戏服务器需要高并发设计? 做Unity网络游戏开发,尤其是MMO、大世界或者多人实时对战这类项目,服务器端的设计往往是决定项目成败的关键。很多开发者,特别是从客户端转过来的朋友,容…

2026/8/4 8:42:37 阅读更多 →
基于GeyserMC与Floodgate实现Minecraft Java与基岩版互通服务器搭建指南

基于GeyserMC与Floodgate实现Minecraft Java与基岩版互通服务器搭建指南

永不删档!离线可进 基岩JAVA互通 休闲养老 MC服务器搭建全指南如果你厌倦了商业服务器的氪金、规则束缚和随时可能关服的焦虑,想和三五好友拥有一个真正属于自己的、永不删档的《我的世界》家园,那么搭建一个私人服务器是唯一且最佳的选择。但…

2026/8/4 8:42:37 阅读更多 →
分析师评论:从AI硬件到Token工厂——算力价值链重心迁移

分析师评论:从AI硬件到Token工厂——算力价值链重心迁移

易观分析:2026年7月,北京市发布《关于加快智能体引领发展的若干措施》,明确提出建设Token工厂,并把算力计费方式从按资源消耗计费向按价值计费引导。Token工厂这个原本停留在产业圈内的提法,第一次进入官方政策语言&am…

2026/8/4 8:41:36 阅读更多 →

日新闻

AI Agent白手起家26: 使用标准事件驱动大模型实践

AI Agent白手起家26: 使用标准事件驱动大模型实践

纲要 练习目标:掌握大模型标准事件的调用回顾 LangChain 中的核心标准事件 invokestreambatchastream_eventswith_structured_output 环境准备实战代码:多种事件调用对比 同步调用与流式输出批量处理异步事件流监听结构化输出 运行说明与预期结果总结与扩…

2026/8/4 0:00:40 阅读更多 →
dealsea是什么?跨境卖家必知的美国deal站入门指南

dealsea是什么?跨境卖家必知的美国deal站入门指南

说实话,第一次听说美国这个老牌折扣网站的跨境卖家,十个有八个会问同一个问题:这个平台到底是干嘛的?我见过一个做家居出口的朋友,他在亚马逊上月销二十万美金,却从来没用过它。我给他看了首页——一屏一屏…

2026/8/4 0:01:40 阅读更多 →
清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

通讯作者:邓兵、刘建国通讯单位:清华大学DOI:https://doi.org/10.1021/acs.est.6c00603研究背景稀土元素(REEs)是清洁能源技术与电子器件不可或缺的核心原料,然而传统提取方式依赖能耗高、排放大的采矿与强…

2026/8/4 0:01:40 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/3 4:58:13 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/3 1:53:31 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/4 5:26:40 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/3 13:07:03 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/3 5:19:38 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/3 8:27:36 阅读更多 →