AI智能总结
RAG架构的意义及痛点 DeepSeek-R1模型以开源方式问世带来广泛影响,LLM大模型发展由基础设置转向模型应用,但同时大模型仍面临模型“幻觉”、过时信息以及专业知识匮乏三个困境。RAG架构可以通过搭建存储知识信息的数据库,并从中检索具有及时性、专业性的信息补充大语言模型的文本生成与逻辑思考过程。 但在RAG的工作流程中,存在多个痛点问题影响其使用效果:在文档解析入库的流程中存在如何高质量完成文本识别与分块、如何对分块信息进一步处理、如何选择合适的Embedding模型等痛点问题;在信息检索输出的流程中存在如何高质量进行内容检索、如何选择合适的重排序模型以及如何进行合适的Prompt处理衔接RAG与大模型等痛点问题。 追求高质量的RAGFlow开源解决方案 由于大模型的快速发展,市面上已经存在FastGPT、Dify、RAGFlow等多种开源RAG架构解决方案。其中,由于RAGFlow追求“Quality in,Quality out”的高质量要求,故将RAGFlow作为我们的最终选择。 针对RAG架构中可能存在的痛点问题,RAGFlow努力给出自己的解决方案。在文本解析入库的流程中,RAGFlow使用自己开发的DeepDoc组件实现复杂文档的解析与分块,并针对分块后的文本信息引入Raptor召回增强策略和知识图谱策略进行进一步处理,同时提供了丰富的Embedding模型方便用户选型;在信息检索输出流程中,RAGFlow采用关键词搜索+向量搜索的双路召回策略,并针对检索到的文本块,使用关键词相似度+Rerank模型相似度两种方法计算加权平均相似度进行文本块的重排序,从而保证信息检索质量,并使用合适的Prompt将知识信息传递给大模型。 值得注意的是,RAGFlow同样支持结构化解析与检索,传入xlsx或csv/txt格式的文件后,选择“Table”模式进行解析,RAGFlow会将数据的每行解析为一个文本块,以列名对应单元格值的方式组织,并高质量得保留了重要信息。 RAGFlow效果评估与检验 在厘清RAGFlow整体实施方案的基础上,进行其效果的评估检验,整个评估流程基于RAGAs评估框架进行,并选定15篇金融领域不同方向的研究报告作为评估样本,同时针对样本进行问题与答案的设计;后续评估基于此进行。 具体而言,首先针对不同的文档解析入库、不同的信息检索输出配置方案进行评估对比,并最终得到较优的配置方案搭配;其次评估不同Embedding与Reranker模型搭配的具体表现,并选择较优的模型搭配方案;最终,针对General文档解析、Raptor召回增强以及信息检索配置这三个过程中涉及到的具体参数进行寻优。 最终,通过对RAGFlow效果的评估与检验,可以认为RAGFlow优于Dify(默认配置)的检索输出效果,并汇总整体的评估流程,可得较优的RAGFlow全流程配置方案:Embedding模型选择SFR-Embedding-Mistral、Reranker模型选择bce-reranker-base_v1;在解析入库时使用General方法、设置最大token数为512或1024进行文档解析,同时选择开启社区摘要的知识图谱功能;在检索输出时,开启多轮优化、不开启知识推理功能。若想要减少文档解析时间,可以选择关闭知识图谱,开启Raptor召回增强策略,同样可以获得较有的解析与检索质量。 风险提示 对于RAGFlow的分析基于v0.17.2版本进行,未来更新可能导致项目细节发生变换;本文所进行的评估基于小样本集、并使用DeepSeek chat模型作为LLM模型进行,更换测试样本、更换大语言模型可能导出RAGFlow的具体表现与本文结果存在出入;RAG架构不能完全消除大模型“幻觉”等弊端,使用RAGFlow得到的输出结果存在随机性和准确性风险,使用时应加以辨别。 一、RAG:大模型应用中的重要架构 1.1 RAGor微调?RAG架构为何如此重要 2025年1月,DeepSeek-R1以开源AI推理模型的形式与大家见面,其杰出的模型性能和开源的模型形式产生了广泛影响:对于模型开发,DeepSeek-R1模型以显著低于现有头部模型的训练成本在推理能力上取得了显著进展;而对于模型应用,DeepSeek的开源模式推动LLM大模型的未来发展方向由基础设施转向模型应用。 具体在应用层面,在模型开源的基础上DeepSeek-R1进一步提供了Qwen架构下的1.5B、7B、14B、32B四种参数规模的蒸馏模型,以及Llama架构下的8B、70B两种参数规模的蒸馏模型。不同的参数规模对于不同的性能需求,其中1.5B参数规模的模型仅需CPU便可运行,若需要更高的模型性能,则依靠RTX4090的显卡配置便可以配置蒸馏14B模型。 可以本地部署运行的DeepSeek推理模型进一步推动了使用这对比AI不同应用形式与应用场景的探索。 在大模型的快速发展潮流下,众多的LLM产品已经可以基本满足使用者的日常使用需求。 但如果把视角转向大模型的具体应用落地,尝试者往往难以绕过模型“幻觉”、过时信息、专业知识匮乏三个困境: (1)模型“幻觉”:模型可能会生成不正确或捏造的信息,影响其可靠性 (2)过时信息:模型是在通过在海量静态数据集上训练从而产生逻辑推理能力的,模型收到与训练知识截止日期的影响,无法提供训练日期之后发生的事件的信息 (3)专业知识匮乏:模型可能对专业领域没有深入的了解,导致答案过于简单或不准确 针对大语言模型存在问题,常见的解决方式是使用任务领域的特定数据集对模型进行进一步的预训练,对模型进行“微调”,从而实现模型可以获得最新信息、掌握专业知识的目的,但此种方法本质上对模型参数进行了调整,会影响模型的最初训练结构,对模型的逻辑推理能力产生影响,同时对于泛化性的影响也难以忽视。 针对“微调”的弊端,Facebook AI Research的研究团队在2020年首次提出了将RAG(Retrieval Augmented Generation)架构用于知识密集型NLP任务的思路。RAG架构的核心是存储知识的数据库,系统的本质是利用架构中知识库中具有及时性、专业性的信息补充大语言模型(LLM)的文本生成过程,从过外部信息的输入提供及时信息与专业知识,同时通过大量外部知识的输入缓解模型“幻觉”现象,满足大模型在特定应用场景落地运行的必要条件。 1.2知识库+LLM?RAG如何辅助大模型落地 面对大预言模型的不足以及用户的应用落地需求,RAG架构提供了切实有效的解决方案,通过搭建数据库的方式,通过增强检索为LLM的内容生成或逻辑推理输入补充知识,从而提高模型输出的及时性、准确性。基于“知识库+LLM”框架的RAG工作流程如下图所示。 图表1:RAG架构工作流 具体而言,RAG架构的工作流可以拆分为“索引入库”过程和“检索输出”过程两个主要部分,其中“索引入库”负责文档解析并存入数据库的整体流程,而“检索输出”负责增强检索辅助LLM内容生成的整体流程。两个部分以“向量数据库”作为核心,数据库将两个过程衔接在一起,形成完整的RAG架构。 首先,具体分析“索引入库”过程,这一过程以传入文档作为开始,以相关信息存入向量数据库作为结束。这一过程主要包括步骤①和步骤②: 步骤一:文档识别分块。用户传入文档数据,RAG对文档进行识别并进行文本分块,得到若干文本块(chunk),每个文本块(chunk)中包含文本的部分信息。 步骤二:文本向量处理。对各个文本块(chunk)通过embedding模型进行向量化,并在处理后将每个文本块处理后的数据信息存入向量数据库(vector database)。 其次,具体分析“检索输出”过程,这一过程以用户提出问题作为开始,以LLM输出回答内容作为结束。这一过程主要包括步骤③至步骤⑦: 步骤三:复制提问信息。用户提问后,问题(query)被复制为两份,一份被放入预先设定的提示词模板中,准备传入LLM模型;另一份被传递给embedding模型进行后续处理。 步骤四:问题向量处理。embedding模型将传入的问题进行向量化,用于后续检索处理。 步骤五:检索向量数据库。检索组件(retriever)利用传入的问题向量与向量数据库(vector database)中的信息进行检索匹配。 步骤六:召回文本块。数据库根据特定的检索策略,返回检索得到的文本信息,具体返回的形式为在步骤②中进行向量化处理后的文本块(chunk)。 步骤七:输入LLM模型。将最终检索得到的文本块传入提示提模板,与步骤③中已经传入的问题(query)根据模板进行组合,将汇总的提示词输入大语言模型(LLM)并获得回答。 根据RAG的工作流可知,RAG以向量数据库中存取的本地知识库为核心,并通过检索内容、提示词组合的方式利用通用LLM模型的逻辑推理能力,从而借助本地知识库获得更准确、详细的问题答案,满足企业或特定用户的需求,弥补LLM的劣势。 1.3检索增强+逻辑推理!解锁RAG应用场景 RAG架构的核心—存储在向量数据库中的本地知识库,在LLM的逻辑能力的支撑下赋予了RAG独特的优势,随着向量数据库的不断完善,RAG会有更多的、有待解锁的应用场景。 面向文本等类型非结构化数据的情形,这是RAG架构本身可以带来的传统优势领域: 智能研报解读:RAG可以通过对券商研究报告、行业分析和市场评论等文本进行索引和语义理解,使投资者能够提出自然语言问题并获取精准回答,大幅缩短研究时间。 凭借RAG架构,能够实现从数百页报告中提取核心观点,识别市场趋势,并根据用户关注点提供定制化洞察,有效解决了金融专业人士面对信息过载的难题。 政策法规解读:RAG可以对监管部门发布的复杂政策文件、指引和法规进行深度处理,使金融机构能够快速理解新规则对业务的具体影响。系统能够识别法规间的关联性,追踪政策变化历史,并针对不同业务场景提供合规建议。 智能金融客服:RAG可以整合产品说明书、账户操作指南、收费标准和常见问题解答等内容,能够以自然对话形式回答客户各类咨询。系统不仅提供标准回答,还能根据客户具体情况和历史互动调整回复的专业深度,为高净值客户提供更详尽的解释。 图表2:非结构化数据示例 图表3:结构化数据示例 而面向结构化与非结构化数据相结合的情形,随着向量数据库的不断迭代,文档之外的精确结构化数据也会参与到工作流之中,RAG会产生更多有待挖掘的应用潜力: 多维度投资分析:RAG可以利用结构化的公司财务指标(PE、PB、现金流等),与分析师报告、管理层访谈和行业新闻等非结构化内容结合,为投资决策提供多层次依据。 这一过程还可根据投资者的风格偏好(价值型、成长型等)智能调整分析框架,强调相关因素,同时针对市场突发事件,快速整合结构与非结构化信息,帮助投资者在信息复杂环境中把握核心要素。 智能金融顾问:通过融合客户数值化资产数据和文本化需求表达,RAG能构建真正懂客户的智能顾问系统,突破传统理财顾问在个性化服务上的局限,大规模提供既考虑客户财务状况又理解其深层需求的定制化建议 宏观经济评估与预测:RAG可以综合关键经济指标(GDP、通胀率、就业数据)与央行声明、财政政策文件和经济学家评论等非结构化文本,生成更精准的市场评估与预测。 这一过程能够识别政策文件中的细微措辞变化及其历史意义,将这些"软信息"与硬数据相结合,预测未来政策走向。在跨市场分析中,系统追踪不同地区经济事件间的关联性,评估传导效应,如能源价格变动对不同行业的差异化影响。这种基于多源数据的智能分析,显著提升了机构在资产配置、战略规划和风险对冲方面的前瞻性,尤其在市场转折点和政策不确定性高的时期,提供了关键决策优势。 二、RAG广阔前景下隐藏的痛点问题 在前文中我们简要介绍了RAG架构的工作流程图,并以架构中的向量数据库为核心,将工作流分为了“索引入库”和“检索输出”两个过程:“索引入库”过程负责文档输入、解析并最终