BabelDOC——AI文档翻译工具,支持本地部署和沉浸式翻译

BabelDOC——AI文档翻译工具,支持本地部署和沉浸式翻译这里是 Aideas 每日分享 AI 相关资讯 本文由 Aideas Agent 整理并推荐 项目地址 funstory ai BabelDOC 程序语言 Python 收藏 623 分支 37 今日收藏 81 stars today

大家好,欢迎来到IT知识分享网。

这里是Aideas,每日分享AI相关资讯。本文由Aideas Agent整理并推荐。项目地址:/funstory-ai/BabelDOC, 程序语言:Python, 收藏: 623, 分支: 37, 今日收藏: 81 stars today。

BabelDOC——AI文档翻译工具,支持本地部署和沉浸式翻译

简介

BabelDOC是PDF科学论文翻译和双语对比库。BabelDOC通过一个标准化的管道和接口来解决问题。实际上,PDF解析器或翻译器有两个主要阶段:

  • 解析:解析阶段意味着获取PDF的结构,例如文本块、图像、表格等。
  • 渲染:渲染阶段意味着将结构渲染为新的PDF或其他格式。

BabelDOC提供解析器的中间表示,并可以渲染为新的PDF或其他格式。该管道也是一个基于插件的系统,任何人都可以添加他们的新模型、OCR、渲染器等。

BabelDOC

  • 在线服务:1000页免费。
  • 自我部署:实验性支持自我部署 + WebUI,提供更多翻译服务。
  • 提供简单的命令行界面。
  • 提供Python API。
  • 主要设计为嵌入到其他程序中,但也可以直接用于简单的翻译任务。

优势

精准双语对照,原汁原味呈现

采用智能版面分析技术,精确识别文档结构与段落布局。译文与原文智能对齐,在阅读时可以即时对照,大幅提升阅读效率和理解准确度。

BabelDOC——AI文档翻译工具,支持本地部署和沉浸式翻译

智能公式文本混排

采用公式识别技术,完美处理数学公式与文本的复杂混排场景。公式内容原样保留,文本部分智能翻译,确保学术文献的专业性和准确性。

BabelDOC——AI文档翻译工具,支持本地部署和沉浸式翻译

原生样式完美呈现

采用先进的样式映射技术,完整保留原文档的字体、颜色、间距等设计元素。支持标点悬挂、自适应缩放等专业排版特性,确保翻译后的文档依然保持原有的精致美感。

BabelDOC——AI文档翻译工具,支持本地部署和沉浸式翻译

复杂排版智能处理

采用深度学习布局分析技术,从容应对多栏布局、表格、列表等复杂排版形式。无论文档结构如何繁复,都能精准识别并优化翻译,完美还原原有版式布局。

BabelDOC——AI文档翻译工具,支持本地部署和沉浸式翻译

开始使用

从PyPI安装

uv tool install --python 3.12 BabelDOC babeldoc --help

开始翻译:

 babeldoc --bing --files example.pdf # 多个文件 babeldoc --bing --files example1.pdf --files example2.pdf

从源代码安装

  1. 使用以下命令安装:
# 克隆项目 git clone :funstory-ai/BabelDOC.git # 进入项目目录 cd BabelDOC # 安装依赖并运行babeldoc uv run babeldoc --help
  1. 使用uv run babeldoc命令。例如:
uv run babeldoc --files example.pdf --openai --openai-model "gpt-4o-mini" --openai-base-url "" --openai-api-key "your-api-key-here" # 多个文件 uv run babeldoc --files example.pdf --files example2.pdf --openai --openai-model "gpt-4o-mini" --openai-base-url "" --openai-api-key "your-api-key-here"

语言选项

  • –lang-in, -li:源语言代码(默认:en)
  • –lang-out, -lo:目标语言代码(默认:zh)

