当前位置:首页 > 技术分析 > 正文内容

告别传统OCR?Zerox:用AI视觉模型解锁文档智能解析新姿势

ruisui883个月前 (02-03)技术分析14

还在为复杂的文档排版和表格发愁吗?还在被传统OCR的识别错误搞得头大吗?别担心,开源项目 getomni-ai/zerox 带着它的AI视觉模型来拯救你了!它就像一位拥有火眼金睛的文档解析大师,能轻松搞定各种文档,并将其转化为结构化的Markdown文本,方便后续的AI处理。

一、项目简介:Zerox是什么?

Zerox是一个开源项目,其核心目标是简化文档的OCR(光学字符识别)过程,特别是针对那些排版复杂、包含表格、图表等元素的文档。它巧妙地利用了强大的AI视觉模型(如GPT-4o),让文档解析不再是难题。简单来说,你只需提供一份文档,它便能返回一份结构清晰的Markdown文本,是否让你感到惊奇?

二、核心功能:Zerox的独门秘籍

Zerox的工作流程可以概括为以下几个步骤:

  1. 输入文件: 你可以给它任何类型的文档,比如PDF、DOCX、图片等,它都能接招。
  2. 转换为图片: Zerox会将文档转换为一系列图片,以便后续处理。
  3. AI视觉模型处理: 接下来,它会调用AI视觉模型(如GPT-4o)对每张图片进行分析,提取出文本内容,并将其转换为Markdown格式。
  4. 整合输出: 最后,Zerox会将所有页面的Markdown文本整合起来,返回给你一个完整的Markdown文档。

是不是感觉像在看魔术表演?但Zerox可不是魔术,它是实实在在的科技!

三、部署方式:Zerox的两种打开方式

Zerox提供了两种部署方式,以满足不同开发者的需求:

1. Node.js 版本

如果你是Node.js的忠实粉丝,可以通过npm安装Zerox:

npm install zerox

安装完成后,请确保你的系统安装了 graphicsmagick 和 ghostscript 这两个依赖项。在Linux系统上,你可以使用以下命令安装:

sudo apt-get update
sudo apt-get install -y graphicsmagick

2. Python 版本

如果你更喜欢Python,可以通过pip安装Zerox:

pip install py-zerox

Python版本需要安装 poppler,具体安装方法可以参考 pdf2image文档。

四、使用方式:Zerox的正确打开姿势

1. Node.js 版本

(1) 使用文件URL

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,
});

(2) 使用本地文件路径

import path from "path";
import { zerox } from "zerox";

const result = await zerox({
  filePath: path.resolve(__dirname, "./cs101.pdf"),
  openaiAPIKey: process.env.OPENAI_API_KEY,
});

(3) 可选参数

Zerox还提供了许多可选参数,你可以根据自己的需求进行配置,比如:

  • cleanup: 是否在运行后清理临时图片文件。
  • concurrency: 并发处理的页面数量。
  • correctOrientation: 是否自动校正页面方向。
  • errorMode: 错误处理模式。
  • maintainFormat: 是否保持格式一致性。
  • model: 使用的AI模型(如 gpt-4o-mini 或 gpt-4o)。
  • onPostProcess 和 onPreProcess: 页面处理前后的回调函数。
  • outputDir: 输出Markdown文件的目录。
  • pagesToConvertAsImages: 需要转换为图片的页面。
  • tempDir: 临时文件目录。
  • trimEdges: 是否裁剪边缘。

2. Python 版本

from pyzerox import zerox
import os
import asyncio

# ... (模型配置部分,请参考原文)

async def main():
    file_path = "https://omni-demo-data.s3.amazonaws.com/test/cs101.pdf"
    output_dir = "./output_test"
    result = await zerox(file_path=file_path, model=model, output_dir=output_dir, **kwargs)
    return result

result = asyncio.run(main())
print(result)

