文章摘要
Morphik公司开发RAG工具时,选择直接使用页面“图像”而非进行OCR或解析,因为复杂文档中的图表、表格和图像往往包含关键信息,而传统的解析方法容易丢失这些内容。这种方法避免了繁琐的OCR和布局检测,确保信息完整,类似于通过观看电影而非阅读剧本来获取全部视觉信息。
文章总结
标题:无需解析:直接使用图像进行RAG
在Morphik,我们构建了RAG工具,帮助开发者从复杂的文档中进行精确搜索。本文解释了为什么我们选择直接处理文档的“图像”而非进行OCR或解析。
如果你曾尝试从包含图表、图示和表格的复杂PDF中提取信息,你一定会感受到其中的痛苦。无论是展示季度细分的嵌套表格发票,还是包含关键发现的研究论文,或是注释图解比文字更能说明问题的技术手册,甚至是完全没有文字的宜家说明书,我们都曾经历过解析失败的情况。
行业的秘密是,我们在OCR、布局检测和解析管道上投入了大量精力和资金,但仍然丢失了最关键的信息。这就像通过阅读剧本来“观看”电影,你错过了所有视觉叙事。
以一张简单的纯文本页面为例,使用常见的OCR工具解析时,标题和数值可能会混淆,导致检索时发送错误信息。
传统方法:纸牌屋
在Morphik构建RAG时,我们采用了标准的文档处理流程:OCR、布局检测、重建阅读顺序、为图表添加标题、智能分块、生成嵌入、存储到向量数据库。然而,这种方法在处理简单发票时,OCR可能会将“1,000”误读为“l,0O0”,布局检测器可能错过小计行,分块策略可能将表格与标题分开,最终导致检索时信息混乱。
灵光一现:为什么不直接看页面?
在一次调试中,我们意识到,与其解构文档再重建意义,不如像人类一样将其视为视觉对象。视觉语言模型已经足够强大,可以直接理解文档,无需解析、OCR或重建。
技术细节:视觉文档检索的工作原理
ColPali模型将每个文档页面视为图像,将其分割成小块,由视觉Transformer处理,生成理解文本和视觉元素的丰富嵌入,再通过语言模型进行细化。搜索时,模型不仅查找关键词,还找到相关图表、表格和颜色编码元素。
实战对比:Morphik vs. 其他方案
我们与TLDC合作,构建了一个开源财务文档基准测试,包含45个挑战性问题。结果显示,Morphik的准确率高达95.56%,而其他方案最高仅为72%。
速度问题及解决方案
最初的实现速度较慢,但通过MUVERA论文和Turbopuffer向量数据库的优化,查询延迟从3-4秒降至30毫秒。
对用户的意义
无需再与文档解析库搏斗,只需上传文档,用自然语言搜索即可。特别适用于财务文档、技术手册、发票、研究论文和医疗记录。
未来展望:超越简单检索
未来的系统将理解文档之间的上下文和复杂推理链,进行多文档智能、代理文档推理和工作流集成。
尽管已有显著进展,我们仍在努力弥补与专家级理解的差距,探索如何将视觉理解与领域知识更深度结合,构建能够提供铁证保证的系统。
想体验这些功能如何改变你的文档工作流?请访问morphik.ai免费试用Morphik,加入我们,共同构建一个理解而非解构文档的世界。
评论总结
开源工具的实现与优化
- pilooch 提到他们为法国政府机构实现了一个开源工具,虽然未大力推广,但功能有效,且可以通过微调提升效率。
- 引用:“It's open source and available here... It works, somehow and with some tweaks to get it really efficient.”
- 引用:“The true genius though is that the whole thing can be made fully differentiable, unlocking the ability to finetune the viz rag on targeted datasets.”
- pilooch 提到他们为法国政府机构实现了一个开源工具,虽然未大力推广,但功能有效,且可以通过微调提升效率。
发票处理的自动化尝试
- tobyhinloopen 分享了通过脚本自动处理发票的经验,虽然识别率较高,但在匹配银行账单时表现不佳。
- 引用:“It had a surprisingly high hit rate... It did a pretty poor job matching invoices to bank statements.”
- 引用:“I used a cheap-ish model, Claude 3.7 I think.”
- tobyhinloopen 分享了通过脚本自动处理发票的经验,虽然识别率较高,但在匹配银行账单时表现不佳。
OCR与直接图像提取的对比
- themannaran 指出,直接图像提取在单页文档上表现略优,但在多页文档上准确性显著下降。
- 引用:“We found that single page extraction... slightly favored the direct image extraction. But anything beyond 5 images had a sharp fall off in accuracy.”
- 引用:“Long context recall over images is still pretty bad.”
- themannaran 指出,直接图像提取在单页文档上表现略优,但在多页文档上准确性显著下降。
多模态模型的潜力与局限性
- jasonthorsness 认为多模态模型在图像解释方面表现良好,但 serjester 指出图像处理在长上下文和成本方面存在挑战。
- 引用:“It's cool and a little surprising that the multi-modal models are getting this good at interpreting images!”
- 引用:“LLM's are typically pre-trained on 4k text tokens... hallucinations become a huge problem once you're dealing with more than a couple of images.”
- jasonthorsness 认为多模态模型在图像解释方面表现良好,但 serjester 指出图像处理在长上下文和成本方面存在挑战。
文档转换的信息丢失问题
- ashishb 强调将文档转换为图像可能导致信息丢失,尤其是在区分相似字符时。
- 引用:“There are cases where documents contains text with letters that look the same... you lose information by converting it into an image.”
- 引用:“For cases like serial numbers, not even humans can distinguish 0 vs O (or l vs I) by looking at them.”
- ashishb 强调将文档转换为图像可能导致信息丢失,尤其是在区分相似字符时。
专利文档处理的简化方法
- thor-rodrigues 提出了一种通过生成JSON文件来简化专利文档处理的方法,认为比作者提出的方案更高效。
- 引用:“The simplest approach I found was to ‘take a picture’ of each page of the document... and ask for an LLM to generate a JSON explaining the content.”
- 引用:“This approach seems to easier and more efficient than what is the author is proposing.”
- thor-rodrigues 提出了一种通过生成JSON文件来简化专利文档处理的方法,认为比作者提出的方案更高效。
总结:评论中讨论了多种文档处理方法的优缺点,包括开源工具的实现、发票处理的自动化、OCR与直接图像提取的对比、多模态模型的潜力与局限性、文档转换的信息丢失问题以及专利文档处理的简化方法。不同观点反映了在实际应用中,选择合适的方法需要权衡准确性、成本和效率。