使用本地llama.cpp模型(如Hy-MT2-7B)批量翻译PDF文档,结合学术翻译三步法(直译→反思→雅化),支持中/英/日/韩/法/德/西/俄八大主要语言任意互译,逐页提取+翻译,按目标语言输出.md文件(Ubuntu/Linux 平台)
Documents
本地模型PDF翻译(Windows)
Try it使用本地llama.cpp模型(如Hy-MT2-7B)批量翻译PDF文档,结合学术翻译三步法(直译→反思→雅化),支持中/英/日/韩/法/德/西/俄八大主要语言任意互译,逐页提取+翻译,按目标语言输出.md文件(Windows 平台)
What it does
使用本地llama.cpp模型(如Hy-MT2-7B)批量翻译PDF文档,结合学术翻译三步法(直译→反思→雅化),支持中/英/日/韩/法/德/西/俄八大主要语言任意互译,逐页提取+翻译,按目标语言输出.md文件(Windows 平台)
The skill document
本地模型PDF翻译 Skill
本地模型 + 学术三步法 + 八大语言互译 + 批量处理 · 逐页提取 · 精确翻译 · 自动输出
功能概述
本 Skill 使用本地运行的 llama.cpp 服务器(如 Hy-MT2-7B 翻译模型)批量翻译 PDF 文档,结合 academic-translation skill 的三步翻译法:
- 直译 - 保术语、逐句对应
- 反思 - 学术规范 + Chinglish 校正
- 雅化 - 信达雅 + 顶会风格(可选)
支持的语言(八大主要语言)
| 代码 | 语言 | 代码 | 语言 |
|---|---|---|---|
zh | 中文 (Chinese) | de | 德语 (German) |
en | 英语 (English) | es | 西班牙语 (Spanish) |
ja | 日语 (Japanese) | ru | 俄语 (Russian) |
ko | 韩语 (Korean) | fr | 法语 (French) |
方向格式:[源语言]2[目标语言],例如 en2zh、zh2ja、ja2en、fr2de。
任意两种语言之间均可互译(含反向),兼容 en-zh 分隔符写法。
前置条件
Agent 安全约束(必读):运行环境(llama-server 程序、GGUF 模型、Python 依赖)一律由用户本人手动准备。 禁止 AI 自动执行任何下载或安装操作(含
pip install、wget、curl)。环境缺失时,Agent 只向用户说明缺失项并给出下面的人工命令示例,待用户确认完成后才开始翻译。
- llama-server 程序:由用户从 llama.cpp 官方发布渠道手动下载 Windows 版
llama-server.exe放入本 skill 根目录(或安装并加入 PATH) - 模型文件:由用户将 GGUF 翻译模型放入本 skill 根目录下的
models\文件夹(模型文件不随 skill 发布) - 启动 llama-server(用户手动执行;相对路径引用模型,不依赖任何机器绝对目录):
start_server.bat # 或直接启动 llama-server.exe -m "models\Hy-MT2-7B-Q4_K_M.gguf" -ngl -1 --host 127.0.0.1 --port 8001 --api-key llama2025 -c 32768 - Python 依赖(用户手动执行,PyPI 官方源):
pip install pymupdf requests - API 连接:
- Endpoint:
http://127.0.0.1:8001/v1/chat/completions - API Key:
llama2025(仅本地 127.0.0.1 有效)
- Endpoint:
文件结构
li_local_pdf_translate/
├── SKILL.md # 本文件
├── README.md # 八国语言翻译使用说明
├── start_server.bat # Windows 启动脚本(start llama-server)
├── models/ # 放置 GGUF 模型(不随 skill 发布)
├── config/
│ ├── default.json # 默认配置(模型、API等,均为相对路径)
│ └── user.json # 用户配置(优先级更高,不发布)
└── scripts/
├── config.py # 配置管理模块
├── extract_pdf.py # PDF文本提取模块
├── translate_api.py # API翻译模块
├── batch_translate.py # 批量翻译主程序
├── auto_translate.py # 单Agent自动翻译(顺序处理)
└── multi_agent_translate.py # 多Agent并行翻译
使用方式
1. 查看配置
python scripts/config.py show
2. 修改配置
python scripts/config.py show # 查看配置及支持的语言
python scripts/config.py set api_url "http://127.0.0.1:8001/v1/chat/completions"
python scripts/config.py set api_key "llama2025"
python scripts/config.py set direction "en2zh" # 默认翻译方向(可改为 zh2ja 等任意八语组合)
python scripts/config.py set depth "standard"
3. 检查连接
python scripts/batch_translate.py --check
4. 单个PDF翻译
# 英→中(默认方向)
python scripts/batch_translate.py --input "path/to/file.pdf" --output "output.zh.md"
# 中→日(日文目标语言,输出 .ja.md)
python scripts/batch_translate.py --input "file.pdf" --direction zh2ja --output "output.ja.md"
# 日→英
python scripts/batch_translate.py --input "file.pdf" --direction ja2en
5. 批量翻译目录
# 英→中,默认输出目录 <输入目录>_zh
python scripts/batch_translate.py --input-dir "E:\path\to\pdfs" --output-dir "E:\path\to\output"
# 中→法,输出目录 <输入目录>_fr
python scripts/batch_translate.py --input-dir "E:\path\to\pdfs" --direction zh2fr
6. 自动翻译(单Agent顺序处理)
# 使用配置中的默认方向
python scripts/auto_translate.py --input "E:\path\to\pdfs" --output "E:\path\to\output"
# 指定方向:英→韩
python scripts/auto_translate.py --input "E:\path\to\pdfs" --direction en2ko
7. 多Agent并行翻译
# 使用2个Agent并行(默认),方向 en2ru(英→俄)
python scripts/multi_agent_translate.py --input "E:\path\to\pdfs" --output "E:\path\to\output" --direction en2ru
# 使用4个Agent并行(最大)
python scripts/multi_agent_translate.py --input "E:\path\to\pdfs" --output "E:\path\to\output" --agents 4 --direction en2ru
8. 单独使用各模块
# PDF提取
python scripts/extract_pdf.py --input "file.pdf" --info
python scripts/extract_pdf.py --input "file.pdf" --check
# API翻译(任意方向)
python scripts/translate_api.py --check
python scripts/translate_api.py --text "Hello World" --direction en2zh
python scripts/translate_api.py --text "こんにちは" --direction ja2zh
单Agent vs 多Agent对比
| 特性 | 单Agent (auto_translate) | 多Agent (multi_agent_translate) |
|---|---|---|
| 处理方式 | 顺序处理 | 并行处理 |
| 速度 | 较慢 | 较快(约1.5-2x) |
| GPU占用 | 低 | 中等 |
| 稳定性 | 高 | 中等 |
| 适用场景 | 小批量、稳定性优先 | 大批量、速度优先 |
性能参考
- 单Agent: ~356 chars/s
- 多Agent (2 agents): ~517 chars/s
- 18个PDF第一页: 单Agent 120s, 多Agent 83s
翻译流程
PDF文件
↓
[Step 1] 逐页提取文本 (pymupdf)
↓
[Step 2] 分段(按段落/章节)
↓
[Step 3] 直译(本地模型调用)
↓ - 保术语
↓ - 保公式/引用
↓ - 逐句对应
↓
[Step 4] 反思(可选,第二轮调用)
↓ - 学术规范
↓ - Chinglish校正
↓ - 术语一致性
↓
[Step 5] 雅化(可选,第三轮调用)
↓ - 信达雅
↓ - 顶会风格
↓
[Step 6] 输出.<目标语言>.md文件
输出格式
每个PDF文件根据 目标语言代码 生成对应的 .md 文件:
方向 en2zh: document.pdf → document.zh.md
方向 zh2ja: document.pdf → document.ja.md
方向 ja2en: document.pdf → document.en.md
方向 en2fr: document.pdf → document.fr.md
批量模式下,默认输出目录为 <输入目录>_<目标语言>(如 en2ja 时为 <输入目录>_ja)。
输出文件结构(标题和方向标识按目标语言动态生成):
# [翻译后的标题] - [目标语言名] Translation
> Direction: en2zh (English -> Chinese)
## 第1页
[翻译内容]
## 第2页
[翻译内容]
...
参数说明
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
--input | path | 必填 | 输入PDF文件路径 |
--output-dir | path | 同目录 | 输出目录 |
--api-url | string | http://127.0.0.1:8001/v1/chat/completions | API地址 |
--api-key | string | llama2025 | API密钥 |
--model | string | models/Hy-MT2-7B-Q4_K_M.gguf | 模型相对路径(基于 skill 根目录) |
--direction | string | en2zh | 翻译方向,如 en2zh/zh2ja/ja2en,支持八语任意组合 |
--depth | enum | standard | 深度:quick/standard/full |
--pages | string | 全部 | 页码范围,如 "1-5" 或 "1,3,5-7" |
--batch-size | int | 3 | 每次发送的段落数 |
翻译方向
支持八大主要语言(中 zh、英 en、日 ja、韩 ko、法 fr、德 de、西 es、俄 ru)之间的任意双向互译,格式为 [源]2[目标]:
- en2zh (英→中):阅读英文文献
- zh2en (中→英):国际投稿
- zh2ja (中→日):日文输出
- ja2zh (日→中):日文文献
- en2fr / zh2de / ko2en / ru2zh ...:其余任意组合均可
使用 python scripts/config.py show 可查看当前方向及所有支持的语言。
深度模式
- quick:仅直译(1×时间),快速理解原意
- standard:直译+反思(2.5×时间),日常推荐
- full:直译+反思+雅化(4×时间),投稿必选
术语处理
- 保留专业术语原文 + 括号附译法
- 保留公式、引用、数字
- 保留表格结构
注意事项
- 模型限制:本地7B模型的翻译质量不如GPT-4/Claude,适合快速理解
- 多语言质量:模型对中/英/日等主流语言效果较好;非中文母语组合(如 fr↔de)建议使用
--depth full提升质量 - 上下文窗口:Hy-MT2-7B支持32K上下文,大段落需分批处理
- 速度:约50 tokens/秒,一个10页PDF约需2-5分钟
- 扫描件PDF:不支持纯图片PDF,需要有文本层
故障排除
| 问题 | 解决方案 |
|---|---|
| API连接失败 | 检查 llama-server 是否在 skill 根目录启动、端口8001是否可用 |
Unsupported source/target language | 方向必须是两位代码,如 en2zh;运行 config.py show 查看支持的语言 |
Invalid direction | 检查格式是否含 2 或 - 分隔,如 zh2ja |
| 翻译质量差 | 尝试 --depth standard 或 --depth full;多语言组合建议 full |
| 内存不足 | 减小 --batch-size 或关闭其他程序 |
| PDF提取失败 | 检查PDF是否有文本层(非扫描件) |
Related skills
PDF 全文翻译、重排与可检索交付
通用长篇文献/小说多页PDF逐页自动提取、匹配用户提供的本地术语表并翻译追加至DOCX的自动化工作流。适用于任何具有特定受众、包含大量专有名词的长文献、小众长篇小说、学术论文、技术白皮书等PDF翻译场景。用户自行提供原文PDF、专业术语对照表及输出路径。
Translate user-supplied text PDFs into Simplified Chinese and bilingual PDFs. Reads the PDF and only explicitly selected local LaTeX, sends extracted text to an explicitly approved OpenAI-compatible endpoint, runs local PDF/Python subprocesses, and writes outputs, diagnostics, and the default runtime cache under the chosen directory. Local proxy, arXiv download, Docker compilation, and external cache paths require explicit command-line opt-in.
Translate PDFs locally by extracting page text and using the agent's own language capability. Use when Codex needs a repeatable workflow for born-digital or...
Framework for translating Word, PDF, Excel, PowerPoint, HTML, Markdown, TXT documents. Provides document parsing code — the AI agent's own LLM performs the a...