解决大模型长对话致命悖论:滚动摘要架构让你的Agent永不卡顿,建议程序员收藏学习!

LangChain入门指南 LangChain是一个强大的框架,旨在帮助开发人员使用语言模型构建端到端的应用程序。它提供了一套工具、组件和接口,可简化创建由大型语言模型 (LLM) 和聊天模型提供支持的应用程序的过程。LangChain 可以轻松管理与语言模型的交互,将多个组件链接在一起,并集成额外的资源,例如 API 和数据库。官方文档:https://python.langchain.com/en/latest/ 阅读详情

随着对话进行,messages 会不断累积,很快就超出大语言模型(LLM)的上下文限制。

在不依赖外部存储(如数据库)的前提下,我尝试用一个总结节点(summarizer node) 来压缩上下文。然而,这引出了一个致命的悖论。

致命悖论:用“长上下文”解决“长上下文问题”


你可能遇到过 Agent 聊着聊着就“卡住”的情况,比如打印 ---SUMMARIZER--- 后没反应。这源于一个根本性错误:我们让一个“摘要员”去解决对话太长的问题,但它自己却先被“太长”的对话累垮了。

举个例子: 即使我们设定 LangGraph 每 5 轮对话总结一次,或当 Token 长度超过 1500 时总结。但问题依然存在:

  1. 卡在阈值: 假设当前 1490 Token,新消息进来变 1510。此时触发总结,summarizer 依然要处理这超长的 1510 Token,极易超时或卡死。
  2. 累积盲区: 在总结触发前(比如第 1-4 轮),消息仍在累积。如果某轮出现超长内容,Agent 依然会“爆掉”。

简言之,当对话过长,系统把全部的、超长的对话历史(比如 6000+ Token)交给 summarizer,summarizer 再把它塞给 LLM。LLM 处理巨大请求耗时过久,导致请求“卡住”。

本质是:我们试图用一个本身需要大量上下文的 LLM 调用,去解决上下文过长的问题。这在逻辑上是行不不通的。

破局之道:引入“滚动摘要(Rolling Summary)”架构


要彻底解决这个问题,我们需要升级 Agent 的记忆管理:引入滚动摘要机制。

核心思想:Agent 的任何部分,永远不处理完整的、超长的原始对话历史。 我们只关注增量信息。就像你不断更新的笔记,每次只记录最新内容,并定期将旧的零散笔记整理成一个精炼的总结。

如何实现“滚动摘要”?——技术细节与伪代码
1. 升级 Agent 的“状态蓝图”(AgentState)

将 Agent 的对话状态拆分为两部分:

  • • summary: 迄今为止所有对话的精炼总结。
  • • messages: 自上次总结以来,最新的几条消息。

伪代码:

class AgentState {
    summary: string;     // 滚动摘要
    messages: Array<string>; // 最新消息列表
    // ... 其他状态
}
2. 重构“摘要员”(Summarizer)的逻辑

summarizer 不再处理全部历史,只接收旧摘要和最新消息。它的任务是:合并两者,生成新的、更新后的摘要。完成后,清空 messages 数组。

伪代码:

function summarize(state: AgentState): AgentState {
    // 准备LLM输入:旧摘要 + 最新消息
    prompt = build_summarizer_prompt(state.summary, state.messages);

    // 调用LLM,获取新摘要和更新的记忆
    llm_response = LLM_CALL(prompt);
    new_summary, updated_memory = parse_llm_response(llm_response);

    // 更新状态:
    return {
        summary: new_summary,
        memory: update_memory(state.memory, updated_memory),
        messages: [] // 清空最新消息
    };
}
3. 升级“协调器”(Orchestrator)的提示词

orchestrator(Agent 的“大脑”)的决策依据不再是超长原始对话,而是:

  • • summary: 历史背景和长期记忆。
  • • messages: 用户最新的输入。

这样,orchestrator 总是能基于精炼、关键的信息做出判断。

伪代码:

function orchestrate(state: AgentState): Action {
    // 构造LLM决策提示:基于总结和最新消息
    decision_prompt = build_orchestrator_prompt(state.summary, state.messages.last());

    // 调用LLM,获取决策
    llm_decision = LLM_CALL(decision_prompt);

    // 解析决策并执行
    return parse_decision_and_execute(llm_decision);
}
4. 调整图的“管道”(Graph Pipeline)

