2026年7月9日 周四晚上19:30,报名腾讯会议了解“如何构建自进化的动态知识库(Brain)”(限30人)
免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


收藏

构建“生产就绪”的企业级RAG应用的6大优化考量【下】

发布日期:2024-08-27 07:41:03 浏览次数: 2669
作者:AI大模型应用实践

微信搜一搜,关注“AI大模型应用实践”


多模态文档处理

企业中有很多的知识并不总是简单的文字形态,很多是以半结构化与非结构化文档的形式存在,最常见的就是图、文、表混排的PDF文档。针对复杂PDF文档的解析、分割与向量化是常见的一种复杂知识处理需求,且在实际应用中达到的效果往往不尽如人意(有少量原因是一些文档自身排版与格式的过度随意与不规范)。
    处理复杂多模态文档一般需要借助到第三方的PDF解析工具、多模态大模型、关联检索等技术。整体上的思路如下:

以最常见的复杂PDF处理为例:

1. 借助解析工具从PDF中分类提取Text、Table、Image不同形态内容;提取的Table内容一般用Markdown文本等表示,Image则提取成本地或网络文件。
2. 对不同形态的提取内容采用不同的索引与检索方法处理:
  • 【文本】:按照普通文本知识相同的方法做向量嵌入与检索。
  • 【表格】:直接对Table的文本内容做嵌入通常检索效果欠佳,可以借助大模型(LLM)生成表格内容描述与摘要用于嵌入与检索(比如下图)。这有利于提高检索精准度及LLM对表格内容的理解。在检索阶段,需要关联检索出原始的Table内容用于后续生成
  • 【图片】借助多模态视觉大模型比如qwen-vl,gpt-4v结合OCR技术对图片进行理解是常见的方法。还可进一步分为两种处理情况:
  • * 将纯文字信息图片利用OCR识别转化成文本信息。在识别成纯文本后,按照普通的文字信息作嵌入与检索即可。
    * 理解并生成图片的摘要与总结信息用于嵌入与检索。但是在检索后需要关联检索出原始图片用于后续生成

3. 在查询阶段,将上述检索出来的关联知识输入大模型进行生成,注意如果需要输入原始图片,则需要借助多模态模型进行响应生成。
上述流程中主要涉及到三种关键技术:

文档解析


主要针对半结构化/结构化的PDF文档解析与提取,考虑的工具为:
  • Unstructured:强大的非结构化数据处理平台与工具,提供商业在线API服务与开源SDK两种使用方式。支持复杂文档如PDF/PPT/DOC等的高效解析与处理,包括清理、语义分割、提取实体等。缺点是较为复杂,类似的还有OmniParse开源平台。
  • LlamaParse:这是著名的LLM开发框架LlamaIndex提供的在线文档解析服务,主要提供复杂PDF文档的在线解析与提取,其最大优势是与LlamaIndex有极好的集成,比如可以借助模型在提取时自动生成表格的摘要信息。缺点是必须在线使用。
  • Open-Parse:一个相对轻量级的复杂文档分块与提取的开源库。支持语义分块与OCR,简单易用,且支持与LlamaIndex框架的集成,比如将提取的文档直接转化为LlamaIndex中的Node。
  • 此外,国内开源的RAG引擎平台RAGFlow内置了很强的深度文档理解能力,(但未开放文档解析的独立API),如果你需要构建基于深度文档解析的在线RAG引擎,可以考虑尝试。

多模态模型 & OCR


多模态视觉模型可以借助在线的智谱GLM-4v,阿里qwen-vl,Openai的GPT-4o,或部署开源的Llava模型等。如果希望提取图像中的文本信息(如文字扫描图像),则需要结合OCR技术:
  • 一种是借助具备OCR能力的多模态模型比如qwen-vl
  • 一种是借助专业的OCR模型与工具库。比如上面的unstructured、ominiparse都可以在加载语言的模块后具备OCR识别能力


关联检索


