1. 课程导入
欢迎进入《金融研报与财报RAG问答系统实战》。在开始写第一行代码之前,我们需要先建立一张清晰的“作战地图”:这套系统到底要解决什么问题、它由哪些关键部件构成、我们会在30章里按什么顺序把它从零搭起来。金融文档问答与通用问答最大的区别在于——答案必须可溯源、数字必须准确、口径必须一致。一份年报动辄两三百页,一份深度研报包含大量图表与脚注,传统关键词检索只能返回整页PDF,而大模型直接回答又容易“编数字”。RAG(Retrieval-Augmented Generation,检索增强生成)正是为这类场景而生:先从文档中检索出真实证据,再让模型基于证据作答。
一、学习目标:从“能跑通”到“敢上线”
本课程的目标不是做一个玩具Demo,而是构建一个在真实金融场景中可评估、可迭代、可上线的问答系统。学完之后,你应当具备以下能力:
- 文档解析能力:能处理PDF、HTML、Word等格式的研报与财报,正确抽取正文、表格、标题层级与页码信息。
- 切分与索引能力:能针对财报的“章节—小节—段落—表格”结构设计切分策略,并建立向量索引与关键词索引的混合检索。
- 检索优化能力:掌握查询改写、元数据过滤、重排序(Rerank)等手段,把“召回率”转化为“命中率”。
- 生成与溯源能力:能设计带引用编号的提示词,让每个数字都能回指到原文页码与表格。
- 评估与迭代能力:能搭建包含忠实度、答案相关性、上下文召回率的评估集,用数据驱动调优。
二、核心价值:为什么金融场景必须用RAG
金融问答有三条硬约束:准确性、时效性、可审计性。大模型的参数化知识存在训练截止时间,无法覆盖最新财报;同时模型对数字的“记忆”并不可靠,容易产生看似合理的错误。RAG通过外挂知识库解决时效问题,通过引用溯源解决审计问题,通过检索约束降低幻觉。下表对比了三种常见方案在金融场景下的表现:
| 方案 | 数字准确性 | 时效性 | 可溯源 | 适用场景 |
|---|---|---|---|---|
| 纯大模型直接回答 | 低,易编造 | 差,受训练截止限制 | 无 | 概念解释、通识问答 |
| 关键词/全文检索 | 高,返回原文 | 好,实时索引 | 强 | 定位原文、人工阅读 |
| RAG问答系统 | 较高,基于证据生成 | 好,可增量更新 | 强,带引用 | 研报财报问答、投研助手 |
可以看到,RAG并不是要取代检索,而是把“检索到的证据”交给模型做归纳与表达。它的价值在于把投研人员从“翻PDF找数字”中解放出来,同时保留核对原文的通道。
三、整体架构:一条从文档到答案的数据流水线
本课程采用的系统架构分为离线索引与在线问答两条链路。离线链路负责把非结构化文档变成可检索的知识单元;在线链路负责把用户问题变成带引用的答案。下图展示了核心部件与数据流向:
离线链路的关键在于“结构化”:财报的目录、章节标题、表格标题、脚注都是重要元数据,切分时不能简单按固定字数截断。在线链路的关键在于“混合检索”:向量检索擅长语义匹配,关键词检索擅长精确数字与专有名词,两者融合后再用重排序模型精选Top-K,才能兼顾召回与精度。
四、实战路线图:30章如何推进
课程按“数据—检索—生成—评估—工程化”五个阶段推进,每一阶段都有可运行的产出物:
- 数据准备阶段(第2–8章):搭建PDF解析流水线,处理表格、标题、页码,设计面向财报的切分策略,完成向量化与索引构建。
- 检索优化阶段(第9–15章):实现混合检索、查询改写、元数据过滤与重排序,解决“找不准”的问题。
- 生成与溯源阶段(第16–22章):设计提示词模板,约束模型基于证据作答,输出带引用编号的答案,处理多轮对话与上下文管理。
- 评估与调优阶段(第23–27章):构建金融问答评估集,度量忠实度与召回率,定位失败案例并迭代。
- 工程化与上线阶段(第28–30章):封装API、加入缓存与限流、监控检索与生成质量,完成可部署的系统。
五、常见误区与复盘思路
初学者最容易踩的坑有三个:第一,把RAG当成“向量数据库+大模型”的简单拼接,忽视文档解析质量,导致表格数字错位、标题丢失;第二,切分粒度过粗或过细,过粗导致检索噪声大,过细导致上下文断裂、数字失去单位;第三,只关注生成效果,不建立评估集,调优全凭感觉,无法判断改动是否真的有效。
复盘时建议按“检索失败”和“生成失败”两类归因:检索失败表现为正确证据未出现在Top-K中,需要检查切分、索引与查询改写;生成失败表现为证据正确但答案错误,需要检查提示词约束、上下文长度与模型选择。把每次失败案例记录到评估集中,系统才能持续进化。
现在,你已经对这套系统的目标、价值、架构与路线有了整体认识。接下来,我们将从最基础也最关键的文档解析开始,把一份真实的PDF财报变成机器可检索的结构化知识。