本文将系统性地回答以上问题,覆盖 LangChain 1.0 的**核心概念、API 变化、新特性详解**,并在每个关键节点提供新旧版本的代码对比。无论你是刚接触 LangChain 的新人,还是从 0.x 迁移的老用户,都能从本文找到价值。
本文是「智答」RAG 智能问答系统开发系列的**第二篇**。上一篇我们用 30 行代码跑通了 RAG 的最简链路,用的是极度简化的文档处理方案。本篇深入离线链路的上半段:如何把真实世界里格式各异、质量参差的原始文档,加工成干净、结构合理的知识片段——这是整个 RAG 系统质量的真正地基。
本文是「智答」RAG 智能问答系统开发系列的第一篇。本系列面向有 Python 基础、希望系统入门 RAG 工程开发的程序员,共 6 篇文章,配套一个完整的实践项目——「技术文档智能问答助手」。跟完整个系列,你将得到一个支持多格式文档上传、多轮对话、混合检索的生产级 RAG 系统。
前三篇(第17-19篇)把梯度下降、SGD/Mini-batch、Adam 优化器讲透了。AdamW 里的权重衰减(L2 正则化)反复出现,但一直没有正面讲清楚它的数学原理。这一篇补全这块拼图——从正则化的根本动机讲起,推导 L1 和 L2 的几何直觉,再联系到 DeepSeek V3 的 M...
第17篇讲了梯度下降的几何原理,第18篇讲了 SGD 的统计性质和 mini-batch 的噪声正则化效果。两篇都暗含一个缺陷:所有参数用同一个学习率。但神经网络里不同参数的梯度量级可以相差几个数量级——嵌入层参数的梯度极小,某些全连接层的梯度很大。
上一篇我们推导了梯度下降的数学原理——负梯度是损失下降最快的方向,学习率控制步长,学习率太大振荡、太小收敛慢。
上一篇我们讲透了信息熵和交叉熵——熵衡量不确定性,交叉熵衡量"用错分布的代价",最小化交叉熵就是让模型分布靠近真实分布。这一篇深入KL 散度:它是衡量两个概率分布"距离"的工具,交叉熵和它只差一个常数。
上一篇我们推导了 MLE——最大似然估计统一了分类任务的交叉熵损失和回归任务的 MSE 损失。但交叉熵本身来自哪里?为什么叫"交叉"熵?"熵"又是什么?这一篇从信息论的角度重新理解训练损失,把熵、交叉熵、KL 散度这三个概念的关系讲清楚,再联系到 DeepSeek V3 的训练和 R1 的强化学习。