Documents

本地模型PDF翻译(Ubuntu/Linux)

Try it

使用本地llama.cpp模型(如Hy-MT2-7B)批量翻译PDF文档,结合学术翻译三步法(直译→反思→雅化),支持中/英/日/韩/法/德/西/俄八大主要语言任意互译,逐页提取+翻译,按目标语言输出.md文件(Ubuntu/Linux 平台)

What it does

**本地模型 + 学术三步法 + 八大语言互译 + 批量处理** · 逐页提取 · 精确翻译 · 自动输出

The skill document

本地模型PDF翻译 Skill

本地模型 + 学术三步法 + 八大语言互译 + 批量处理 · 逐页提取 · 精确翻译 · 自动输出

功能概述

本 Skill 使用本地运行的 llama.cpp 服务器(如 Hy-MT2-7B 翻译模型)批量翻译 PDF 文档,结合 academic-translation skill 的三步翻译法:

  1. 直译 - 保术语、逐句对应
  2. 反思 - 学术规范 + Chinglish 校正
  3. 雅化 - 信达雅 + 顶会风格(可选)

支持的语言(八大主要语言)

代码语言代码语言
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、wget、curl)。环境缺失时,Agent 只向用户说明缺失项并给出下面的人工命令示例,待用户确认完成后才开始翻译。

  1. llama-server 程序:由用户从 llama.cpp 官方发布渠道手动安装 Linux 版 llama-server 并加入 PATH(Ubuntu 可用 sudo apt install 或官方 release)
  2. 模型文件:由用户将 GGUF 翻译模型放入本 skill 根目录下的 models/ 文件夹(模型文件不随 skill 发布)
  3. 启动 llama-server(用户手动执行;相对路径引用模型,不依赖任何机器绝对目录):
    bash start_server.sh
    # 或直接启动(Linux 版 llama-server,无 .exe 后缀;路径用正斜杠)
    llama-server -m "models/Hy-MT2-7B-Q4_K_M.gguf" -ngl -1 --host 127.0.0.1 --port 8001 --api-key llama2025 -c 32768
    
  4. Python 依赖(用户手动执行,PyPI 官方源):
    pip3 install pymupdf requests
    
  5. API 连接:
    • Endpoint: http://127.0.0.1:8001/v1/chat/completions
    • API Key: llama2025(仅本地 127.0.0.1 有效)

文件结构

li_local_pdf_translate-linux/
├── SKILL.md                    # 本文件
├── README.md                   # 八国语言翻译使用说明
├── start_server.sh             # Ubuntu/Linux 启动脚本(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. 查看配置

python3 scripts/config.py show

2. 修改配置

python3 scripts/config.py show                          # 查看配置及支持的语言
python3 scripts/config.py set api_url "http://127.0.0.1:8001/v1/chat/completions"
python3 scripts/config.py set api_key "llama2025"
python3 scripts/config.py set direction "en2zh"         # 默认翻译方向(可改为 zh2ja 等任意八语组合)
python3 scripts/config.py set depth "standard"

3. 检查连接

python3 scripts/batch_translate.py --check

4. 单个PDF翻译

# 英→中(默认方向)
python3 scripts/batch_translate.py --input "path/to/file.pdf" --output "output.zh.md"

# 中→日(日文目标语言,输出 .ja.md)
python3 scripts/batch_translate.py --input "file.pdf" --direction zh2ja --output "output.ja.md"

# 日→英
python3 scripts/batch_translate.py --input "file.pdf" --direction ja2en

5. 批量翻译目录

# 英→中,默认输出目录 <输入目录>_zh
python3 scripts/batch_translate.py --input-dir "/path/to/pdfs" --output-dir "/path/to/output"

# 中→法,输出目录 <输入目录>_fr
python3 scripts/batch_translate.py --input-dir "/path/to/pdfs" --direction zh2fr

6. 自动翻译(单Agent顺序处理)

# 使用配置中的默认方向
python3 scripts/auto_translate.py --input "/path/to/pdfs" --output "/path/to/output"

# 指定方向:英→韩
python3 scripts/auto_translate.py --input "/path/to/pdfs" --direction en2ko

7. 多Agent并行翻译

# 使用2个Agent并行(默认),方向 en2ru(英→俄)
python3 scripts/multi_agent_translate.py --input "/path/to/pdfs" --output "/path/to/output" --direction en2ru

