BAIZE AI RESOURCE

zerox|视觉模型驱动的文档OCR与Markdown转换工具

zerox|视觉模型驱动的文档OCR与Markdown转换工具

zerox 是一个利用视觉语言模型将 PDF、图片等文档转换为 Markdown 的 OCR 工具,旨在为 AI 数据摄取提供简单高效的文档解析方案。

zerox|视觉模型驱动的文档OCR与Markdown转换工具

资源介绍

zerox 是一个开源的文档 OCR 工具,它摒弃了传统的 OCR 引擎,转而利用 GPT-4o 等视觉语言模型来理解文档的视觉布局,从而能够处理复杂的表格、图表和排版。其核心工作流程是将 PDF、DOCX、图片等文件转换为图像序列,然后逐页交给视觉模型生成 Markdown 格式的文本,最后聚合输出。该项目提供 Node.js 和 Python 两种 SDK,支持 OpenAI、Azure OpenAI、AWS Bedrock、Google Gemini 等多种主流模型提供商,并具备并发处理、页面选择、方向校正等高级功能。zerox 特别适合需要将扫描文档、复杂排版 PDF 转换为结构化文本以用于 RAG、知识库构建或数据提取的开发者。

应用能力

视觉模型驱动

利用 GPT-4o 等视觉语言模型理解文档布局,而非传统 OCR,能更好地处理表格、图表等复杂排版。

多格式输入

支持 PDF、图片、Word 文档等多种文件格式,自动转换为图像进行处理。

多模型提供商

支持 OpenAI、Azure OpenAI、AWS Bedrock、Google Gemini 等主流模型提供商,Python 版还支持 Vertex AI。

多语言 SDK

提供 Node.js 和 Python 两种 SDK,方便不同技术栈的开发者集成。

高级处理选项

支持并发处理、页面选择、方向校正、边缘裁剪、格式保持等选项,可灵活控制转换过程。

结构化数据提取

Node.js 版支持通过 schema 定义进行结构化数据提取,并可逐页提取。

资源配置

应用版本

v0.1.06

运行环境

WindowsmacOSLinux

安装方式

命令安装包管理器安装

依赖环境

API Key

安装与使用

  1. 安装 Node.js 包:npm install zerox,并确保系统已安装 graphicsmagick 和 ghostscript(Linux 可用 sudo apt-get install -y graphicsmagick)。

  2. 在代码中导入 zerox,调用 zerox 函数并传入文件路径和 API 凭证,例如:const result = await zerox({ filePath: 'path/to/file.pdf', credentials: { apiKey: process.env.OPENAI_API_KEY } });

  3. 可选参数包括 concurrency、maintainFormat、pagesToConvertAsImages 等,可根据需求调整。

  4. Python 版安装:pip install py-zerox,并确保系统已安装 poppler。

  5. Python 用法示例:import asyncio; from pyzerox import zerox; result = asyncio.run(zerox(file_path='path/to/file.pdf', model='gpt-4o', api_key='your-api-key'))。

使用案例

PDF 转 Markdown

使用场景将扫描版 PDF 或复杂排版的 PDF 转换为干净的 Markdown 文本,便于后续处理。

使用 zerox 将 PDF 文件作为输入,通过视觉模型识别内容并输出 Markdown 格式,保留文档结构。

图片 OCR

使用场景从包含文字或表格的图片中提取文本内容。

将图片文件(如 PNG、JPG)传给 zerox,它会将图片转换为图像并调用视觉模型生成 Markdown 文本。

结构化数据提取

使用场景从发票、表单等文档中提取特定字段,如日期、金额、姓名等。

在 Node.js 中使用 schema 参数定义所需字段,zerox 会按照 schema 提取结构化数据,而非仅输出 Markdown。

包含内容

LICENSE-MIT.txt
README-中文安装说明.md
SHA256.txt
zerox-source.zip

常见问题

zerox 支持哪些输入文件格式?
zerox 支持 PDF、图片(如 PNG、JPG)、Word 文档等,具体取决于使用的 SDK。Node.js 版需要 graphicsmagick 和 ghostscript 处理 PDF,Python 版需要 poppler。
zerox 需要哪些外部依赖?
Node.js 版需要安装 graphicsmagick 和 ghostscript,Python 版需要安装 poppler。此外,需要有效的 API 密钥以调用视觉模型。
zerox 支持哪些视觉模型?
zerox 支持 OpenAI 的 GPT-4o 等模型,也支持 Azure OpenAI、AWS Bedrock、Google Gemini 等。Python 版还支持 Vertex AI。
zerox 如何处理大型 PDF 文件?
zerox 支持并发处理(concurrency 参数),可同时处理多个页面,提高效率。同时可设置 pagesToConvertAsImages 选择特定页面。
zerox 是否支持结构化数据提取?
Node.js 版支持通过 schema 参数进行结构化数据提取,并可设置 extractPerPage 逐页提取。Python 版目前不支持此功能。