确保 LangGraph 中各节点的状态流转都遵循 summary 和 messages 分离的新结构。

新架构带来的巨大好处


  • • 告别“卡死”: LLM 不再接收超长上下文,从根本上解决超时问题。
  • • 无限对话: Agent 理论上可进行无限轮对话,不受上下文窗口限制。
  • • 高效经济: 每次 LLM 调用只处理少量增量信息,大幅降低 Token 消耗和费用。
  • • 健壮专业: 这种设计是构建生产级对话 Agent 的标准实践。

通过“滚动摘要”,我们不仅解决了长上下文痛点,更让 Agent 真正具备了“长期记忆”和“无限对话”的能力。

普通人如何抓住AI大模型的风口?

领取方式在文末

为什么要学习大模型?

目前AI大模型的技术岗位与能力培养随着人工智能技术的迅速发展和应用 , 大模型作为其中的重要组成部分 , 正逐渐成为推动人工智能发展的重要引擎 。大模型以其强大的数据处理和模式识别能力, 广泛应用于自然语言处理 、计算机视觉 、 智能推荐等领域 ,为各行各业带来了革命性的改变和机遇 。

目前,开源人工智能大模型已应用于医疗、政务、法律、汽车、娱乐、金融、互联网、教育、制造业、企业服务等多个场景,其中,应用于金融、企业服务、制造业和法律领域的大模型在本次调研中占比超过 30%。
在这里插入图片描述

随着AI大模型技术的迅速发展,相关岗位的需求也日益增加。大模型产业链催生了一批高薪新职业:
在这里插入图片描述

人工智能大潮已来,不加入就可能被淘汰。如果你是技术人,尤其是互联网从业者,现在就开始学习AI大模型技术,真的是给你的人生一个重要建议!

最后

只要你真心想学习AI大模型技术,这份精心整理的学习资料我愿意无偿分享给你,但是想学技术去乱搞的人别来找我!

在当前这个人工智能高速发展的时代,AI大模型正在深刻改变各行各业。我国对高水平AI人才的需求也日益增长,真正懂技术、能落地的人才依旧紧缺。我也希望通过这份资料,能够帮助更多有志于AI领域的朋友入门并深入学习。

真诚无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发

【附赠一节免费的直播讲座,技术大佬带你学习大模型的相关知识、学习思路、就业前景以及怎么结合当前的工作发展方向等,欢迎大家~】
在这里插入图片描述

大模型全套学习资料展示

自我们与MoPaaS魔泊云合作以来,我们不断打磨课程体系与技术内容,在细节上精益求精,同时在技术层面也新增了许多前沿且实用的内容,力求为大家带来更系统、更实战、更落地的大模型学习体验。

图片

希望这份系统、实用的大模型学习路径,能够帮助你从零入门,进阶到实战,真正掌握AI时代的核心技能!

01 教学内容

图片

  • 从零到精通完整闭环:【基础理论 →RAG开发 → Agent设计 → 模型微调与私有化部署调→热门技术】5大模块,内容比传统教材更贴近企业实战!

  • 大量真实项目案例: 带你亲自上手搞数据清洗、模型调优这些硬核操作,把课本知识变成真本事‌!

02适学人群

应届毕业生‌: 无工作经验但想要系统学习AI大模型技术,期待通过实战项目掌握核心技术。

零基础转型‌: 非技术背景但关注AI应用场景,计划通过低代码工具实现“AI+行业”跨界‌。

业务赋能突破瓶颈: 传统开发者(Java/前端等)学习Transformer架构与LangChain框架,向AI全栈工程师转型‌。

image.png

vx扫描下方二维码即可
【附赠一节免费的直播讲座,技术大佬带你学习大模型的相关知识、学习思路、就业前景以及怎么结合当前的工作发展方向等,欢迎大家~】
在这里插入图片描述

本教程比较珍贵,仅限大家自行学习,不要传播!更严禁商用!

03 入门到进阶学习路线图

大模型学习路线图,整体分为5个大的阶段:
图片

04 视频和书籍PDF合集

图片

从0到掌握主流大模型技术视频教程(涵盖模型训练、微调、RAG、LangChain、Agent开发等实战方向)

图片

新手必备的大模型学习PDF书单来了!全是硬核知识,帮你少走弯路(不吹牛,真有用)
图片

05 行业报告+白皮书合集

收集70+报告与白皮书,了解行业最新动态!
图片

