Gemini 3 已在 Tensorlake 中作为 OCR 模型提供

发布: (2025年12月8日 GMT+8 13:57)
5 min read
原文: Dev.to

Source: Dev.to

Google 的 Gemini 模型自 2.5 Flash 版本起就在文档解析方面表现出色。最新的 Gemini 3 更进一步,在 OmniDocBench 上实现了最低编辑距离(0.115),优于 GPT‑5.1(0.147)和 Claude Sonnet 4.5。

从今天起,你可以在 Tensorlake 的文档摄取 API 中将 Gemini 3 作为 OCR 引擎使用。批量摄取文档、转换为 Markdown、对页面进行分类,或使用 JSON 模式提取结构化数据。Tensorlake 负责排队、速率限制管理以及处理后文档的 webhook。

我们在 Tensorlake 中对 Gemini 3 进行测试,结果在“恶劣”文档布局上的表现立竿见影。

案例研究 1:表格结构识别

文档: Google 2024 环境报告

财务和科研报告常使用视觉线索——缩进、漂浮列、符号——来传递含义。我们将附录中复杂的 “Water Use” 表格输入 Gemini 3。

Google 环境报告

挑战

该表格半无线:部分行有分隔线,列之间缺乏明确边界,最右侧列与主体块脱离。

Gemini 3 结果:视觉理解

Gemini 3 完全理解了表格。以下是 Tensorlake 云仪表盘的截图。

Google 环境结果

案例研究 2:VQA + 结构化输出

文档: 房屋平面图

我们通过将 Gemini 3 集成到 Tensorlake 的结构化提取流水线,测试其在建筑文档上解析视觉符号的能力。

输入

一份房屋平面图的原始 PDF,以及定义所需字段的 Pydantic 模式,例如:

class KitchenOutlets(BaseModel):
    kitchen_outlets: int  # 标准和 GFI 电源插座的数量,由图例中标记为 “outlet” 的图标指示

厨房 + 餐饮区:

厨房餐饮示意图

图例中显示,带两条线的圆圈代表插座:

厨房餐饮图例

挑战

图中没有文字标签 “Outlet”;模型必须识别图例中定义的圆圈‑线图标,将搜索范围限制在厨房区域,并将计数聚合到 JSON 结构中。

结果

Gemini 3 正确解释了视觉图示,并返回了一个有效的 JSON 对象,显示 6 个插座,并将其与附近的数据端口和开关区分开来。

厨房餐饮结果

Tensorlake 将专用 OCR 模型和视觉语言模型融合为便捷的 API。虽然你可以直接调用 Gemini API,但需要自行重建许多生产就绪的组件。Gemini 3 现已完全集成到 Tensorlake DocAI API 中,用于读取、分类和提取文档信息。

Tensorlake 解决了使用 VLM 构建文档摄取 API 的两大痛点

  • 批量摄取 & 速率限制 – Gemini 3 在流量突增时可能出现配额错误;一次发送 10 000 份文档可能触发配额错误。Tensorlake 自动管理队列、处理退避和重试,防止 429 错误。
  • 大文件分块 – Tensorlake 自动将大型文档拆分为 25 页的块,确保 Gemini 的输出保持在 64 k token 限制内。

何时使用(以及不使用)Gemini 3

适合使用 Gemini 3 的场景

  • 需要复杂视觉推理 – 如将图表的颜色图例与数据表关联,或在蓝图上计数符号。

不适合使用 Gemini 3 的场景

  • 需要边界框进行引用 – Gemini 3 不执行对象的布局检测。
  • 需要严格的文字样式或字体检测 – 删除线、下划线或特定字体颜色等视觉细微差别会被忽略。

对于这些任务,请考虑 Tensorlake 的专用模型,例如 Model03

如何在 Tensorlake 中使用 Gemini 3

Playground

Gemini 3 今日已在 Tensorlake Playground 中开放供实验:

Playground 设置界面

HTTP API / SDK

from tensorlake.documentai import DocumentAI, ParsingOptions

client = DocumentAI()

parse_id = client.read(
    file_url="https://tlake.link/docs/real-estate-agreement",
    parsing_options=ParsingOptions(
        ocr_model="gemini3"
    )
)

result = client.result(parse_id)

下一步

文档摄取涉及众多边缘案例。我们致力于为用户提供最前沿的模型,使其能够通过最小的工作量调整 OCR 流水线组件,快速解决各种使用场景。

Back to Blog

相关文章

阅读更多 »