PDFなどのドキュメントを翻訳するツール。
Unstructuredで読み込み、OpenAI APIに渡しているだけ。
インストール例:
sudo apt install poppler-utils poppler-data tesseract-ocr tesseract-ocr-jpn
pip install unstructured[all-docs] --extra-index-url https://download.pytorch.org/whl/cu118
cu118
のところは環境に合わせて変更する。
詳細はUnstructuredのドキュメントを参照。
pip install translatedoc
export OPENAI_API_KEY=<your_api_key>
translatedoc --language=Japanese <input_files_and_or_urls>
カレントディレクトリにファイル名.Source.txt
とファイル名.Japanese.txt
が生成される。
詳細は translatedoc --help
を参照。
テキストの抽出と翻訳を別々に行うこともできる。
translatedoc-step1 <input_files_and_or_urls>
translatedoc-step2 --language=Japanese <input_text_files>
Pythonライブラリとしても使用可能。
import os
import translatedoc
result_text: str = translatedoc.extract_text("path_or_url.pdf")
model = "gpt-3.5-turbo-1106"
openai_client = openai.OpenAI(base_url=os.environ.get("OPENAI_API_BASE"))
chunks: list[str] = translatedoc.partition(result_text, model)
translated = "\n\n".join(
translatedoc.translate(chunk, model, "Japanese", openai_client) for chunk in chunks
)
環境変数名 | 概要 | デフォルト値 |
---|---|---|
OPENAI_API_BASE |
OpenAI APIのベースURL | https://api.openai.com/v1 |
OPENAI_API_KEY |
OpenAI APIのキー | - |
TRANSLATEDOC_MODEL |
翻訳に使用するモデル | gpt-4o-mini |
TRANSLATEDOC_STRATEGY |
ドキュメントのパーティション化に使用する戦略 | hi_res |