06 90+份面试题/经验

AI大模型岗位面试经验总结(谁学技术不是为了赚$呢,找个好的岗位很重要)图片
在这里插入图片描述

07 deepseek部署包+技巧大全

在这里插入图片描述

由于篇幅有限

只展示部分资料

并且还在持续更新中…

真诚无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发

【附赠一节免费的直播讲座,技术大佬带你学习大模型的相关知识、学习思路、就业前景以及怎么结合当前的工作发展方向等,欢迎大家~】
在这里插入图片描述

大模型之LangChain介绍 LangChain 就是一个 LLM 编程框架,你想开发一个基于 LLM 应用,需要什么组件它都有,直接使用就行;甚至针对常规的应用流程,它利用链(LangChain中Chain的由来)这个概念已经内置标准化方案了。下面我们从新兴的大语言模型(LLM)技术栈的角度来看看为何它的理念这么受欢迎。其官方的定义。 阅读详情

相关推荐

Agent应用渲染:流式输出、多Agent与长会话的性能优化实战

Agent应用正从原型走向生产环境,其交互界面不再是简单的文本展示,而是需要实时渲染流式输出的Token、动态生成的图表、甚至在多Agent并发场景下承载大量中间状态。渲染性能因此成为决定用户体验的关键一环。理解Agent输出机制——高频增量更新、不可预测的内容结构、长会话累积——是设计高效渲染架构的前提。通过增量解析、节流更新、虚拟滚动、事件驱动等策略,开发者可以在保持内容实时性的同时,稳定控制DOM规模和主线程负载。无论是单Agent深度对话,还是多Agent协同分析,这些方法都能显著降低卡顿与闪烁,让

weixin_29043895的博客 284

什么是LangChain?从零开始入门 LangChain

LangChain 作为一个新兴的开源 LLM 开发框架,它的设计理念和一些实现方法都有值得我们借鉴的地方。当然一个开源项目必然有自己的优点的同时也会存在不少的缺点。我们在实际使用的时候,应该按照自己的需求和实际情况去选择,切记,不要简单的因为网上的评论而做出选择。毕竟,好不好用,只有你自己才清楚。

2401_85375151的博客 3万+

全双工语音Agent架构设计:从流式处理到异步任务调度的三层实现

语音交互技术正从传统的半双工模式向全双工连续对话演进,其核心在于实现边听、边想、边说的自然交互体验。全双工架构通过流式语音识别、实时上下文管理和异步任务调度等技术原理,解决了传统语音助手在响应延迟、对话中断和长任务阻塞等方面的痛点。在工程实践中,这种架构需要平衡实时性与资源开销,通过分层设计将交互逻辑、智能决策和底层资源管理解耦。具体到GPT-Live这类实现方案,其采用连续交互层、后台委托层和Voice Runtime层的三层架构,分别处理实时音频流、LLM智能调度和底层资源管理,从而在复杂场景如连续讨论

weixin_29048775的博客 358

从零开始入门 LangChain

本篇文章中将和大家讲述什么是 LangChain ,以及 LangChain 解决了现在大模型发展的哪些问题,然后会讲解LangChain 中基础的概念和组件。

2301_81940605的博客 1万+

Kimi K2.5架构解析:Agent Swarm与MoonViT-3D如何重构大模型推理范式

大语言模型的推理效率与多模态理解能力,正从单体生成范式转向系统化协同架构。其核心原理在于解耦计算负载、统一时空语义表征,并通过智能体协作协议实现任务级优化。技术价值体现在显著降低响应延迟、突破上下文长度瓶颈、提升视觉-语言联合泛化能力。典型应用场景包括长文档结构化分析、工业视频检测、跨年份财报比对等复杂闭环任务。Kimi K2.5通过Agent Swarm和MoonViT-3D两大创新,将‘话痨’冗余与‘延迟’卡顿从体验问题升维为可建模、可调度、可优化的系统工程问题。

weixin_31642733的博客 240

Agent-shell:在Emacs中实现厂商中立的AI Agent对话与配置实战

随着大语言模型从单轮聊天走向多步任务自动执行,AI Agent逐渐成为开发者工具链中的核心角色。然而,主流IDE的AI插件往往绑定特定厂商,难以满足Emacs用户对可配置、可审计、可替换的长期偏好。为解决这一痛点,Agent-shell作为一款轻量级Emacs前端+适配层,将后端模型抽象为Provider,支持OpenAI、Anthropic、本地Ollama及兼容网关无缝切换,真正实现“厂商中立”的Agent会话环境。本文从AI Agent的基本概念与现有Emacs AI包的设计缺陷入手,解析Agent-

