第250102期 - zerox
7.6k star,推荐一个更加智能的文档转换开源工具
与常规的文档转换工具不同,zerox 是一个更加智能的文档转换工具,它是采用视觉模型来实现的pdf到markdown的转换。
说个例子,就算你是手写体,也能精准的识别出来。
当然了,它不仅仅支持pdf的转换,支持的文档类型也有很多。
关于zerox
zerox是一个非常简单但高效的ocr文档内容提取工具。
Zerox利用视觉模型进行光学字符识别(OCR)。这个项目的目标是简化文档处理过程,使其更易于人工智能的使用。Zerox 提供了一个简单的方法,将各种格式的文档(如 PDF、DOCX、图像等)转换为 Markdown 格式,适用于 Node 和 Python 环境。
项目特点
- 多格式支持:Zerox 支持多种文档格式,包括 PDF、DOCX 和图像文件。无论是复杂的布局、表格还是图表,Zerox 都能轻松处理。
- 高效的 OCR 处理:利用先进的视觉模型,Zerox 能够高效地进行光学字符识别,将文档内容转换为 Markdown 格式。
- 易于使用:Zerox 提供了简单的 API,用户可以轻松地将其集成到现有的工作流程中。无论是 Node 还是 Python 环境,Zerox 都能无缝运行。
- 可扩展性:Zerox 设计为可扩展的框架,能够处理大规模数据集和高并发任务,适用于各种应用场景。
- 丰富的配置选项:Zerox 提供了丰富的配置选项,用户可以根据需求自定义 OCR 处理过程,包括页面方向校正、错误处理模式、并发处理数量等。
如何快速开始
Node 环境
- 安装 Zerox:
npm install zerox
- 使用 Zerox 进行 OCR 处理:
import { zerox } from "zerox";
const result = await zerox({
filePath: "https://omni-demo-data.s3.amazonaws.com/test/cs101.pdf",
openaiAPIKey: process.env.OPENAI_API_KEY,
});
- 配置选项:
const result = await zerox({
filePath: "path/to/file",
openaiAPIKey: process.env.OPENAI_API_KEY,
cleanup: true,
concurrency: 10,
correctOrientation: true,
errorMode: ErrorMode.IGNORE,
maintainFormat: false,
maxRetries: 1,
maxTesseractWorkers: -1,
model: "gpt-4o-mini",
onPostProcess: async ({ page, progressSummary }) => Promise<void>,
onPreProcess: async ({ imagePath, pageNumber }) => Promise<void>,
outputDir: undefined,
pagesToConvertAsImages: -1,
});
Python 环境
- 安装 Zerox:
pip install zerox
- 使用 Zerox 进行 OCR 处理:
from zerox import zerox
result = zerox({
"filePath": "https://omni-demo-data.s3.amazonaws.com/test/cs101.pdf",
"openaiAPIKey": os.getenv("OPENAI_API_KEY"),
})
- 配置选项:
result = zerox({
"filePath": "path/to/file",
"openaiAPIKey": os.getenv("OPENAI_API_KEY"),
"cleanup": True,
"concurrency": 10,
"correctOrientation": True,
"errorMode": ErrorMode.IGNORE,
"maintainFormat": False,
"maxRetries": 1,
"maxTesseractWorkers": -1,
"model": "gpt-4o-mini",
"onPostProcess": lambda page, progressSummary: None,
"onPreProcess": lambda imagePath, pageNumber: None,
"outputDir": None,
"pagesToConvertAsImages": -1,
})
Zerox 项目通过其强大的功能和易用的接口,为用户提供了一个高效的文档处理解决方案。无论是处理复杂的文档布局,还是进行大规模的 OCR 任务,Zerox 都能轻松应对。
开源地址:https://github.com/getomni-ai/zerox