在将多模态内容输入给LLM生成时,往往需要借助关联检索从向量检索出来的Chunk关联到原始的表格内容或者图片,这种关联检索在常见的两种框架中都有支持:
  • LangChain:可借助多向量存储与检索(MultiVectorRetriever)来实现,将存储向量的VectorStore与图片存储做关键存储与检索
  • LlamaIndex:可借助构建递归检索器(RecursiveRetriever)来实现,将存储文本向量的Node指向存储原始表格内容或图片的Node

高级检索与查询重写

高级检索请参考独立文章:一文说清大模型RAG应用中的两种高级检索模式:你还只知道向量检索吗?
查询重写(也可以称作查询转换,或者查询分析等),已经成为大模型应用中一种很重要的工作环节。有时,用户查询可能不够明确或不够具体,这就需要查询重写以提高检索准确性。因此,查询转换是一种“检索前”的流程环节,用于将输入问题更换成一种或者多种其他形式的查询输入。
我们介绍RAG应用中常见的四种查询重写策略:

HyDE重写


HyDE(Hypothetical Document Embeddings,假设性文档嵌入)是一种已经被证明在很多场景下有着较好效果的查询改写技术。其基本过程是:
  1. 根据输入问题,生成一个假设性的答案。注意,这个答案来自LLM本身的知识,可能包含错误或者不够准确。
  2. 对该假设性的答案进行嵌入,并检索出具有相似向量的知识块(可以同时携带原问题)。
  3. 用检索出的知识块和原问题借助LLM生成最终答案。
HyDE方案被证明在很多场景下可以提高检索的准确率,但缺点在于假设文档有可能误导查询或者引入偏差,需要谨慎使用。

分步问题重写


分步问题重写的思想为:从初始的复杂查询开始,经过多步的查询转换与检索生成,直至能够完整的回答输入问题。每一次转换都基于之前的推理过程,提出下一步的问题,通常是为了解答原问题所需要的一个步骤中的问题。以一个例子说明:“2022年世界杯冠军球队的成员有哪些?”,那么基本过程如下:
  1. 分解出第一个问题:“2022年世界杯冠军球队是哪个国家队?”,然后首先查询出该问题的答案。
  2. 根据原问题以及之前的推理过程,分解出第二个问题:“2022年世界杯阿根廷国家队球员有哪些球员?”
  3. 对分解出的第二个问题进行查询,并得出最终答案。

分步问题重写过程有点类似Agent完成任务的推理过程:观察已有的过程,并根据原始问题,推理下一步的问题。

子问题重写


与分步问题重写类似的是子问题重写。子问题重写是在问答时通过生成与原问题相关的多个具体的子问题,帮助更好的解释与理解原问题,并有助于得出最终答案。其基本过程是:
  1. 将输入问题借助LLM生成多个相关的子问题,这些子问题可以是LLM自身可以回答,也可以是借助某个已有的RAG引擎能够回答。
  2. 对多个子问题进行查询,通过检索生成,得出子问题的答案。
  3. 根据多个子问题的答案与原问题,推理并合成,输出最终问题答案。

子问题重写也类似Agent在完成任务过程中的子任务分解 ,因此在实际应用中常常会利用Agent的思想:将一个问题推理分解成可以由多个RAG引擎(或Agent工具)回答的子问题,各自完成后合成答案。

后退问题重写


后退问题重写通常用来引导LLM从具体事例中提取出更加通用或关于基本原理的问题,再利用这些问题的答案重新推理原问题的答案。这种方法可以显著提高LLM遵循正确的推理路径解决问题的能力。其基本过程是:
  1. 借助LLM将原问题解释为一个更通用的后退问题。比如原问题是“Joe出生在哪个国家?在哪里度过了他的童年”。生成的后退问题可能是“Joe的生平经历有哪些”。
  2. 对重写的后退问题进行RAG检索与生成,获得相关的知识内容与答案。
  3. 将重写问题的生成答案、原问题输入(也可结合原问题检索的相关知识)再次通过LLM进行生成,输出最终答案。

RAG应用评估

