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

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

ruisui885个月前 (02-03)技术分析21

还在为复杂的文档排版和表格发愁吗?还在被传统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视觉模型解锁文档智能解析新姿势” 的相关文章

面试被逼疯:聊聊Python Import System?

面试官一个小时逼疯面试者:聊聊Python Import System?对于每一位Python开发者来说,import这个关键字是再熟悉不过了,无论是我们引用官方库还是三方库,都可以通过import xxx的形式来导入。可能很多人认为这只是Python的一个最基础的常识之一,似乎没有可以扩展的点了,...

HTML5最新版本介绍

HTML5是HTML4.01和XHTML1.0之后超文本标记语言的最新版本,由一群自由思想者设计,最终实现了多媒体支持、交互性、更智能的表单和更好的语义标注。 HTML 5不只是 HTML规范的最新版本,它是用于生成现代 Web内容的一系列相关技术的总称,其中最重要的三个技术是:HTML5核心规范...

html5+css3做的响应式企业网站前端源码

大家好,今天给大家介绍一款,html5+css3做的响应式企业网站前端源码 (图1)。送给大家哦,获取方式在本文末尾。首页banner幻灯片切换特效(图2)首页布局简约合理(图3)关于我们页面(图4)商品列表(图5)商品详情(图6)服务介绍(图7)新闻列表(图8)联系我们(图9)源码完整,需要的朋友...

Vue进阶(幺叁捌):vue路由传参的几种基本方式

1、动态路由(页面刷新数据不丢失)methods:{ insurance(id) { //直接调用$router.push 实现携带参数的跳转 this.$router.push({ path: `/particulars/${id}`,...

thinkphp8+vue3微信小程序商城,发布公众号App+SAAS+多商户

项目介绍三勾小程序商城基于thinkphp8+vue3+element-ui+uniapp打造的面向开发的小程序商城,方便二次开发或直接使用,可发布到多端,包括微信小程序、微信公众号、QQ小程序、支付宝小程序、字节跳动小程序、百度小程序、android端、ios端。支持主题色+自定义头部导航+自定义...

Firefox正针对Vue.js进行优化,下版本响应速度将“显著提升”

IT之家 9 月 7 日消息,据 Mozilla 官方博客发文显示,Firefox 浏览器正针对 Vue.js 进行优化,此前 FireFox 浏览器在面向 Vue 3 时遇到了一些性能问题。▲ 图源 Mozilla 官方博客目前开发人员已经对此进行了解决,在 Firefox 118 内部版本中进行...