作者:互联网 时间: 2026-07-19 18:13:02
2025年,AI圈出了件大事。

DeepSeek 只花了600万美元的训练成本,就搞出了一个能和 OpenAI 掰手腕的模型。这消息一出,业界哗然。紧接着,OpenAI 坐不住了,指控 DeepSeek 用了一种叫“蒸馏”(Distillation)的技术,相当于抄了近道。
好家伙,这指控听起来挺唬人。但“蒸馏”到底是啥?
与此同时,咱们在搞 AI 应用(尤其是 RAG 知识库)的时候,天天跟各种 Word、PDF、网页打交道。怎么把这些乱七八糟的源文件喂给 AI? 这又涉及到另一门手艺——文档切割(Document Chunking) 。
今天这篇文章主打一个“买一送一”。咱们不拽术语,把模型训练圈的蒸馏和应用开发圈的文档切割一次性聊透!
“蒸馏”这个词,学过初中化学的都知道。
比如酿白酒,就是利用沸点不同,加热让酒精先变成蒸汽,再冷却收集。精髓就是四个字:取其精华。
大模型里的蒸馏,核心思路一模一样。只不过对象从“酒精”换成了“知识”。我们要把一个大模型(老师模型)脑子里的精华知识,“提纯”出来,灌进一个小模型(学生模型)脑子里。
简单来说,就是让小模型去偷师大模型的本事。
先想想,如果让你教一个小学徒,怎么让他学得快?
最直接的办法:喂答案。
比如拿一张猫的图片给大模型(老师)看,大模型说:“这是猫。” 然后我们把“猫”这个标准答案告诉小模型(学生),让它记住。在AI里,这个标准答案就叫硬标签(Hard Label) 。
这像什么呢?就像给厨师新人一本菜谱,上面写着:“盐3克,糖5克。”
新人照着做,确实能做出来,但他不知道为什么放3克盐而不是5克。他学到的只是步骤,而不是精髓。
真正的知识蒸馏,可没这么简单粗暴。它不关心大模型给了“什么答案”,而是关心大模型是“怎么得出这个答案的”。
大模型在回答问题时,其实不是只给出一个孤零零的结果,它会给所有可能的答案分配一个概率。
比如,给大模型看一张图,它可能输出:
这组概率分布,就是软标签(Soft Label) 。
你看,这比单纯的硬标签(猫)信息量大太多了!软标签告诉小模型:猫和狗虽然不一样,但也有相似特征;猫和老虎更像。这种大模型在亿万数据里悟出来的“类比感”,就是传说中的暗知识。
三大优势:
三大边界(也得清醒地看到):
聊完怎么训练模型,咱们把视线拉回到日常开发。
现在最火的应用是什么?RAG(检索增强生成) ,也就是搞知识库问答。但知识库里的知识从哪来?怎么喂给AI?这就轮到文档切割登场了。
知识的来源五花八门:可能是本地的Word文档、PDF文件,也可能是B站的视频字幕、某个网页URL,甚至是一条靠谱的Twitter。
这些格式各异的文件,怎么统一变成向量数据库能存的东西?
在 Langchain 的世界里,第一步就是通过 Loader(加载器) 。它的输入是原始文件,输出是标准的 Document 对象(包含 pageContent 内容和 metadata 元数据)。
Langchain 社区提供了 180 多种加载器,基本覆盖了你能遇到的所有格式。
光说不练假把式,咱们直接上一段真实代码。比如,你想把掘金上的一篇文章存进知识库:
javascript
复制代码import "dotenv/config";
import { CheerioWebBaseLoader } from "@langchain/community/document_loaders/web/cheerio";// 访问网址并提取文档内容
// cheerio 可以传递 css 选择器来精准定位,把网页里无关的侧边栏、广告统统过滤掉
const cheerioLoader = new CheerioWebBaseLoader(
"https://juejin.cn/post/7660707431753678854",
{
selector: '.main-area p' // 只抓取文章的主体段落
}
);// 加载!输出是一组 Documents
const documents = await cheerioLoader.load();
console.log(documents);
文件加载完了,是不是直接就能向量化存库了?
千万别!
一个PDF动不动几十页,一篇文章几千字。如果整篇文章作为一个向量去检索,那就像是大海捞针。用户的提问往往只针对其中一小段,如果整个大文件塞进去,检索出来的内容噪音极大,AI根本找不到精确的答案。
所以,我们得切!这就是 Splitter(分块器) 的活。
我们需要把长文档,切割成一个个具有一定语义的、大小适中的 Chunk(块) 。这样,当用户提问时,向量数据库就能精准地捞出最相关的那一小块内容喂给大模型。
切割的核心原则:
(注:具体的切分策略如按字符数、按语义、按递归切分,受限于篇幅,咱们下回分解,但记住这一步必不可少!)
今天咱们一文聊透了两件事:
一个管“模型怎么学聪明”,一个管“数据怎么喂进去”。两者虽处不同赛道,但都是 AI 工程化落地不可或缺的“手术刀”。
希望这篇“双拼”干货对你有用!如果对 Langchain 的分块策略(比如 RecursiveCharacterTextSplitter)感兴趣,咱们评论区见,人多的话我接着肝下一篇!