# 使用4个Agent并行(最大)
python3 scripts/multi_agent_translate.py --input "/path/to/pdfs" --output "/path/to/output" --agents 4 --direction en2ru

8. 单独使用各模块

# PDF提取
python3 scripts/extract_pdf.py --input "file.pdf" --info
python3 scripts/extract_pdf.py --input "file.pdf" --check

# API翻译(任意方向)
python3 scripts/translate_api.py --check
python3 scripts/translate_api.py --text "Hello World" --direction en2zh
python3 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页
[翻译内容]

...

参数说明

参数类型默认值说明
--inputpath必填输入PDF文件路径
--output-dirpath同目录输出目录
--api-urlstringhttp://127.0.0.1:8001/v1/chat/completionsAPI地址
--api-keystringllama2025API密钥
--modelstringmodels/Hy-MT2-7B-Q4_K_M.gguf模型相对路径(基于 skill 根目录)
--directionstringen2zh翻译方向,如 en2zh/zh2ja/ja2en,支持八语任意组合
--depthenumstandard深度:quick/standard/full
--pagesstring全部页码范围,如 "1-5" 或 "1,3,5-7"
--batch-sizeint3每次发送的段落数

翻译方向

支持八大主要语言(中 zh、英 en、日 ja、韩 ko、法 fr、德 de、西 es、俄 ru)之间的任意双向互译,格式为 [源]2[目标]:

  • en2zh (英→中):阅读英文文献
  • zh2en (中→英):国际投稿
  • zh2ja (中→日):日文输出
  • ja2zh (日→中):日文文献
  • en2fr / zh2de / ko2en / ru2zh ...:其余任意组合均可

使用 python3 scripts/config.py show 可查看当前方向及所有支持的语言。

深度模式

  • quick:仅直译(1×时间),快速理解原意
  • standard:直译+反思(2.5×时间),日常推荐
  • full:直译+反思+雅化(4×时间),投稿必选

术语处理

  • 保留专业术语原文 + 括号附译法
  • 保留公式、引用、数字
  • 保留表格结构

注意事项

  1. 模型限制:本地7B模型的翻译质量不如GPT-4/Claude,适合快速理解
  2. 多语言质量:模型对中/英/日等主流语言效果较好;非中文母语组合(如 fr↔de)建议使用 --depth full 提升质量
  3. 上下文窗口:Hy-MT2-7B支持32K上下文,大段落需分批处理
  4. 速度:约50 tokens/秒,一个10页PDF约需2-5分钟
  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

Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.

by nssa.io1.0k installs47 stars

Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.

by johnpatternai22 installs8 stars

Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.

by Iván559 installs18 stars

Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.

by Iván855 installs69 stars

Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.

by fly0pants4.3k installs296 stars

Run Git operations — commits, branches, merges, rebases, conflict resolution, and recovery — with safety rules enforced.

by Iván535 installs31 stars

More from 43622283

Browse all skills

飞书语音交互技能。支持语音消息自动识别、AI 处理、语音回复全流程。需要配置 FEISHU_APP_ID 和 FEISHU_APP_SECRET 环境变量。使用 faster-whisper 进行语音识别,Edge TTS 进行语音合成,自动转换 OPUS 格式并通过飞书发送。适用于飞书平台的语音对话场景。

by 4362228332 installs

飞书语音交互技能。支持语音消息自动识别、AI 处理、语音回复全流程。需要配置 FEISHU_APP_ID 和 FEISHU_APP_SECRET 环境变量。使用 faster-whisper 进行语音识别,Edge TTS 进行语音合成,自动转换 OPUS 格式并通过飞书发送。适用于飞书平台的语音对话场景。

by 4362228321 installs

使用国内 OpenAI 兼容 API 快速总结 URLs、本地文件、YouTube 链接。支持所有国内大模型 API(百度千帆、阿里云、腾讯混元、字节火山、Moonshot、DeepSeek 等)。

by 4362228316 installs

Linux base security scanner integrating multiple tools - nmap, lynis, nikto, sqlmap, trivy. SINGLE HOST ONLY. Features secure temp files, progress bar, scan...

by 4362228315 installs

CodeQL 安全扫描与 LLM 智能分析融合工具。自动检测 CodeQL 安装、扫描指定目录、生成漏洞报告、LLM 分析、Jenkins 集成、输出验证 Checklist。

by 4362228325 installs

Node.js-based Excel automation for reading, writing, cleaning, transforming, merging .xlsx/.xls/.csv files with joins, analysis, flow control, and JS scripti...

by 4362228326 installs