はじめに
Zeroxは、PDF、DOCX、画像、その他のドキュメントをビジュアルモデルを通してMarkdown形式に変換するために設計されたオープンソースプロジェクトです。このプロジェクトはgetomni-aiチームによって開発され、シンプルで効率的なOCR(光学式文字認識)ソリューションを提供します。 zeroxはNodeとPythonの2つのプログラミング言語をサポートし、PDFから画像への処理にはgraphicsmagickとghostscriptを使用します。ユーザーは、表やグラフなどの複雑なレイアウトを持つ様々なドキュメントに対して、ファイルパスとOpenAI APIキーを提供することで、ドキュメントを素早くMarkdown形式に変換することができます。
機能一覧
- PDF、DOCX、画像、その他のファイル形式の変換をサポートする
- NodeとPythonの両方のプログラミング言語をサポートします。
- 視覚モデルを用いた効率的なOCR処理
- PDFから画像への処理のために、graphicsmagickとghostscriptを自動的にインストールします。
- ファイルパスとURL入力の両方をサポート
- 並行処理、ページの向き補正、エラー処理モードなど、さまざまなオプション・パラメーターを提供する。
- 前処理および後処理コールバック関数のサポート
- 変換結果を指定したディレクトリに保存するオプション
ヘルプの使用
設置プロセス
ノードのバージョン
- Node.jsとnpmのインストール
- コマンド実行
npm install zerox
- お使いのシステムにgraphicsmagickとghostscriptがインストールされていることを確認してください。インストールされていない場合は、以下のコマンドを実行してください:
sudo apt-get update
sudo apt-get install -y graphicsmagick ghostscript
パイソン版
- Pythonとpipをインストールする
- コマンド実行
pip install zerox
- お使いのシステムにgraphicsmagickとghostscriptがインストールされていることを確認してください。インストールされていない場合は、以下のコマンドを実行してください:
sudo apt-get update
sudo apt-get install -y graphicsmagick ghostscript
使用方法
ノードのバージョン
- zeroxモジュールをインポートする:
zerox } を "zerox" からインポートする。
- 変換にはファイルパスを使用します:
const result = await zerox({
filePath: "path/to/file.pdf"、
openaiAPIKey: process.env.OPENAI_API_KEY、
});
- 変換にはURLを使用する:
const result = await zerox({
filePath: "https://example.com/file.pdf"、
openaiAPIKey: process.env.OPENAI_API_KEY、
});
パイソン版
- zeroxモジュールをインポートする:
from zerox 輸入ゼロックス
- 変換にはファイルパスを使用します:
result = zerox(
file_path="path/to/file.pdf"、
openai_api_key="あなたの_openai_api_key"
)
- 変換にはURLを使用する:
result = zerox(
file_path="https://example.com/file.pdf"、
openai_api_key="あなたの_openai_api_key"
)
主な機能
- ファイルの変換Markdown形式のテキストを返します。
- 並行処理を設定する。
同時実行
パラメータを使用して、同時に処理するページ数を制御し、処理効率を向上させる。 - ページの向き補正ページの向き補正機能はデフォルトで有効になっており、変換後のテキストの向きを正しく保つことができます。
- エラー処理モードオプションで、エラーを無視またはスローすることができます。
エラーモード
パラメータが設定されている。 - 前処理および後処理コールバック各ページが処理される前後にカスタムアクションを実行するためのコールバック関数を提供します。
- 結果を保存を設定する。
出力先
パラメータを使用して、変換結果を指定したディレクトリに保存します。
サンプルコード
ノードのバージョン
import { zerox } from "zerox" ;
const result = await zerox({
filePath: "path/to/file.pdf", openaiAPIKey: process.env.OPENAI_API_KEY, process.env.
openaiAPIKey: process.env.OPENAI_API_KEY, cleanup: true, const result = await zerox({ filePath: "path/to/file.pdf", openaiAPIKey: process.env.
openaiAPIKey: process.env.OPENAI_API_KEY, cleanup: true、
openaiAPIKey: process.env.OPENAI_API_KEY, cleanup: true, openaiAPIKey: process.env.OPENAI_API_KEY
openaiAPIKey: process.env.OPENAI_API_KEY, cleanup: true, concurrency: 10, correctOrientation: true、
errorMode: "IGNORE"、
maintainFormat: false、
maxRetries: 1, maxTesseractWorkers: -1、
maxTesseractWorkers: -1、
model: "gpt-4o-mini", onPostProcess: 非同期
onPostProcess: async ({ page, progressSummary }) => Promise、
onPreProcess: async ({ imagePath, pageNumber }) => Promise、
outputDir: "output"、
pagesToConvertAsImages: -1、
}).
パイソン版
from zerox import zerox
result = zerox(
file_path="path/to/file.pdf"、
openai_api_key="your_openai_api_key"、
cleanup=True、
concurrency=10, correct_orientation=True
correct_orientation=True, error_mode="IGNORE", maintain_format=False
maintain_format=False、
max_retries=1, max_tesseract_worker
max_tesseract_workers=-1, model="gpt-4-o-min
model="gpt-4o-mini"、
on_post_process=lambda page, progress_summary: なし、
on_pre_process=lambda image_path, page_number: None、
output_dir="output"、
pages_to_convert_as_images=-1、
)