在当今数据驱动的商业环境中,公司积累了大量的文档、图片、报告等,其中包含了宝贵的信息。有效地检索和分析这些信息对于决策至关重要,但仍然是一个重大挑战。处理文档以进行检索增强生成(RAG)是具有挑战性的,因为它涉及到布局复杂性、可扩展性和成本问题。现有的解决方案——无论是开源的还是专有的——都在准确性和成本上存在问题。专有选项昂贵,而大型语言模型(LLMs)引入了OCR(光学字符识别)的不一致性——比如在表格解析中。

Gemini 2.0 Flash:游戏规则改变者

Gemini 2.0 Flash可能是这里的游戏规则改变者。根据Sergey Filimonov的博客中对真实世界数据的实验,Gemini 2.0 Flash提供了:

  • 接近完美的OCR能力——这对于从具有复杂布局和表格的文档中准确提取文本至关重要。
  • 与OpenAI等大型竞争对手LLMs相比,成本显著降低。
  • 处理真实世界文档挑战:在质量差的扫描、多种语言和复杂的表格结构中表现良好。

最近OmniAI OCR基准测试揭示了类似的发现:

  • Gemini 2.0 Flash与GPT-4o相比:准确率86.1%对75.5%。
  • Gemini 2.0 Flash与GPT-4o相比:每1000页成本1.12美元对18.37美元。

这些发现表明,整体视觉语言模型(VLMs)的性能与大多数传统OCR提供商相匹配或超过。最显著的性能提升是在包含图表/信息图表、手写或复杂输入字段(例如复选框、高亮字段)的文档中。VLMs在照片和低质量扫描上也更可预测。它们通常更能“看穿”扫描线、折痕、水印等“噪声”。传统模型在高密度页面(教科书、研究论文)以及常见的文档格式(如税务表格)上表现更好。

总的来说,多模态LLMs更好且更便宜!尤其是Gemini 2.0 Flash。因此,让我们使用它来构建一个RAG系统吧!

什么是RAG(检索增强生成)

检索增强生成(RAG)结合了检索系统和生成性AI的力量,以提供准确、基于知识的响应:

  • 检索:当用户提出问题时,系统首先搜索相关文档的数据库。
  • 增强:系统将检索到的上下文添加到用户的查询中。
  • 生成:然后LLM根据查询和检索到的上下文生成响应。

RAG系统使公司能够通过从自己的数据仓库中检索相关信息来增强LLM响应,从而充分发挥其文档集合的全部潜力。

构建多模态RAG系统

让我们使用DeepSeek-R1论文,并让Gemini 2.0 Flash回答一个需要阅读和理解以下小表格的单一问题:

  • 来源:DeepSeek-R1:通过强化学习激励LLM的推理能力(https://arxiv.org/pdf/2501.12948)

问题:“为什么DeepSeek是一个重大突破,DeepSeek-R1-Zero在基准测试中表现得更好多少?”

构建简单RAG系统的工作流程

  1. 加载PDF并保存每一页为图像。
  2. 提示Gemini 2.0 Flash进行OCR和分块。
  3. 使用Gemini嵌入模型嵌入分块。
  4. 将文档分块和嵌入保存在向量数据库中。
  5. 提示LLM使用最佳匹配分块生成答案。

Gemini 2.0 Flash的优势

Gemini 2.0 Flash提供了一个成本效益的解决方案,用于构建OCR/RAG系统,特别是当你的用例只需要文本、表格和图像而不需要边界框时。虽然边界框检测仍然是一个挑战,我们可以期待未来的模型改进来解决这个限制。

RAG系统的详细构建步骤

步骤1:加载PDF并保存每一页为图像

首先,我们需要从URL加载PDF文档,并将每一页解析并保存为图像。这可以通过使用Python库如requestsPIL来实现。

步骤2:提示Gemini 2.0 Flash进行OCR和分块

接下来,我们提示多模态LLM进行OCR,并创建有意义的分块,这些分块由<chunk></chunk>标签定义。表格应该以HTML格式格式化,并额外添加摘要(这将通过添加更多支持来改善检索)。对于图表也是如此。

步骤3:使用Gemini嵌入模型嵌入分块

我们将使用Gemini API以及检索任务类型的嵌入模型来为每个分块创建嵌入,并将它们与文档一起保存在向量数据库中。这将提高嵌入的质量。

步骤4:将文档分块和嵌入保存在向量数据库中

我们将使用ChromaDB作为向量数据库。对于每个分块,我们将使用嵌入模型创建嵌入,并将它们与文档一起保存在向量数据库中。

步骤5:提示LLM使用最佳匹配分块生成答案

最后,我们可以将用户查询嵌入,执行与所有嵌入文档的相似性搜索,以找到最佳匹配的前k个文档。然后,我们可以将这些文档作为上下文与查询一起提供给LLM,以生成最终答案。

RAG系统的最终部分:生成答案

最后,我们可以将检索到的前k个文档作为上下文,与查询一起提供给LLM,以生成最终答案。

Gemini 2.0 Flash为构建OCR/RAG系统提供了一个经济有效的解决方案,尤其是在你的用例只需要文本、表格和图像而不需要边界框时。虽然边界框检测仍然是一个挑战,我们可以期待未来的模型改进来解决这个限制。

通过使用Gemini 2.0 Flash,我们可以构建一个强大且可扩展的多模态RAG系统,以更有效地检索和分析公司积累的大量文档、图片和报告中的宝贵信息。这不仅提高了决策的质量,还降低了成本和复杂性。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注