在将一个软件投入应用与生产之前,传统软件过程中一个必不可少的流程环节是软件测试与评估,这是验证与衡量软件是否具备上线与生产条件的重要手段。具体到RAG应用(包括Agent),作为一种新的人工智能时代的应用形式,这个环节仍然举足轻重,甚至显得比传统应用更加重要,这源自于:
  • 需要衡量大模型输出不确定性的影响。


  • LLM应用在持续演进中的能力改进评估。
  • 定期评估与了解知识库变化带来的影响与干扰。
  • 评估大模型或嵌入模型的选择,以及版本的影响。

基于大模型的RAG应用与传统的软件应用还有一个很大的不同:传统应用软件的输出大多是确定且易于衡量的,比如输出一个确定的数值;而RAG应用中的输入输出都是自然语言,评估其相关性与准确性等都无法通过简单的定量判断,往往需要借助基于更智能的工具与评估模型来完成。

评估依据与指标


RAG应用评估的依据,也即评估模块的输入一般包括以下要素:
  • 输入问题(question):即用户在使用RAG 应用时的输入问题。
  • 响应结果(answer):RAG应用的最终输出,即问题的答案。
  • 上下文(contexts):用来增强RAG应用输出的参考上下文。
  • 事实依据(reference_answer):真实的正确答案,通常需要人类标注。

基于这些评估的依据,对RAG应用进行评估的常见指标有:
名称


相关输入


解释


正确性


correctness


answer


reference_answer


生成的答案与参考答案的匹配度。往往涵盖了回答的语意相似度与事实相似度。


语义相似度


Semantic Similarity


answer


reference_answer


生成的答案与参考答案在语义上的相似度。


忠实度


faithfulness


answer


contexts


答案与检索出的上下文的一致性。即答案内容是否能从检索出的context中推理出来。或者说,是否存在幻觉。


上下文相关性


Context 


relevancy


contexts


question


检索出的上下文与用户问题之间的相关性。即上下文中有多少内容是和输入question相关。


答案相关性


Answer 


relevancy


answer


question


答案与用户问题的相关性。即答案是否完整且不冗余地回答了输入问题,此次不考虑答案的正确性。


上下文精度


Context 


precision


contexts


reference_answer


检索出的相关上下文中与正确答案相关的条目是否排名较高。


上下文召回率


Context 


recall


contexts


reference_answer


检索出的相关上下文与正确答案之间的一致程度。即正确答案的内容是否能够归因到上下文。



RAG评估技术


RAG应用的评估可以借助开发框架自身的评估工具与模块:
  • LlamaIndex的Evaluation模块,内置了检索与生成阶段的各指标评估器。
  • Langchain的LangSmith平台,有完善的评估数据集管理与批量评估方案。

也可借助第三方的评估框架,它们通常与上述框架具有较好的集成性,比如:
  • RAGAS评估框架(可参考:如何科学评估RAG应用?基于大模型的RAG应用中的四个常见问题及方案探讨【下】
  • LangFuse:一个类似LangSmith的开源大模型应用工程化平台



53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询

扫码登录
登录即表示您同意《53AI网站服务协议》
服务协议

欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。

在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。

一、 定义

本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。

会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。

知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。

二、 账号注册与登录

登录方式:本网站支持以下登录方式,您可根据实际情况选择:

微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。

手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。

账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。

实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。

未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。

三、 服务内容与规范

知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。

服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。

禁止行为:您在使用服务时不得实施以下行为:

利用技术手段批量爬取、下载、转存知识库内容;

将知识库内容用于商业目的或未经授权地向第三方传播;

干扰本网站正常运行或侵犯其他用户合法权益;

发布违法违规信息或从事违反公序良俗的活动。

四、 知识产权声明

权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。

有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。

侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。

五、 个人信息保护

我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。

您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。

您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。

六、 免责声明

内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。

不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。

第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。

七、 违约责任

如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。

如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。

八、 法律适用与争议解决

本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。

因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。

九、 其他

本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。

本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。

我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。


已查阅