weixin_34122810的博客 461

AIPC大模型存储优化:从NVMe选型到Agent卡顿排查

在大模型与Agent开发场景中,CPU与GPU算力往往不是体验瓶颈,存储IO才是被忽视的短板。从模型文件加载到KV Cache换出,再到Agent高频小文件读写,存储性能贯穿整个推理链路。NVMe SSD的顺序读取速度决定模型装载的等待时长,而4K随机读写能力则直接影响Agent工具调用的响应节奏。理解显存、内存与存储之间的量级差异,是定位卡顿根源的关键。通过合理的硬件选型,如PCIe 4.0 NVMe独立模型盘,结合Ollama参数调整、日志目录优化、向量库索引重建等软件策略,可显著提升本地大模型加载效率

weixin_34391445的博客 313

DeepSeek Harness并行任务卡顿优化:从前端渲染到后端调度的全链路解决方案

在AI应用开发中,并行任务处理是提升效率的关键技术,它允许同时执行多个AI智能体任务,如批量处理、对比实验和流水线工作流。其原理基于异步编程和任务调度,通过合理分配计算资源实现并发执行。这项技术的价值在于显著缩短任务总耗时,提高系统吞吐量,但同时也带来了性能挑战,特别是在高并发场景下容易出现界面卡顿和响应延迟。应用场景广泛覆盖AI智能体编排、实时监控面板和复杂工作流管理。针对DeepSeek Harness框架在并行任务处理中出现的卡顿问题,本文聚焦于前端渲染优化和任务调度策略,通过虚拟滚动、防抖节流、队列

weixin_34414196的博客 536

Agent长会话变慢卡死原因与优化:上下文膨胀、会话锁排查指南

在大模型应用中,上下文窗口管理是核心概念,其原理在于模型无状态,每轮需重新传入完整上下文,导致token消耗随对话轮次线性增长,进而引发延迟和成本上升。技术价值在于通过上下文工程优化,可显著提升长会话稳定性。典型应用场景包括agent开发、workbuddy和openclaw部署,常遇到上下文已使用满、会话文件锁等问题。自然收敛到本文主题:拆解agent长会话变慢和卡住的成因,提供排查链路与优化方案。

weixin_29042035的博客 251

一文彻底搞懂什么是LangChain?

LangChain赋予了开发人员将LLM与其他计算和知识来源相结合以构建应用程序的能力。使用LangChain,开发人员可以使用一个抽象LLM应用程序的核心构建块的框架。探索LangChain的能力并尝试其各个组件,会发现可能性几乎无限。LangChain框架提供了一种灵活和模块化的语言生成方法,允许创建根据用户特定需要量身定制的定制解决方案。

女王の专属领地 2万+

开源大模型本地部署实战:Llama、DeepSeek、Qwen选型与工程落地指南

