VeritasFi:一个用于多模态金融问答的自适应多层RAG框架技术白皮书
1.0 引言:应对金融领域问答的挑战
在金融领域,从如美国证券交易委员会(SEC)备案文件等复杂的公司披露中获取准确、有上下文依据的洞见至关重要。然而,当前的通用检索增强生成(RAG)系统在应用于这一专业领域时,面临两大核心挑战。首先,它们难以有效处理金融文档中普遍存在的异构数据格式,包括文本、表格和图表等,这往往导致信息提取不完整。其次,这些系统在保持通用金融领域适用性与实现对特定公司场景的深度适应性之间难以取得平衡,导致模型泛化能力不足或定制成本过高。
为克服这些障碍,我们推出了VeritasFi框架,这是一个创新的混合式RAG解决方案,其独特设计旨在应对金融问答的复杂性。
VeritasFi框架的核心优势体现在以下三大创新点:
* 多模态预处理管道:能够将文本、表格和图表等异构数据无缝转换为统一、连贯且机器可读的格式,为后续处理奠定坚实基础。
* 三方混合检索引擎:该引擎并行运行,有机结合了深度多路径检索、外部工具使用和专家策划的高频记忆库,确保了检索结果的全面性、时效性和准确性。
* 创新的两阶段训练策略:专为文档重排器设计,通过从通用金融领域到特定公司的自适应微调,实现了快速、低开销的模型定制。
下文将详细介绍VeritasFi的系统整体架构及其核心组件。
2.0 VeritasFi 系统架构概述
为了有效应对金融问答的复杂性,一个先进的系统必须能够综合处理来自多模态文档、结构化时间序列数据和实时外部信息等高度异构的数据源。VeritasFi作为一个先进的混合RAG框架,其设计初衷正是为了满足这些严苛的需求。该框架由两大核心协同组件构成,各自承担着关键的战略作用:
1. 上下文感知知识策管(Context-Aware Knowledge Curation, CAKC)模块:此模块是数据处理的基石,负责将原始的、非结构化的金融备案文件转换为为高效检索而优化的结构化知识库。
2. 三方混合检索(Tripartite Hybrid Retrieval, THR)引擎:作为系统的查询中枢,该引擎能够并行查询多个不同的信息源,以确保检索到的信息在全面性、准确性和时效性上达到最高标准。
接下来,我们将首先深入探讨上下文感知知识策管(CAKC)模块的具体实现。
3.0 核心组件一:上下文感知知识策管 (CAKC)
上下文感知知识策管(CAKC)模块的战略目标是:将原始、多模态的金融文档转换为一个结构化的知识库。它通过将复杂的备案文件分解为离散且上下文连贯的信息单元,为实现精准高效的索引和检索奠定了基础。该模块最终产出两个互补的知识库:
* SEC备案文件语料库:这是系统的主要知识来源,由一系列经过语义增强、上下文自包含的文本块组成。
* 高频记忆库:这是一个结构化的事实缓存,包含了对常见量化问题的带时间戳的答案,旨在以极低的延迟响应高频查询。
3.1 多模态文档的文本化转换与语义增强
为了让大语言模型(LLM)能够统一处理金融文件中的各类信息,VeritasFi首先利用开源工具(MinerU)和先进的语言模型(GPT-4o)将原始SEC文件中的非文本内容转换为统一的文本叙述。具体而言,图表被转换为总结其核心洞见的结构化说明文字,而表格则被重写为能够捕捉其主要数据趋势和关系的文本陈述。
在完成文本化转换后,系统会执行三项关键的语义增强操作,以进一步优化检索效果:
* 相似块去重 该操作通过计算文本块的密集嵌入向量之间的余弦相似度来识别并移除内容高度冗余的文本块。此举不仅能有效减少检索结果的重复性,提升信息多样性,还能显著节省生成模型宝贵的上下文窗口资源。
* 共指消解 金融文档中代词的频繁使用,使得独立检索出的文本块可能因上下文缺失而产生歧义。为解决此问题,系统会自动用明确的先行词替换代词(例如,将“it”替换为“the company”)。这一步骤对于确保每个文本块的上下文充分性至关重要,有效避免了因指代不明而导致的事实不准确性。
* 元数据生成 为了使独立的文本块在检索时仍能保留其原始的章节级上下文,系统利用GPT-4o为每个文本块生成一个其所属章节的摘要,并将其作为元数据附加。这种共享的上下文锚点能够显著提升系统在处理高级别、概念性查询时的检索准确性。
3.2 高频记忆库的构建与索引
高频记忆库的构建始于由金融专家团队策划的一系列规范化问题。随后,一个半自动化、有人类专家参与验证的流程被用于初始化该记忆库,确保其中存储的每个答案都高度可靠。这个过程最终形成了一个结构化的知识库,能够为常见的量化查询提供快速、精准的答案检索。
在索引策略方面,系统采用了并行处理的方式。对于处理过的文本块,系统同时创建其密集表示(存储于Chroma向量数据库以支持语义搜索)和稀疏表示(构建倒排索引以支持关键词搜索)。同时,高频记忆库也被建立索引,以支持多种高效的匹配算法。
在构建了优化的知识库之后,系统需要一个强大的检索引擎来充分利用这些数据,这自然引出了我们的下一个核心组件。
4.0 核心组件二:三方混合检索 (THR) 引擎
三方混合检索(THR)引擎的设计理念是通过并行处理和多路径策略,全面应对不同复杂度和数据类型的金融查询。这一战略性多层架构旨在应对不同的查询失败模式:高频记忆库确保了常见查询的速度与效率;工具使用保证了信息的时效性与现实世界基础;而深度多路径检索则为复杂的、基于文档的查询提供了深度与全面性。在接收到用户查询后,系统首先进入查询预处理阶段,随后将请求分发至三个并行的专业化检索模块。
查询预处理
此模块是检索流程的入口,其功能主要分为两个步骤:
1. 查询规范化与上下文增强:为解决用户查询中可能存在的不完整性和模糊性,系统首先对查询进行规范化处理,例如将其翻译为统一的英文。接着,通过整合完整的对话历史来进行共指消解和上下文扩充,使LLM能够准确理解用户在多轮对话中的真实意图。
2. 意图驱动的分解与路由:此步骤将经过增强的复杂查询分解为最小的、自包含的子查询。然后,系统会根据每个子查询的意图,将其智能地分配给最优的检索路径,包括高频记忆库、预定义工具、文档语料库深度检索,或利用LLM自身知识直接回答。
1. 深度多路径检索
此路径专为需要深入分析非结构化文件的子查询而设计。
* 首先,它通过并行执行三种不同的检索策略(BM25稀疏检索、密集检索和元数据检索)来最大化召回率,确保从不同维度捕捉与查询相关的候选信息。
* 随后,块捆绑模块会介入,通过迭代地附加与每个初步检索到的文本块语义相似的相邻块,来扩展上下文。这一机制确保了能够完整捕获金融文件中跨越多个段落的深入讨论。
2. 高频记忆库查找
此路径针对常见且重复出现的金融查询,旨在提供即时响应。
* 它通过三种并行的匹配算法(子序列相似度、关键词相似度 (BM25) 和语义相似度)将用户查询与预编译的知识库进行匹配,以最高效地找到准确答案。
* 该模块的核心优势在于,一旦成功匹配,系统便可绕过计算密集型的深度检索和生成步骤,从而显著降低查询延迟。
3. 工具使用
此路径用于处理需要实时信息的查询,例如查询当前股价或最新的公司行动。
* 它通过集成外部API来获取实时的市场信息,为基于历史数据的分析提供补充。
* 该模块遵循OpenAI的函数调用模式,使LLM能够根据查询需求自主选择和调用最合适的工具,实现了高度的自动化和灵活性。
在通过这些路径检索到大量候选信息后,系统需要一个精确的重排模块来进一步提炼结果,从而引出下一章节的核心创新。
5.0 核心创新:域到实体自适应重排 (DAR)
在多路径检索和块捆绑之后,域到实体自适应重排(DAR)模块的战略目标是通过精准过滤和重新排序候选文本块来显著提高检索结果的精确度。其核心机制是使用一个解码器专用模型,通过一种基于提示的二元分类方法,为每个文本块与查询的相关性打分(判定为“相关”或“不相关”),从而实现高效排序。
5.1 两阶段自适应策略
VeritasFi提出了一种创新的两阶段、从领域到实体的微调策略。该策略旨在最大化基础模型的金融领域泛化能力,同时最小化将其应用于新公司时所需的手动定制工作量。
1. 第一阶段:通用金融重排器训练
* 此阶段的目标是训练一个能够深刻理解金融文件特有的语义和结构细微差别的通用重排器。
* 为实现这一目标,系统使用了一个经过系统性实体信息屏蔽的增强数据集进行训练。训练数据采用了三种实体抽象策略(替换产品/人名、替换公司名、完全抽象化)。这种方法迫使模型学习金融语言底层的语义和结构模式,而非仅仅记忆特定公司的表面事实,从而生成一个具备可迁移金融推理能力的强大通用模型。
2. 第二阶段:目标公司自适应
* 此阶段的目标是将第一阶段训练出的通用重排器专门化,以精准服务于特定的目标公司。
* 该阶段的关键创新在于引入了一个自动化标注模块。该模块由一个LLM执行,直接在多路径检索管道的实际输出上进行操作,为重排器生成训练样本。这一创新的核心在于,它通过在检索管道的实际输出上进行标注,直接解决了训练与服务分布不一致(train-serve skew)的难题,确保了重排器是在其生产环境中将遇到的精确数据分布上进行微调的,从而实现了快速、可扩展且高效的模型定制。
5.2 对比学习目标
两个微调阶段均采用了监督式微调(SFT)与对比学习相结合的目标。模型被训练为对相关的“正例”文本块赋予比不相关的“负例”文本块更高的分数。为了增强模型的辨别能力,负例样本精心结合了由检索器识别但最终判定为无关的“硬负例”(plausible but incorrect chunks)和从语料库中随机抽样的“随机负例”。这种策略至关重要,它训练模型不仅能区分明显的不匹配,更能辨别细微的语义差异,从而显著提升了模型的鲁棒性。
在详细介绍了系统的所有组件之后,下一章节将通过详实的实验数据来验证其有效性。
6.0 实验评估与性能分析
本章节将通过在多个公共基准和内部公司数据集上的广泛实验,全面评估VeritasFi框架的端到端性能、检索效率和重排器自适应能力。评估旨在系统性地验证该框架相较于现有先进RAG架构的优越性。
我们用于评估的数据集包括公开的FinanceBench、FinQA,以及两个内部公司数据集Lotus和Zeekr。基线模型则涵盖了GraphRAG、LightRAG以及标准的RAG基线。
6.1 端到端问答性能
下表总结了VeritasFi在所有四个数据集上的端到端性能表现。
数据集 配置 事实正确性 (%) 响应相关性 (%) 上下文召回率 (%) 上下文精确度 (%) 平均分
Zeekr LightRAG 20.5 46.8 11.2 19.3 24.5
BM25+Faiss w/ CAKC 35.9 69.5 36.0 41.1 45.6
VeritasFi (ours) 64.3 82.0 59.0 46.3 62.9
Lotus LightRAG 24.8 58.8 15.9 28.7 32.1
BM25+Faiss w/ CAKC 46.5 77.9 48.2 46.8 54.9
VeritasFi (ours) 57.3 89.4 57.6 51.6 64.0
FinanceBench LightRAG 40.3 6.5 3.1 8.8 14.7
BM25+Faiss w/ CAKC 21.7 52.8 46.0 28.1 37.1
VeritasFi (ours) 24.7 75.1 49.2 37.2 46.5
FinQA Bench LightRAG 29.5 64.1 34.0 33.4 40.3
BM25+Faiss w/ CAKC 32.0 74.8 74.7 29.6 52.8
VeritasFi (ours) 33.7 80.1 73.9 38.8 56.6
分析上表数据可以得出两个关键结论。首先,VeritasFi在所有数据集上均取得了最高的平均性能分,这充分展示了其方法的持续优越性和强大的泛化能力。其次,实验明确证明了**上下文感知知识策管(CAKC)**模块的巨大价值。将CAKC集成到系统中,为所有检索方法都带来了显著的性能提升,尤其是在上下文召回率和事实正确性这两个关键指标上,效果尤为突出。这一提升直接源于CAKC模块能够生成上下文完整且去重的信息单元,从而为下游的检索和生成模块提供了一个更高质量、噪声更低的知识库进行操作。
6.2 检索与重排性能分析
多路径检索性能分析
实验结果表明,VeritasFi的混合多路径检索方法在所有数据集上一致地优于基线方法,带来了2-5%的命中率提升。同时,我们观察到单一检索方法(如仅使用BM25或Faiss)的性能表现出明显的数据集依赖性,这反过来凸显了VeritasFi多路径集成策略的鲁棒性,它通过融合不同检索策略的互补优势,在各种数据分布下都能保持稳定而出色的性能。
域到实体重排性能分析
实验数据证实了我们两阶段自适应策略的有效性,该策略在所有评估指标上均取得了持续且显著的改进。第一阶段的成功证明了通过在实体匿名的金融数据上进行训练,模型能够建立起可迁移的金融语言理解能力。第二阶段在此基础上更进一步,通过自动化的、与实际检索场景对齐的微调,有效地将这种通用知识应用到新的目标实体上。与直接微调相比,经过完整DAR策略优化的模型在两个数据集上均取得了更高的准确率,例如在Zeekr数据集上,NDCG@5指标提升超过2.5,MRR@5指标提升超过2.0,在Lotus数据集上也取得了相似的增益。
至此,我们完成了对VeritasFi框架的全面介绍和评估。最后一章将对本白皮书进行总结。
7.0 结论与未来展望
本文详细介绍了一个实用且高效的端到端金融问答框架——VeritasFi。它通过开创性的架构设计,成功解决了在金融领域处理异构数据和实现高效公司特定自适应的双重挑战。
VeritasFi的卓越性能源于其三大核心组件的协同作用:上下文感知知识策管(CAKC)模块、三方混合检索(THR)引擎,以及创新的两阶段域到实体自适应重排(DAR)训练策略。实验数据充分证明了其有效性,例如,在Zeekr数据集上,VeritasFi的平均分相比强大的LightRAG基线模型提升了高达38.4个点。
更重要的是,VeritasFi定义了一个可推广的架构蓝图,为其他需要平衡广泛领域适用性与快速场景专业化的特定领域RAG系统提供了一个新的范式。对于金融、法律、医疗保健等专业领域而言,这一蓝图具有重要的参考意义。未来的工作可以探索将此框架扩展到其他专业领域,并进一步集成更先进的推理能力,以应对更复杂的分析任务。


