AI智能总结
金融机构需求与RAG 金融市场变化莫测,金融机构需要实时关注金融市场动向,在此过程中,金融机构面临大量文本类信息以及结构化的数据类型信息。对于多种类的大量信息,亟需大模型的参与进行辅助处理。在众多RAG开源架构中,我们选择了具有高质量解析检索特点的RAGFlow解决方案,针对其构建策略已经在《大模型赋能投研之七:如何结合结构化数据搭建本地智能投研系统?-RAGFlow原理篇》中进行了详细分析,核心优势体现在四个方面:(1)解析方面:通过开发者自主实现的DeepDoc实现高质量知识解析;(2)检索方面:使用“关键词+向量”的双路搜索方式,并以如Raptor以及知识图谱等策略提高检索质量;(3)兼容方面:RAGFlow支持结构化数据信息解析,可使用Table模型进行解析,实现多模态知识兼容;(4)使用方面:RAGFlow提供Agent搭建框架,基于高质量知识库实现质量增强的自定义工作流。 RAGFlow的部署与使用 RAGFlow的部署基于于Linux环境上的Docker容器,对于windows用户需要首先配置Linux环境作为准备。更进一步,RAGFlow对于软件环境和硬件配置均有较高的要求:基础要求CPU >= 4核、内存>= 16GB、磁盘>= 50GB,且要求Docker版本>= 24.0.0、Docker Compose版本>= v2.26.1。在实际部署中,推荐使用内存>= 32GB的机器进行部署,同时开启虚拟内存也是解决硬件配置不足的一个可行方案。 部署完成后,在具体使用中,用户需依照“系统设置”、“文档入库”、“检索配置”以及“检索回答”的流程进行参数与模型配置,首先配置AI大模型、向量化模型以及重排序模型为应用做准备;其次完成文档解析入库相关参数与策略的配置,并可以选择未文档配置元数据提高检索质量,进一步将传入的文档开始解析;解析完成后,可以开始检索相关配置,具体需要完成聊天助理设置、提示引擎设置以及创建助手设置,参数较多详见正文列示,这一步的参数配置关系到信息检索质量,本文仅基于《大模型赋能投研之七:如何结合结构化数据搭建本地智能投研系统?-RAGFlow原理篇》中的评估检测给出推荐配置,用户可根据实际情况进行调节;最终,选择聊天助手,创建对话,即可问答。 除此之外,RAGFlow提供了Python API进行批量操作,可以完成文档传入、文档解析、设置元数据、创建聊天助手、开始聊天、获取回答、回去召回的文本块等基础操作,若有批量使用的需求,可以通过Python API调用RAGFlow的基础功能。但同时,当前版本下(v0.17.2版本),RAGFlow的API仍存在无法开启Deep Research检索等缺陷。 RAGFlow项目运用实战 在应用篇中,我们进一步基于RAGFlow框架,同时凭借其对结构化数据的高质量支持,搭建了有获取结构化数据能力的智能投研系统,已形成闭环数据链路。其中包括四个组件:1)三大财务报表通过Table解析入库构建企业基本面本地知识库,在工作流中通过知识库检索获取;2)通过Text2SQL组件实现实时调取所需的日行情以及相关研究报告; 3)通过RAGFlow内嵌的问财Agent实现简易的逻辑选股功能;4)通过RAGFlow内嵌AKshare组件取实时新闻资讯。 最终,我们基于Text to SQL简单工作流实现、以及结构化数据信息提取工作流实现的基础上,融合以三大报表、股票日行情为代表的结构化数据,以及研报信息和实时新闻行情信息,最终构建了多维度金融信息获取Agent,在实际测试中政策的执行的设定的检索与处理流程,效果较好。 风险提示 本次研究基于v0.17.2版本的Ragflow进行,未来版本更新可能带来功能变化;知识库的具体表现结果受到模型选择影响,不同模型配置下知识库效果可能存在差异;大语言模型使用可能会受到限制,模型输出结果具有一定波动性; 本次研究中的推荐参数与模型选择、任务需求等具体情形有关,在具体使用中应根据情况及时调整。 一、知识库与RAGFlow介绍 1.1 RAGFlow与金融机构需求 金融市场变化莫测,金融机构需要实时关注金融市场动向,在此过程中,金融机构面临大量文本类信息以及结构化的数据类型信息。对于多种类的大量信息,亟需大模型的参与进行辅助处理。 随着AI技术的快速发展,DeepSeek的开源推动大模型的发展向应用端转移。RAG本地知识库+大模型的架构方案受到更多关注,成为大模型实际应用场景落地的一条重要探索方向。面对金融机构的复杂信息需求,RAG知识库同样可以很好的提供辅助能力,为金融机构的需求提供较好的解决方案。 在《大模型赋能投研之七:如何结合结构化数据搭建本地智能投研系统?-RAGFlow原理篇》的研究中,我们详细解析了RAGFlow的开源解析方案,针对其追求高质量解析检索的“Quality in,Quality out”特性,拆解工作流程并进行深入分析。在本片报告中,我们将在深入理解RAGFlow原理的基础上,进一步尝试其应用,从RAGFlow的部署、文档传入、聊天助手设置等使用方式开始,以自定义的多信息融合Agent作为结束,对RAGFlow的整体工作流程进行实践。 1.2什么是检索知识增强RAG? RAG(Retrieval-Augmented Generation)是一种检索知识增强策略,利用文本向量化模型技术存储文本及语义信息,通过实时检索外部知识库并将检索到的内容传递给大模型,为大模型提供更专业、更及时的信息,辅助大模型减弱“幻觉”。RAG动态增强AI输出的准确性和时效性,具有知识零延迟更新和知识来源可追溯的优点。 在RAG领域,目前已有多套开源解决方案,包括RAGFlow、Dify、FastGPT等开源项目。 各个项目之间侧重点不同,Dify更注重于搭建可自主设计的Agent框架、FastGPT则更注重于提供快速适应的本地知识库。各开源架构的对比如下所示: 图表1:常见RAG解决方案对比 而RAGFlow这一开源架构更关注文档解析与查询检索的质量,为本地知识库的搭建与使用提供了一个相对完善的解决方案。为此,我们最终选择RAGFlow作为分析与应用的RAG架构方案。 1.3RAG开源框架:RAGFlow RAG机构的整体工作流包括文档解析入库以及知识检索两个部分,在整个工作流程之中,RAG架构存在不同的痛点问题,而RAGFlow开源架构对于不同的痛点问题给出了自己的解决方案。 在“RAGFlow原理篇”中,我们对RAGFlow进行了详细分析,对其痛点问题的解决方案以及架构的整体优点进行分析,可划分为以下四个部分: 解析方面:通过开发者自主实现的DeepDoc实现高质量知识解析,对信息内容、格式的不同进行分类,提供不同文档的定制化解决方案,实现高质量解析与分块 检索方面:使用“关键词+向量”的双路搜索方式,并引入Raptor召回增强以及知识图谱等策略提高检索质量;同时,使用重排序模型对于召回后的文本块进行进一步处理,提高检索质量 兼容方面:RAGFlow支持结构化数据信息解析,可使用Table模型进行解析,可以将公司的财务报表等精确数据解析入库,并保留原本信息、数据对照关系,实现多模态知识兼容 使用方面:RAGFlow提供Agent搭建框架,基于高质量知识库实现质量增强的自定义工作流 图表2:RAG痛点及解决 1.4基于RAGFlow的应用实践 目前金融机构有大量希望大模型辅助解析的文本以及结构化数据,而RAGFlow本地知识库的框架提供了一个相对完善的解决方案。 RAGFlow框架的核心优势体现在四个方面: (1)通过DeepDoc解析器从文本源头分类处理实现高质量文本识别与分块 (2)通过“关键词文本搜索”+“词向量搜索”混合搜索的方式以及叠加Raptor文本聚类提炼信息和知识图谱等检索增强的方式提升RAG检索准确度 (3)同时支持结构化数据处理,通过Table解析模式处理财务报表等表格数据传入本地知识库,突破传统大模型对非结构化数据的依赖局限 (4)其通过搭建工作流的方式增强text2SQL能力,使得企业能直接通过原先成熟部署的SQL数据库直接调用给大模型进行研究分析 我们本次通过RAGFlow的框架搭建了有获取结构化数据能力的智能投研系统,已形成闭环数据链路。其中包括四个组件: (1)三大财务报表通过Table解析入库构建企业基本面本地知识库; (2)通过Text2SQL组件实现实时调取所需的日行情以及相关研究报告; (3)通过RAGFlow内嵌的问财Agent实现简易的逻辑选股功能; (4)通过RAGFlow内嵌AKshare组件组件取实时新闻资讯。甚至可通过RAGFlow提供的Python接口实现更多维度的信息交互和组合,搭配研报生成模板完成投研信息动态更新。 二、RAGFlow部署要求与方法 2.1 RAGFlow的具体部署要求 RAGFlow的运行依赖于Linux环境上的Docker容器,在进入正式的部署流程之前,需要检查Docker容器是否能够正常运行,若目标环境中不存在Docker容器,需要首先安装Docker,并确保Linux(虚拟)环境下内存映射区域的最大数量参数“vm.max_map_count”不小于262144,否则需要重置参数。 RAGFlow的部署对于软件环境与硬件配置有较高的要求,如下表所示。其中,对于内存(RAM)的配置,若内存空间较少可选择开启虚拟内存满足使用要求。 图表3:RAGFlow详细配置要求 在我们的实践部署与运行过程中,可以体会到RAGFlow对于内存空间(RAM)有着较高的需求,我们建议配置运行RAGFlow的设备至少需要32G的内存空间(RAM)。对于内存较小的机器而言,建议开启虚拟内存功能缓解压力。 2.2 RAGFlow部署方法与实践 在RAGFlow的部署过程中,涉及到初始部署以及版本升级两个层面。在初始部署过程中,需要以及完成克隆仓库、启动服务器以及确认状态三个步骤;而对于版本升级过程中,需要依次完成克隆仓库、切换最新版本、更新文件信息以及更新并重启四个步骤。 图表4:RAGFlow配置步骤详情 若在使用过程中RAGFlow的任务程序出现问题,同样可以采取重新启动服务器的方式解决可能存在的问题。 三、RAGFlow入库与检索流程 3.1 RAGFlow使用流程 图表5:RAGFlow使用流程 对于RAGFlow,其使用流程可划分为系统设置、文档入库、检索配置以及检索回答四个阶段。在下文中,我们从RAGFlow的部署细节开始讲起,并根据RAGFlow的使用流程进行详细说明。最终我们实际利用RAGFlow的高质量文本解析以及表格数据兼容的特性,以简单的数据信息获取Agent为基础,搭建融合数据信息、文本信息以及互联网信息的多来源知识融合的智能投研Agent。 3.2模型配置与系统配置 在RAG架构中,向量化(Embedding)模型负责在文本解析分块后将文字内容变为向量字符串、重排序(Reranker)模型负责在检索后重新检测文本块相似度提高检索质量、而大模型则负责知识的总结、回答输出。三个模型的选择与使用直接影响到RAG的最终使用效果,RAGFlow中提供了丰富的模型供应商接口支持,支持API与本地模型两种方式。 图表6:RAGFlow提供的模型接口 具体而言,以DeepSeek大模型为例,输入官方开发者平台提供的API-Key即可使用DeepSeek模型。在新部署的RAGFlow下,无法直接创建知识库,需要首先进行“系统模型设置”,在完成模型接口设置的基础上,直接在对应的界面选择合适的模型即可。 图表7:RAGFlow初始化系统设置 需要首先在设置界面(点击头像),选择“模型提供商”栏,配置模型,并为RAGFlow配置默认模型;系统设置界面中,“聊天模型”、“嵌入模型”为必须配置的模型类型,同样推荐在此处配置重排序(Reranker)模型