PDF处理选项

  • –files:一个或多个输入PDF文档的文件路径。
  • –pages, -p:指定要翻译的页面(例如,“1,2,1-,-3,3-5”)。如果未设置,则翻译所有页面。
  • –split-short-lines:强制将短行拆分为不同段落(可能导致排版不良和错误)。
  • –short-line-split-factor:拆分阈值因子(默认:0.8)。实际阈值是当前页面上所有行的中位长度 * 此因子。
  • –skip-clean:跳过PDF清理步骤。
  • –dual-translate-first:在双PDF模式下将翻译页面放在前面(默认:原始页面在前)。
  • –disable-rich-text-translate:禁用富文本翻译(可能有助于提高与某些PDF的兼容性)。
  • –enhance-compatibility:启用所有兼容性增强选项(相当于 –skip-clean –dual-translate-first –disable-rich-text-translate)。
  • –use-alternating-pages-dual:在双PDF中使用交替页面模式。当启用时,原始和翻译页面按交替顺序排列;禁用时(默认),原始和翻译页面在同一页面上并排显示。
  • –watermark-output-mode:控制水印输出模式:’watermarked’(默认)将水印添加到翻译后的PDF中,’no_watermark’不添加水印,’both’输出两个版本。
  • –max-pages-per-part:每个部分的最大页数。如果未设置,则不会执行拆分。
  • –translate-table-text:翻译表格文本(实验性,默认:False)。
  • –skip-scanned-detection:跳过扫描文档检测(默认:False)。在使用拆分翻译时,如果未跳过,则仅第一部分执行检测。

翻译服务选项

  • –qps:翻译服务的QPS(每秒查询数)限制(默认:4)。
  • –ignore-cache:忽略翻译缓存并强制重新翻译。
  • –no-dual:不输出双语PDF文件。
  • –no-mono:不输出单语PDF文件。
  • –min-text-length:翻译的最小文本长度(默认:5)。
  • –openai:使用OpenAI进行翻译(默认:False)。

OpenAI特定选项

  • –openai-model:要使用的OpenAI模型(默认:gpt-4o-mini)。
  • –openai-base-url:OpenAI API的基本URL。支持本地模型如Ollama
  • –openai-api-key:OpenAI服务的API密钥。

输出控制

  • –output, -o:翻译文件的输出目录。如果未设置,则使用当前工作目录。
  • –debug, -d:启用调试日志级别,并在~/.cache/yadt/working中导出详细的中间结果。
  • –report-interval:进度报告间隔(默认:0.1秒)。

离线资产管理

  • –generate-offline-assets:在指定目录中生成离线资产包。这将创建一个包含所有所需模型和字体的zip文件。
  • –restore-offline-assets:从指定文件恢复离线资产包。这将从先前生成的包中提取模型和字体。

配置文件

  • –config, -c:配置文件路径。使用TOML格式。

示例配置:

[babeldoc] # 基本设置 debug = true lang-in = "en-US" lang-out = "zh-CN" qps = 10 output = "/path/to/output/dir" # PDF处理选项 split-short-lines = false short-line-split-factor = 0.8 skip-clean = false dual-translate-first = false disable-rich-text-translate = false use-alternating-pages-dual = false watermark-output-mode = "watermarked" # 选项:"watermarked", "no_watermark", "both" max-pages-per-part = 50 # 自动拆分文档进行翻译并合并回去。 skip-scanned-detection = false # 跳过扫描文档检测以加快处理速度 # 翻译服务 openai = true openai-model = "gpt-4o-mini" openai-base-url = "" openai-api-key = "your-api-key-here" # 输出控制 no-dual = false no-mono = false min-text-length = 5 report-interval = 0.5 # 离线资产管理 # 根据需要取消注释其中一个选项: # generate-offline-assets = "/path/to/output/dir" # restore-offline-assets = "/path/to/offline_assets_package.zip"

Python API

from pathlib import Path import babeldoc.assets.assets babeldoc.assets.assets.generate_offline_assets_package(Path("/path/to/output/dir")) babeldoc.assets.assets.restore_offline_assets_package(Path("/path/to/offline_assets_package.zip")) babeldoc.assets.assets.restore_offline_assets_package(Path("/path/to/directory"))

#AI软件技巧#

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/182733.html

(0)
上一篇 2025-07-07 08:00
下一篇 2025-07-07 08:10

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信