3. RAG核心概念
在金融研报与财报问答场景中,直接让大语言模型“凭记忆”回答问题,往往会遇到三类硬伤:数据时效滞后、数字细节幻觉、以及无法给出可核验的出处。检索增强生成(Retrieval-Augmented Generation,RAG)正是为解决这类问题而设计的工程范式。它的核心思想并不复杂:把“回答”拆成“先查资料,再组织语言”两步,让模型在生成之前先获得与问题相关的外部证据。
一、核心原理:参数化记忆与非参数化记忆的协同
纯生成模型的知识被压缩在参数中,属于“参数化记忆”。这种记忆模糊、不可追溯、更新成本极高。RAG 引入“非参数化记忆”——外部知识库,把研报、财报、公告、招股书等文档切片、向量化后存入索引。回答时,系统先用问题去检索最相关的片段,再把片段作为上下文交给生成模型。
从概率视角看,纯生成模型建模的是 P(答案 | 问题);RAG 建模的是 P(答案 | 问题, 检索到的证据)。条件项的增加,使答案被“锚定”在真实文本上,显著降低编造数字的概率。检索器与生成器可以联合训练,也可以各自独立、通过提示词拼接,后者在金融工程中更常见,因为便于替换模型和更新知识库。
二、方法流程:从文档到答案的五个环节
- 文档解析与切片:将 PDF 财报、研报按章节、表格、段落切分为 300~800 字的块,保留页码、标题、表格结构等元数据。
- 向量化与索引:用嵌入模型把每个块编码为向量,写入向量数据库,同时建立关键词倒排索引以支持混合检索。
- 查询理解与检索:对用户问题做改写、扩展,执行向量相似度检索与 BM25 关键词检索,融合排序后取 Top-K。
- 重排与过滤:用交叉编码器对候选片段精排,剔除低相关或重复内容,控制上下文长度。
- 生成与引用:把证据与问题组装成提示词,约束模型“只依据材料回答”,并输出出处。
# 典型检索配置示例
retriever:
type: hybrid # 向量 + BM25
top_k: 20 # 初筛候选
rerank_top_n: 5 # 精排后保留
chunk_size: 600
chunk_overlap: 80
score_threshold: 0.35 # 低于阈值不进入生成
generator:
temperature: 0.1 # 金融场景要求稳定
citation: required # 强制标注来源
三、与纯生成模型的区别
| 维度 | 纯生成模型 | RAG 系统 |
|---|---|---|
| 知识来源 | 训练参数 | 外部知识库 + 参数 |
| 时效性 | 受训练截止时间限制 | 更新文档即可生效 |
| 可追溯性 | 难以给出出处 | 可定位到页码与段落 |
| 数字准确性 | 易幻觉、易算错 | 以原文数字为准 |
| 维护成本 | 微调成本高 | 索引维护成本低 |
| 适用问题 | 通用常识、写作 | 专业问答、事实核查 |
四、典型应用场景与金融领域适配性
RAG 的典型场景包括:企业知识库问答、客服工单辅助、法律条文检索、医疗指南查询,以及金融领域的研报问答、财报指标提取、公告事件追踪、合规审查等。金融领域对 RAG 的适配性尤其高,原因有三:
- 文档密集且结构化程度高:财报有固定科目,研报有标准章节,便于切片与元数据管理。
- 事实与数字必须可核验:监管与投研都要求答案有据可查,RAG 的引用机制天然契合。
- 知识更新频繁:季报、年报、评级调整持续产生,RAG 只需增量更新索引。
复盘一个典型失败案例:某系统被问“某公司 2023 年毛利率”,检索到的片段只包含营收与成本,模型却自行相除并四舍五入,得出与财报披露不一致的数字。修复方式是:在切片阶段保留表格整块,在提示词中要求“若材料未直接给出比率,需列出计算过程与原始数字”,并在生成后增加数值校验环节。这说明 RAG 的可靠性来自检索、提示、校验三者的协同,而非单一模型能力。
理解 RAG 的核心概念,是后续搭建金融研报与财报问答系统的前提。只有先厘清“检索什么、如何检索、如何约束生成”,才能在工程实现中做出正确的架构选择。