微信扫码
与创始人交个朋友
我要投稿
RAGFlow(RAG引擎的可定制、可信、可解释版本,基于文档结构识别模型)
摘要:
RAGFlow是一款开源的RAG解决方案,旨在通过智能布局识别、多样化文档模板和改进的数据质量,提升文档处理能力,并支持复杂的企业场景。
主要观点:
- RAGFlow通过识别文档布局,包括表格和图像,提供全面的文档处理功能。
- 它提供各种模板,以适应各行各业和角色,实现高效的信息检索。
- 用户可以可视化并干预文档处理结果,确保透明度和控制。
- RAGFlow旨在通过改善数据质量和可访问性,解决RAG系统的主要挑战。
- 该工具强调优质数据输入,以促进优质输出,从“垃圾进,垃圾出”转变为“质量进,质量出”。
- 该平台提供解释和引用,使用户能够验证响应并保持对信息来源的控制。
- RAGFlow的持续发展旨在改进文档管理功能,旨在成为个人和企业数据的强大文档管理器。
正文:
在2023年底,AI原生数据库
Infinity(https://github.com/infiniflow/infinity)正式开源后,我们的端到端RAG解决方案RAGFlow也于4月1日正式开源。在深入探讨RAGFlow的产品细节之前,让我们先谈一谈其开发背后的原因。
RAG已经发展成为支持LLM在提供业务端服务方面的共识解决方案,但围绕它的问题从未停止。我们一直积极应对这些关切,最近一篇博客就解决了市场上今年长上下文LLM日益普遍化带来的对RAG的普遍疑虑。
简而言之,许多个人和小型企业使用的问答系统可能并非特别需要RAG。然而,具有大型标记的LLM已经攻克或正在攻克RAG进化中的两个关键挑战之一。因此,它们是对RAG的补充,而非替代。这些主要挑战包括:
LLM相关问题
RAG相关问题
对于RAG来说, LLM的核心能力包括:
Summarization 总结
Translation 翻译
Controllability 可控性
这三个看似不起眼的方面正是许多LLM目前存在不足之处。如果不能掌握这些能力,诸如不同agent之间的推理和自主决策等概念仍将停留在云端之城。随着大型标记LLM的进展,特别是在增强在广泛背景信息中找到“大海捞针”能力方面,RAG实施中的一个重要痛点得到了显著缓解——这是源自LLM本身的问题。另一个重要挑战源于RAG系统本身,包括:
数据库挑战。在我们之前的讨论中,我们强调了RAG中的多次召回的重要性。即使是最基本的知识库也无法在没有这个功能的情况下顺利运行。因此,RAG系统的数据库必须具备多次召回功能,而不是依赖于纯向量数据库。
数据挑战。这个方面对于RAG的新手来说可能并不是显而易见的。利用现有的开源软件堆栈,包括各种向量数据库和RAG编排工具(如LangChain和LlamaIndex),再加上一个时髦的用户界面,就可以轻松建立一个RAG系统。尽管在GitHub等平台上类似的编排工具受到了很高的赞誉,但它们通常无法有效处理数据。这导致将复杂的文档格式集成到数据库中,最终导致“垃圾进垃圾出”现象。
上面突出的两个问题是当前 RAG 状态保持较为表面化的主要原因,尤其是在无法支持更复杂的企业场景方面。因此,我们很高兴见证 LLM 能力的发展。然而,同时解决 RAG 本身面临的具体挑战至关重要。为了解决这些问题,我们推出了 Infinity,这是一个专为解决 RAG 中第一个问题而设计的数据库,并推出了专门的 RAG 工具,以解决第二点。这项举措旨在使 RAG 对更广泛的商业和个人受众更加易于接触,从而开启更广泛的场景。这就是推出 RAGFlow 背后的原因。
进入 RAGFlow 的功能介绍,让我们将其与市场上各种现有的开源解决方案进行比较。
首先,RAGFlow 是一种全面的 RAG 解决方案,使用户能够上传和管理其文档。用户可以灵活上传各种格式的文档,如 PDF、Word、PPT、Excel 和 TXT。通过智能解析,数据被准确输入到数据库中,使用户能够使用任何大型语言模型来查询其上传的文档。从根本上讲,RAGFlow 包括以下端到端过程:
此外,RAGFlow 的一个关键特点是其多样化的智能文档处理,确保从“垃圾进,垃圾出”转变为“高质量进,高质量出”。为实现这一目标,RAGFlow选择不依赖现有的RAG中间件,而是对智能文档理解系统进行了全面重新开发。该系统构成了构建 RAG 任务编排系统的基础,并具有以下特点:
它作为基于大型语言模型的智能文档处理系统:当用户上传文件时,它会自动识别文档布局,包括标题、段落、换行以及甚至像图像和表格这样复杂的元素。对于表格,它不仅检测到它们的存在,还会识别表格布局,包括每个单元格。它可以将多行文本合并到一个单元格中等等。此外,系统将表格内容与头部信息处理相结合,以确保数据准确发送到数据库,使得RAG能够有效定位这些全面数字中的具体细节。
它作为一个具有多样化模板的智能文档处理系统:不同的行业和角色需要不同类型的文档,具有独特的编写格式和信息检索要求。例如:
会计师通常处理凭证、发票和Excel报告,常常进行数字查询,例如识别特定日期签发的凭证及其总值,或者在上一季度的资产负债表中的净资产。
人力资源专业人员通常筛选候选人的简历并进行“表格查询”,如从特定名校识别具有特定经验水平的算法工程师,或者具有特定机构研究生资格的个人。
研究人员涉及学术论文,面临迅速理解和整理论文及其引用之间关系的挑战。
以这种方式,可以明显看出凭证/报告、简历和学术论文的文档结构不同,导致查询需求各异,因此处理要求也不同。因此,在处理文档时,RAGFlow 提供了多种选项:问答、简历、论文、手册、表格、书籍、法律、一般文档等等。这些类别不断扩展,处理方法仍需完善。我们还需要抽象出更多常见范例或模式,以使各种定制处理任务更容易实现。
3. 智能文档处理的可视化和可解释性:用户经常想知道其上传的文档是如何处理的,比如创建了多少块,如何处理各种图表、图示和表格。毕竟,任何基于LLM的系统只能保证正确的概率。系统为用户提供适当干预的机会是至关重要的,因为用户需要控制,透明性胜过不透明性。这对于PDF文档至关重要,这些文档采用各种格式,在各行业广泛使用。保持对PDF文档的控制至关重要。我们不仅呈现处理结果,还允许用户查看文档解析结果,并通过单击查找原始文本。用户可以比较处理后文本与原始文本之间的差异,进行添加、修改、删除操作并查找信息,如下图所示:
总的来说,RAGFlow 是一个全面的 RAG 系统。目前,许多开源的 RAG 系统忽略了 RAG 的一个关键优势:使 LLM 能够以受控的方式回应查询,促进理性、基于证据的方法,消除幻觉。众所周知,根据模型的能力,LLM 可能会遇到幻觉。在这种情况下,RAG 产品应随时为用户提供参考资料,使他们能够查看 LLM 用来制定回应的原始文本。这需要生成原始文本的引用链接,使用户可以悬停在其上以访问原始内容,包括图表、图表和表格。如果不确定性仍然存在,点击引用应将用户引导至原始文本,如下图所示:
基于深度文件理解的知识提取,从复杂格式的非结构化数据中提取信息。
在文字海洋中找到“针”字面上的无限标记。
智能且可解释。
有很多模板选项可供选择。
文本分块的可视化,以允许人类干预。
快速查看关键参考文献和可追溯引用,以支持扎实的回答。
支持 Word、幻灯片、Excel、文本、图像、扫描副本、结构化数据、网页等等。
简化的 RAG 管理适用于个人和大型企业。
可配置的 LLM 以及嵌入式模型。
多重召回配合融合的重新排序。
直观的 API,实现与业务的无缝集成
主要架构
RAGFlow 在 2024 年 4 月 1 日正式开源,并已被多家企业采用。我们不断改进它,最近的目标集中在改进文档管理功能,使其运行起来像一个体面的文档管理器。这将使个人和企业数据的管理更加有效,并与企业级知识库集成。在未来,RAGFlow 将发展成为一个企业级低代码工具,解锁更多的业务级 RAG 场景,并使 AI 普及。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-07-18
2024-05-05
2024-06-20
2024-09-04
2024-05-19
2024-07-09
2024-07-09
2024-07-07
2024-06-13
2024-07-07