开源可本地部署的AI翻译工具:快速解读PDF文档,实现全文双语翻译

发现一款国人开发的基于AI完整保留排版的PDF文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务。

开源可本地部署的AI翻译工具:快速解读PDF文档,实现全文双语翻译

github地址:https://github.com/Byaidu/PDFMathTranslate

特点如下:

保留公式、图表、目录和批注(预览版)。

支持多种语言,以及多样化的翻译服务。

提供命令行工具、交互式用户界面和容器化运行

安装和使用

我们提供了三种使用该项目的方法:命令行工具、便携式安装、图形交互界面容器化部署

一、命令行工具

1.确保安装了版本大于 3.8 且小于 3.12 的 Python

2.安装此程序:

pip install pdf2zh

3.执行翻译,生成文件位于 当前工作目录:

pdf2zh document.pdf

二、便携式安装

无需预先安装 Python 环境

下载 setup 文件,解压后点击 setup.bat 并双击运行

发行版:https://github.com/Byaidu/PDFMathTranslate/releases

三、图形交互界面

1.确保安装了版本大于 3.8 且小于 3.12 的 Python

2.安装此程序:

pip install pdf2zh

3.开始在浏览器中使用:

pdf2zh -i

4.如果您的浏览器没有自动启动并跳转,请用浏览器打开:

http://localhost:7860/

开源可本地部署的AI翻译工具:快速解读PDF文档,实现全文双语翻译

四、容器化部署

1.拉取 Docker 镜像并运行:

docker pull byaidu/pdf2zh
docker run -d -p 7860:7860 byaidu/pdf2zh

2.通过浏览器打开:

http://localhost:7860/

高级选项

在命令行中执行翻译命令,在当前工作目录下生成译文文档 example-zh.pdf 和双语对照文档 example-dual.pdf,默认使用 Google 翻译服务

下表中列出了所有高级选项,以供参考:

Option Function Example
files 本地文件 pdf2zh ~/local.pdf
links 在线文件 pdf2zh http://arxiv.org/paper.pdf
-i 进入图形界面 pdf2zh -i
-p 仅翻译部分文档 pdf2zh example.pdf -p 1
-li 源语言 pdf2zh example.pdf -li en
-lo 目标语言 pdf2zh example.pdf -lo zh
-s 指定翻译服务 pdf2zh example.pdf -s deepl
-t 多线程 pdf2zh example.pdf -t 1
-o 输出目录 pdf2zh example.pdf -o output
-f-c 例外规则 pdf2zh example.pdf -f "(MS.*)"

全文或部分文档翻译

全文翻译

pdf2zh example.pdf

部分翻译

pdf2zh example.pdf -p 1-3,5

指定源语言和目标语言

参考 Google Languages Codes, DeepL Languages Codes

pdf2zh example.pdf -li en -lo ja

使用不同的翻译服务

下表列出了每个翻译服务所需的 环境变量,在使用相应服务之前,请确保已设置这些变量

TranslatorServiceEnvironment VariablesDefault ValuesNotes
Google (Default)googleNoneN/ANone
BingbingNoneN/ANone
DeepLdeeplDEEPL_SERVER_URL,DEEPL_AUTH_KEYhttps://api.deepl.com[Your Key]See DeepL
DeepLXdeeplxDEEPLX_ENDPOINThttps://api.deepl.com/translateSee DeepLX
OllamaollamaOLLAMA_HOSTOLLAMA_MODELhttp://127.0.0.1:11434gemma2See Ollama
OpenAIopenaiOPENAI_BASE_URLOPENAI_API_KEYOPENAI_MODELhttps://api.openai.com/v1[Your Key]gpt-4o-miniSee OpenAI
AzureOpenAIazure-openaiAZURE_OPENAI_BASE_URLAZURE_OPENAI_API_KEYAZURE_OPENAI_MODEL[Your Endpoint][Your Key]gpt-4o-miniSee Azure OpenAI
ZhipuzhipuZHIPU_API_KEYZHIPU_MODEL[Your Key]glm-4-flashSee Zhipu
SiliconsiliconSILICON_API_KEYSILICON_MODEL[Your Key]Qwen/Qwen2.5-7B-InstructSee SiliconCloud
AzureazureAZURE_ENDPOINTAZURE_API_KEYhttps://api.translator.azure.cn[Your Key]See Azure
TencenttencentTENCENTCLOUD_SECRET_IDTENCENTCLOUD_SECRET_KEY[Your ID][Your Key]See Tencent

使用 -s service 或 -s service:model 指定翻译服务:

pdf2zh example.pdf -s openai:gpt-4o-mini

或者使用环境变量指定模型:

set OPENAI_MODEL=gpt-4o-mini
pdf2zh example.pdf -s openai

指定例外规则

使用正则表达式指定需保留的公式字体与字符:

pdf2zh example.pdf -f "(CM[^RT].*|MS.*|.*Ital)" -c "(\(|\||\)|\+|=|\d|[\u0080-\ufaff])"

翻译后的效果:

原始页面一
原始页面一

翻译后的pdf页面(一)

开源可本地部署的AI翻译工具:快速解读PDF文档,实现全文双语翻译
翻译后的页面一

总体格式页没有太乱,还是很不错的。

原创文章,作者:howkunet,如若转载,请注明出处:https://www.intoep.com/othen/64577.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024-12-11 17:56
下一篇 2024-12-13 17:09

相关推荐

发表回复

登录后才能评论
分享本页
返回顶部