Python版本的使用方式与Node.js版本类似,也提供了许多可选参数,比如:

  • cleanup: 是否清理临时文件。
  • concurrency: 并发进程数。
  • file_path: 文件路径。
  • maintain_format: 是否保持格式。
  • model: 使用的AI模型。
  • output_dir: 输出目录。
  • temp_dir: 临时文件目录。
  • custom_system_prompt: 自定义系统提示词。
  • select_pages: 选择处理的页面。
  • kwargs: 传递给 litellm.completion 的额外参数。

五、支持的文件类型

Zerox支持多种文件类型,包括:

  • PDF
  • DOC/DOCX
  • ODT/OTT
  • RTF
  • TXT
  • HTML/HTM
  • XML
  • WPS/WPD
  • XLS/XLSX
  • ODS/OTS
  • CSV/TSV
  • PPT/PPTX
  • ODP/OTP

基本上,你日常工作中遇到的文档类型,Zerox都能轻松应对。

六、总结

Zerox是一个功能强大、易于使用的开源OCR项目,它利用AI视觉模型,为文档解析带来了全新的解决方案。无论你是Node.js开发者还是Python爱好者,都可以轻松上手,让文档处理变得更加高效。如果你还在为文档解析而烦恼,不妨试试Zerox,它可能会给你带来意想不到的惊喜!

友情提示: Zerox的背后功臣是 Litellm,它为Python SDK提供了强大的AI模型支持。

最后,别忘了Zerox是MIT开源协议的,你可以放心大胆地使用它!

#头条创作挑战赛##github##开源##人工智能#

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/643.html

标签: node xlsx
分享给朋友:

“告别传统OCR?Zerox:用AI视觉模型解锁文档智能解析新姿势” 的相关文章

10分钟搞定gitlab-ci自动化部署

gitlab-ci 是持续集成工具/自动化部署工具,类似 jenkins。持续集成 是将代码集成到共享存储库并尽可能早地自动构建/测试每个更改的实践 - 通常一天几次。概述在编码完成时都会进行打包发布过程,如果每次都手动操作这一步骤就会浪费时间,效率低下。所以就有了持续集成。准备事项请提前安装以下软...

代码分支规范

一.gitflow工作流说明:主分支:master,稳定版本代码分支,对外可以随时编译发布的分支,不允许直接Push代码,只能请求合并(pull request),且只接受hotfix、release分支的代码合并。gitlab上做限制。热修复分支:hotfix,针对现场紧急问题、bug修复的代码分...

抖音 Android 性能优化系列:启动优化实践

启动性能是 APP 使用体验的门面,启动过程耗时较长很可能使用户削减使用 APP 的兴趣,抖音通过对启动性能做劣化实验也验证了其对于业务指标有显著影响。抖音有数亿的日活,启动耗时几百毫秒的增长就可能带来成千上万用户的留存缩减,因此,启动性能的优化成为了抖音 Android 基础技术团队在体验优化方向...

30 个纯 HTML5 实现的游戏

浏览器和 JavaScript 的功能逐年不断的变强变大。曾几何时,任何类型的游戏都需要Flash。但随着 HTML5 发展,HTML5 + WebGL 游戏式就慢慢占领着这个舞台。以下是30款流行的游戏,它们可以在所有现代浏览器中运行,并且只使用web技术构建。1. HexGL地址:http://...

2024年,不断突破的一年

迈凯伦F1车队不久前拿下了2024年度总冠军,距离上一次还是二十几年前。在此期间,另一领域内,一个充满革新活力的腕表品牌——RICHARD MILLE理查米尔,正不断发展,与F1运动、帆船、古董车展等领域,共享着对速度与极限的无尽向往。RICHARD MILLE的发展与F1车手们在赛道上的卓越表现交...

别让“跑焦”毁所有!仅需这一项设置,即可显著改善镜头对焦精度

我常常会收到一些摄影爱好者的私信,也一直在努力的帮助大家解决更多摄影中常见问题。在我收到的所有问题中。有一个问题是最麻烦的,那就是“为什么我的图像看起来模糊?”。这个问题几乎每个人都遇到过,究其原因可以说是多种多样相对复杂。起初我一直认为是对焦问题所导致,也就有了我之前所写的“后按对焦”以及“对焦模...