游乐游手机版
首页/AI热点日报/热点详情

RAG前沿之CoV-RAG验证链增强与面向PDF文档多模态RAG方案解析

类型:热点整理2026-06-26
今天是2024年10月11日,星期五,北京,天气晴。 我们接着来聊聊RAG领域最近的两个工作。一个主打面向PDF文档的混合多模态检索方案,另一个则是RAG与类思维链(CoT)的结合,叫CoV-RAG。 说实话,这两个工作都偏工程,算法创新不多,甚至有点粗糙,但胜在实用,值得瞄一眼。 当然,权当参考,

今天是2024年10月11日,星期五,北京,天气晴。

我们接着来聊聊RAG领域最近的两个工作。一个主打面向PDF文档的混合多模态检索方案,另一个则是RAG与类思维链(CoT)的结合,叫CoV-RAG。

说实话,这两个工作都偏工程,算法创新不多,甚至有点粗糙,但胜在实用,值得瞄一眼。

当然,权当参考,也权当启发。

一、一个面向PDF文档的多模态RAG方案

先看一个叫《PDF-WuKong》的工作(arXiv:2410.05970,GitHub: yh-hust/PDF-Wukong),专门处理包含文本和图像的长PDF文档——比如学术论文那种。

标题挺宏大,实际上就是个多模态RAG的雏形。

有几个点值得关注。先看看目前处理长文档的代表模型有哪些:

再来看PDF-WuKong的架构。

1、架构

PDF-WuKong的架构由三部分组成:文档解析器、稀疏采样器和大语言模型。文档解析器负责把PDF转成交错的文本块和图像。稀疏采样器对这些文本块和图像进行编码,并缓存嵌入向量。当用户提问时,模型通过简单的相似度计算,从缓存中挑选出最相关的内容。最后,查询和这些筛选出来的内容一起喂给大语言模型,生成答案。

这里的关键是稀疏采样器(SparseSampler):它先对所有文本块和图像进行编码,把候选向量嵌入缓存下来,然后计算查询嵌入与缓存的文本/图像嵌入之间的相似度,选出top-k最相关的文本块和图像作为证据。

2、推理流程

整个算法里,最核心的部分就是稀疏采样阶段。它通过计算查询和文档内容(文本+图像)的相似度,挑出最相关的部分,再传给大语言模型。

  • 输入:PDF文档 D 和用户查询 q
  • 输出:生成的答案 a
  • 初始化:文本编码器 En_T、图像编码器 En_I 和大语言模型 LLM
  • 文档解析:把PDF解析成文本块 {T1,T2,...,Tn} 和图像块 {I1,I2,...,Im}
  • 稀疏采样:对所有文本块和图像编码,缓存嵌入向量 ET={eT1,...,eTn}EI={eI1,...,eIm}。对查询编码得 eq,然后计算相似度 ST={Sim(eq,eTi)}SI={Sim(eq,eIj)},选出top-k文本和图像 (T,I)top=TopK(ST,SI,k)
  • 答案生成:把查询和选中的文本、图像喂给LLM:a=LLM(q,(T,EI)top),返回答案。

3、训练流程

训练阶段,模型通过对比学习损失 Lrep 来拉近查询与正样本特征的距离,同时推开负样本——本质上就是SimCSE的思路。接着用交叉熵损失 LQA 让模型学会根据查询和相关文档内容生成准确答案。

最后两个损失联合优化,端到端训练。模型既能理解文档内容,又能准确回答用户查询。

  • 输入:PDF文档 D,查询 q,真实答案 gt
  • 输出:总损失 Ltotal
  • 初始化:文本编码器、图像编码器、LLM。
  • 数据准备:从解析器获取文本块和图像块。
  • 多模态编码:对查询、正样本、负样本编码:eq←En_T(q)ET={eTP,eTN}←En_T({TP,TN})EI={eIP,eIN}←En_I({IP,IN})
  • 对比学习损失:用公式 Lrep = -1/P Σ log(exp(sim(eq,ei)/τ) / (sum_all)),其中正样本P个,温度参数τ。
  • LLM预测a←LLM(q,TP,eIP)
  • 交叉熵损失LQA(a,gt)
  • 端到端优化Ltotal = Lrep + LQA
  • 返回损失

看到这里就明白了,这个工作充其量只是多模态检索RAG的早期雏形,没什么特别新鲜的东西。

二、关于RAG与COT结合进展:CoV-RAG

再看另一个工作,《Retrieving, Rethinking and Revising: The Chain-of-Verification Can Improve Retrieval Augmented Generation》(arXiv:2410.05801)。它提出了一种验证链增强RAG的方法,叫CoV-RAG,核心是把验证模块集成到RAG流程中,进行打分、判断和改写。

有几个有趣的点值得说。

1、两种RAG错误

文章指出了RAG常见的两类错误:外部检索错误和内部生成错误。

针对这两种错误,CoV-RAG分别处理:

  • 对于外部检索错误,用修订后的查询重新检索知识。
  • 对于内部生成错误,在训练时把质量评估和验证任务与思维链推理(CoT)统一起来。

2、CoV-RAG框架

CoV-RAG的全称是Chain-of-Verification for Retrieval-Augmented Generation,示意图如下:

它由三个主要组件构成:检索器(Retriever)、生成器(Generator)和链式验证(Chain-of-Verification)。

  • 检索器:根据输入问题检索最相关的前五个段落作为参考。
  • 生成器:利用参考段落和问题,通过LLM生成答案。
  • 链式验证模块:这是核心。它评估生成的答案和检索到的参考的准确性,包括打分和判断。打分会评估参考的正确性以及答案的正确性、引用准确性、真实性、偏见、简洁性等维度。判断环节决定答案是否准确、真实、清晰。如果答案不准确,链式验证模块会生成一个修订后的问题,让检索器重新检索,这个过程可以迭代多次。

3、推理流程

具体的推理步骤可以看Algorithm 1的示意图:

这套算法的核心就是通过验证链来迭代提高答案的准确性和事实性。初步生成答案后,模型评估质量,必要时修订问题并重新检索,直到输出高质量答案。

输入:待回答的问题。

  1. 检索:使用检索器根据问题检索相关参考段落。
  2. 生成答案:生成器基于问题和参考生成初步答案。
  3. 预测验证结果:生成器再次预测验证结果,包括参考分数、答案分数(多维度)、判断(是否准确真实清晰)以及修订后的问题。
  4. 重新检索指示:根据验证结果获取一个重新检索指示σ,决定是否需要用修订后的问题更新外部上下文。
  5. 条件重新检索:如果指示为真,检索器依据修订后的问题重新检索。
  6. 重新生成答案:如果进行了重新检索,生成器基于初始问题和新参考再次生成答案并更新。

最终返回确定的答案。

总结

今天看了RAG方向的两个工作:一个是面向PDF文档的多模态检索RAG方案,另一个是RAG与类思维链结合的CoV-RAG。它们都不是那种碘伏性的研究,但针对特定问题采取的应对方式——比如稀疏采样、验证链重检——很工程化,适合当做法意义上的参考论文来读。

来源:https://www.53ai.com/news/RAG/2024101108724.html

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。