大语言模型(LLM)本地部署已成为AI工程化核心环节,其本质不是比拼参数量或榜单分数,而是考察模型架构、推理引擎、量化支持、IDE集成与多模态扩展能力的系统性适配。Llama以纯净Transformer结构成为通用底座,依赖llama.cpp和GGUF量化实现跨平台轻量推理;DeepSeek深度优化代码与数学推理,通过原生OpenAPI、FlashAttention-2及tensor parallelism显著降低API延迟;Qwen则采用模块化设计,支持视觉编码器(Qwen-VL)、生物计算(Qwen-B

weixin_29952383的博客 396

从文本对话到AI智能体:构建现代对话系统的架构、实现与优化指南

大语言模型(LLM)驱动的对话系统,其核心原理在于通过自然语言理解与生成技术,模拟人类对话交互。其技术价值在于将通用语言能力转化为可执行具体任务的智能体(Agent),从而在客服、办公自动化、代码生成等应用场景中提升效率。本文聚焦于构建此类系统的工程实践,深入探讨了分层架构设计,其中会话管理与上下文压缩是保障长对话连贯性的关键技术。针对常见的性能“变慢”问题,文章提供了从网络传输、后端逻辑到模型调用的全链路排查与优化方案,并详细阐述了如何通过ReAct模式实现工具调用,完成从“聊天”到“做事”的能力跃迁。

weixin_30376509的博客 300

AD学习笔记(一)基础认识

文章目录AD学习笔记第一讲 AD基础认识一、两库两图(分别对应下图)1、PCB图(pcbdoc)2、原理图(schdoc)3、原理图库(schlib)4、PCB库(pcblib)二、封装1、DIP封装2、LQFP封装三、绘制整体流程1、建立工程(PrjPcb)2、建立两库两图并保存整个工程(五次)3、从库中提取绘制原理图4、原理图导入pcb图5、根据原理图布线6、pcb图交由工厂打板 AD学习笔记 第一讲 AD基础认识 一、两库两图(分别对应下图) PCB图(pcbdoc) 原理图(schdoc) PCB库

qq_52465473的博客 6686

OpenMontage 前端性能优化:用 Passive 事件监听器消除滚动卡顿延迟

滚动是 Web 页面最高频的交互之一,而一个未声明 `passive` 的 `touch`/`wheel` 事件监听器,就可能让整个页面的滚动产生可感知的延迟。本文基于 OpenMontage 仓库中 `.agents/skills/vercel-react-best-practices` 技能体系内的 [client-passive-event-listeners.md](https://lin

gitblog_00561的博客 1005

双脉冲测试中IGBT驱动电阻和驱动电容的研究

  在LTspice中没有双脉冲波形发生器,要做一个双脉冲的波形只能用电压源来进行特殊设置,不是很方便,为此我写了一个双脉冲波形发生器,有需要的可以下载。双脉冲波形发生器。   如下,该元器件可以自定义延迟时间Td,第一个脉冲宽度T1,第二个脉冲宽度T3,两个脉冲间隔T2,脉冲循环个数Ncycle以及高低电平Vhigh,Vlow。       IGBT开通时Rg的影响: 如果增大Rg: ①开通延...

gaoyong_wang的博客 8354

电池模拟器【 电化学模型深度解析:PNGV模型原理与应用(专业科普版)】

1. 模型起源PNGV(Partnership for a New Generation of Vehicles)模型诞生于1993年美国“新一代汽车合作计划”,旨在提升混合动力汽车电池系统的建模精度。该模型最初针对铅酸电池设计,后经改进广泛用于锂离子电池、镍氢电池等动态特性仿真。2. 模型定位PNGV属于**等效电路模型(ECM)**的进阶版本,介于简单Rint模型与复杂电化学模型(如P2D模型)之间,兼顾计算效率与精度,是BMS(电池管理系统)中SOC/SOH估算的主流选择。PNGV模型凭借。

优快云-新能源汽车研发测试专业博主 1698

3步解决RD-Agent Web UI日志显示异常:从卡顿到流畅的优化指南

你是否遇到过RD-Agent Web UI界面日志加载缓慢、格式错乱或大量日志导致页面卡顿的问题?本文将从前端渲染、后端处理和配置优化三个维度,提供可落地的解决方案,帮助你5分钟内解决90%的日志显示问题。 ## 问题分析:日志显示异常的三大根源 ### 1. 前端渲染压力过大 RD-Agent Web UI使用Streamlit框架构建,日志通过`st.code()`直接渲染。当日志量超过1...

gitblog_00360的博客 419

beegfs源码分析

BeeGFS的客户端是由一个内核模块和两个系统服务组成的,这里咱们主要分析内核模块。由于BeeGFS的目录树解析,是在父目录DEntry里找子目录或文件DEntry,逐级迭代完成的,所以在Mount文件系统时,须要从管理节点获取根元数据节点的ID,而后再向根元数据节点查询根目录的DEntry的信息,为后续的目录解析打下基础。获取类似/data/beeond/data/dentries/38/51/root/#fSiDs#/文件fileId的父路径。1.1 FileID的生成。Session网络消息。

wfzy的博客 1913

3步解决RD-Agent Web UI日志显示异常:从卡顿到流畅的性能优化实践

在AI驱动的研发自动化平台RD-Agent中,Web UI日志显示异常是影响研发效率的核心技术挑战。当处理大规模数据科学实验、量化金融模型训练或Kaggle竞赛代码生成时,日志数据量激增导致页面卡顿、内存泄漏和用户体验下降。本文针对RD-Agent日志系统的架构瓶颈,提供从渲染优化到传输重构的完整解决方案,实现日志系统从千条级到十万条级的性能飞跃。 ## 技术挑战概述:日志显示异常的业务影响

gitblog_00694的博客 442

LangChain4j + MCP:从工具协议到生产级 Agent

这两年,很多团队都已经把「大模型问答」接入到系统里了:前端一个输入框,后端调一下 OpenAI / DeepSeek / 本地模型,返回一段回答——这类 「简单问答型」AI 功能它只能说,不会做:不会主动查数据库,不会调用你的接口,不会帮你真正执行脚本;面对复杂一点的需求,比如「帮我生成这个报表的 SQL 并执行一下」,普通 ChatGPT 式的问答就开始力不从心了。而Agent 智能体想解决的,就是这件事:不只是回答你「怎么做」,而是能自己思考、自己决定要不要用工具、再用工具把事做完。

OFFTime_we的博客 1152

一步到位解决Docker拉取镜像失败的问题!超详细的Docker代理设置教程!(使用代理解决群晖Docker获取注册表失败的问题)

一步到位解决Docker拉取镜像失败的问题!超详细的Docker代理设置教程!(使用代理解决群晖Docker获取注册表失败的问题)

XiaoqiangClub的博客 1万+

AI Agent 前端流式渲染核心技术文档(SSE \+ WebSocket \+ 打字机渲染)

1.SSE 核心价值:极简单向流式,完美适配 80% 的普通 AI 问答场景,重点解决鉴权、中断、断流重试三大问题;2.WebSocket 核心价值:支撑复杂双向 Agent 交互,心跳、重连、消息队列是生产环境必备兜底能力;3.打字机渲染核心价值:统一流式交互体验,解决性能、滚动、渲染错乱问题,是 AI 产品体验的核心壁垒。

qq_56236582的博客 978

华为OD机试 - 单词倒序(Python/JS/C/C++ 2025 A卷 100分)

华为OD机试 2025A卷题库疯狂收录中,刷题。

学Java,找哪吒 1226

OpenAI深夜发布ChatGPT Agent!新功能真能取代打工人!

OpenAI推出ChatGPTAgent智能体,实现端到端任务自动化执行。该智能体整合浏览器操作、API调用、代码执行等功能,可完成旅行规划、PPT制作等复杂任务,支持人机协作中断与继续。为确保安全,系统设置敏感操作确认机制,并采用防滥用检测和数据清除措施。虽然通用智能体面临行业集成挑战,但OpenAI通过漏洞赏金计划提升系统可靠性。开发者可通过优快云免费获取大模型学习资料,包含300+视频教程和行业报告,掌握从提示工程到垂直领域模型训练的全栈技能。

2401_84204207的博客 707

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

AI Agent上下文工程实战:从架构设计到生产级落地

大语言模型应用开发中,上下文工程是决定AI Agent稳定性的核心技术。其原理在于通过分层管理、动态注入与智能压缩,在有限token预算内为模型提供恰好足够的信息,避免注意力稀释与成本失控。技术价值体现在提升多轮对话准确率、降低API开销与延迟。在客服Agent、RAG系统、本地部署等场景中,合理的上下文管理能显著改善工具调用与长期记忆表现。本文围绕DeepSeek等大模型API,系统讲解上下文分层架构、token预算分配、摘要生成与并发处理等实操要点。

weixin_29053067的博客 211

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

崩铁 ChatBox 1.0.0版本发布!基于KMP的开源AI 对话客户端

摘要 《崩铁ChatBox》是一款基于Kotlin跨平台(KMP)开发的AI角色扮演聊天客户端,支持Android、Windows等平台(iOS/macOS等后续适配)。核心功能包括: 沉浸式主题:双色UI、动态交互与科技感设计; 多角色并发对话:独立会话管理,支持无锁切换与长效记忆(自动滚动摘要); 高度自定义:可创作任意题材角色,配置人设、开场白及多模态附件传输(图片/文件); 智能工具:快速回复推荐、语音合成、图片生成及多模型分配(对话/视觉/语音等); 安全架构:两阶段文件管理、API密钥加密,支持

王凯旋的博客 451
上一篇: 【2026必学收藏】AI Agent入门指南:程序员必看的五大特征与核心组成+资料包
下一篇: 收藏必备!从零开始构建MCP Agent:让大模型进化为能干活的助手,实战指南
不秃头de程序猿
博客等级 码龄5年 4089粉丝 1476原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值