解药不甜SM

本节目标:用一个你能复现的真实提问,讲清两件事——为什么不能直接问大模型,以及 RAG 怎么补上这块短板。

读完,你脑子里会有一张「六步流水线」的图。


一、直接问的三宗罪

打开任意一个大模型,问它:「贵州茅台 2024 年的营业总收入和归母净利润分别是多少?」

你可能拿到三种结果,没有一种能直接用

1、模型直接虚构

数字看着合理,实为凭记忆臆造——这就是幻觉 (Hallucination)。

2、知识有截止日期

它说「我的知识截止到某年,无法回答 2024 年」,直接摆烂。

3、无法溯源

它给了个数,可你追问「出自年报第几页」,它答不上来。

在金融场景,这三种都是致命的。

你不可能拿一个「可能是虚构的、还查不到出处」的数字,去写研报、做决策。

根因只有一句话:大模型的知识是训练时「一次性背进去」的。

它既不知道你私有的、最新的资料,也没法告诉你某句话到底来自哪份文档的哪一页。


二、闭卷改开卷

RAG = Retrieval-Augmented Generation,检索增强生成。

一句话讲透它的直觉:回答之前,先去资料库里把相关的几页「翻出来」,连同问题一起交给大模型,让它「看着资料回答」。

类比最直观:

不带 RAG带 RAG
考试形式闭卷,全凭记忆开卷,允许翻书
答案来源模型脑子里的记忆(可能记错)当场检索到的原文
能不能溯源不能,知道答案抄自哪一页
私有 / 最新数据不知道临时塞进去就知道

把大模型从「背书的学生」,变成「会查资料的分析师」。

这就是 RAG 干的事。


三、六步流水线

要实现「开卷」,得先把书做成「可快速翻阅」的样子,再在提问时精准翻页。

整个过程拆成六步。

前四步是离线建库(只做一次),后两步是在线问答(每次提问都走):

逐步拆解,每一步都对应后面一个章节,这里先建立直觉:

步骤干什么用本课的话说
1. 解析把 PDF 里的文字、表格、页码读出来年报含大量表格,解析质量直接决定上限<br>→ 第 2 章 数据层
2. 分块把长文档切成一小片一小片财务表格不能乱切,切碎了数字就失去意义<br>→ 第 2 章 数据层
3. 嵌入把每片文字变成一串数字(向量)让「语义相近」变成「距离相近」,中文年报用中文强嵌入<br>→ 第 3 章 表示与存储
4. 向量库把向量连同元数据(公司 / 年份 / 页码)存起来一套库兼做向量检索 + 条件过滤<br>→ 第 3 章 表示与存储
5. 检索把问题转成向量,在库里找最近的几片「茅台 vs 五粮液」得先选对公司,否则检索到错公司<br>→ 第 4 章 检索核心
6. 生成把检索到的片段塞进 prompt,据此作答并标页码强制标 (公司·年份·页码),查不到就说查不到<br>→ 第 5 章 生成与评估

记住这张图。

后面每一章,都是在把这六步里的某一步做深、做对。


四、向量与语义距离

第 3 步的「嵌入」是很多人卡壳的地方,用一句话讲透:嵌入 (Embedding) = 把一段文字映射成一个高维坐标点,意思越接近的文字,坐标离得越近。

举两个例子:

  • 「营业收入」和「营收」 → 坐标几乎重合;
  • 「营业收入」和「今天天气」 → 坐标离得很远。

于是「找语义最相关的片段」,就变成了一个纯数学问题——在坐标空间里找离问题最近的几个点。

本课用的 BGE-large-zh 模型,会把每段中文映射成一个 1024 维的向量。

检索时(第 5 步),把用户问题也嵌入成同一个空间里的点,算距离、取最近的 Top-K,就是「翻到最相关的那几页」。


五、选型理由

六步流水线是不变的原理。

但每一步用什么工具,是会变的。

本课的选型原则:面向 TS / 全栈受众,主栈用 Mastra,只在 TS 生态薄弱处用 Python 兜底。

步骤选型为什么
解析MinerU(Python 微服务)开源、中文 + 表格最强<br>TS 这块弱,做成 HTTP 服务边界,顺带讲「Python 即服务」
分块Mastra @mastra/rag框架原生,结构感知分块
嵌入BGE-large-zh(经 API)中文年报必须中文强嵌入,1024 维
向量库Supabase(Postgres + pgvector)·主库一套库同时做向量检索 + 元数据过滤<br>托管免装、跨平台、门槛最低,本课唯一主库
检索Mastra @mastra/pg向量相似度 + WHERE 公司/年份 过滤,一条查询搞定
生成DeepSeek(经 Mastra)中文好、便宜<br>Mastra 统一接入,换模型不改代码

诚实说一句:算法岗 JD 仍以 Python 为主。

TS 栈更适合 AI 应用 / 全栈方向,且市场更稀缺

本课只跟 Mastra 一条主线,避免双栈维护拖慢迭代。


小结

1、直接问大模型有三宗罪

会虚构、知识过期、无法溯源——金融场景里每一条都致命。

2、RAG 把「闭卷」改成「开卷」

先检索相关原文,再让模型看着原文作答。

3、整条链路是六步流水线

解析 → 分块 → 嵌入 → 向量库 → 检索 → 生成。

4、原理不变,工具会变

本课主栈 Mastra (TS),解析用 MinerU 兜底。

下一节,我们先把跑这条流水线的实验台搭起来。

1.1 RAG全貌

课件下载

本节暂无配套课件