首页
看点啥
插画图片
首页 科技看点 bilingual_book_maker:实践指南

bilingual_book_maker:实践指南

2026-09-12 0

在项目中评估bilingual_book_maker,可以先看清用途边界:使用 AI 翻译制作双语 epub 书籍。对日常自动化任务来说,输入边界、依赖和失败处理如果不清楚就很难稳定复用往往决定它能否落地,不能只用安装成功来判断。试跑可以从用一项范围明确的真实任务完成最小试跑开始,并把配置时间、输出质量、异常信息和维护痕迹写进验收记录。对愿意先做小范围验证并复查原始文档的团队来说,这个仓库值得继续验证;只求即装即用的人则要先看维护成本。

中文 | 英语

双语_book_maker

bilingual_book_maker是一款AI翻译工具,它使用ChatGPT来帮助用户创建epub/txt/md/srt/pdf文件和书籍的多语言版本。该工具专为翻译 epub 和其他公共领域作品而设计,不适用于受版权保护的作品。在使用此工具之前,请查看项目的 免责声明

支持机型

内置路线包括OpenAI预设和任意OpenAI-compatible模型IDs,当前 克劳德选择、Gemini、Qwen-MT、Groq、xAI、OrcaRouter、DeepL、Google、彩云和腾讯 TranSmart。 确切的 --model 选择来自已安装的版本,因此使用 python3 make_book.py --help。未列出的网关和本地提供商模型 IDs 可以 配置为--provider;请参见 型号和语言。

准备工作

  1. ChatGPT 或 OpenAI 代币 ^token
  2. epub/txt/md/pdf 书籍
  3. 具有互联网访问或代理的环境
  4. Python 3.10+

快速入门

提供样本书 test_books/animal_farm.epub 用于测试目的。

pip install -r requirements.txt
python3 make_book.py --book_name test_books/animal_farm.epub --openai_key ${openai_key} --test
OR
pip install -U bbook_maker
bbook_maker --book_name test_books/animal_farm.epub --openai_key ${openai_key} --test

翻译服务

领域 必填 描述
api_style 是的 翻译器界面风格。支持:openaiclaudegeminiqwen
base_url API 端点 URL。回退到 api_style 的默认值
default_models 默认型号列表。如果未提供 --model_list,则为必填项
env_key API 密钥的环境变量名称。如果未提供 --api_key,则为必填项

优先级:项目级./bbm_providers.json覆盖全局~/.bbm/providers.json

--provider--model 是互斥的。

python3 make_book.py --provider deepseek --api_key sk-xxx --book_name test_books/animal_farm.epub

export BBM_DEEPSEEK_API_KEY=sk-xxx
python3 make_book.py --provider deepseek --book_name test_books/animal_farm.epub

python3 make_book.py --provider deepseek --api_key sk-xxx --model_list deepseek-reasoner --book_name test_books/animal_farm.epub

使用

参数

型号 主要来源 注释
ch@tgptapi --openai_key / BBM_OPENAI_API_KEY GPT-3.5-涡轮。自动检测 API 中的可用型号
gpt4 --openai_key / BBM_OPENAI_API_KEY GPT-4系列。自动平衡可用的 GPT-4 变体
gpt4omini --openai_key / BBM_OPENAI_API_KEY GPT-4o-mini
gpt4o --openai_key / BBM_OPENAI_API_KEY GPT-4o
gpt5mini --openai_key / BBM_OPENAI_API_KEY GPT-5-mini
o1preview --openai_key / BBM_OPENAI_API_KEY o1-预览
o1 --openai_key / BBM_OPENAI_API_KEY 奥1
o1mini --openai_key / BBM_OPENAI_API_KEY o1-迷你
o3mini --openai_key / BBM_OPENAI_API_KEY o3-迷你
openai --openai_key / BBM_OPENAI_API_KEY 需要 --model_list。使用任何 OpenAI-compatible 型号
claude 及上市 claude-* IDs --claude_key / BBM_CLAUDE_API_KEY --help 显示的确切内置选择;任意未列出的 IDs 需要 --provideropenai 路由
gemini --gemini_key / BBM_GOOGLE_GEMINI_KEY 双子座闪光。支持--model_list
geminipro --gemini_key / BBM_GOOGLE_GEMINI_KEY 双子座专业版
groq --groq_key / BBM_GROQ_API_KEY 需要 --model_list
xai --xai_key / BBM_XAI_API_KEY 格罗克
orcarouter --orcarouter_key / BBM_ORCAROUTER_API_KEY OrcaRouter智能路由;默认为 orcarouter/auto
qwen-mt-turbo --qwen_key / BBM_QWEN_API_KEY Qwen快速翻译模型
qwen-mt-plus --qwen_key / BBM_QWEN_API_KEY Qwen高质量翻译模型
google N/A 免费。无需 API 密钥
caiyun --caiyun_key / BBM_CAIYUN_API_KEY 彩云
deepl --deepl_key / BBM_DEEPL_API_KEY DeepL(付费)
deeplfree N/A DeepL 免费
tencentransmart N/A 腾讯TranSmart。免费
customapi --custom_api / BBM_CUSTOM_API 自定义翻译 API

对于上面未列出的任何 OpenAI-compatible API,请使用 --provider 代替(请参阅自定义 API 提供程序部分)。

Role Content
User Please translate the following text into {language}:\n\n{text}
  

示例

注意如果使用 pip install bbook_maker 所有命令都可以更改为 bbook_maker args

# Test quickly
python3 make_book.py --book_name test_books/animal_farm.epub --openai_key ${openai_key}  --test --language zh-hans

# Test quickly for src
python3 make_book.py --book_name test_books/Lex_Fridman_episode_322.srt --openai_key ${openai_key}  --test

# Or translate the whole book
python3 make_book.py --book_name test_books/animal_farm.epub --openai_key ${openai_key} --language zh-hans

# Or translate the whole book using Gemini flash
python3 make_book.py --book_name test_books/animal_farm.epub --gemini_key ${gemini_key} --model gemini

# Translate an EPUB with parallel chapter processing
python3 make_book.py --book_name test_books/animal_farm.epub --openai_key ${openai_key} --parallel-workers 4

# Use a specific list of Gemini model aliases
python3 make_book.py --book_name test_books/animal_farm.epub --gemini_key ${gemini_key} --model gemini --model_list gemini-2.5-flash,gemini-2.0-flash

# Set env OPENAI_API_KEY to ignore option --openai_key
export OPENAI_API_KEY=${your_api_key}

# Use the GPT-4 model with context to Japanese
python3 make_book.py --book_name test_books/animal_farm.epub --model gpt4 --use_context --language ja

# Use a specific OpenAI model alias
python3 make_book.py --book_name test_books/animal_farm.epub --model openai --model_list gpt-4-1106-preview --openai_key ${openai_key}

**Note** you can use other `openai like` model in this way
python3 make_book.py --book_name test_books/animal_farm.epub --model openai --model_list yi-34b-ch@t-0205 --openai_key ${openai_key} --api_base "https://api.lingyiwanwu.com/v1"

# Use a specific list of OpenAI model aliases
python3 make_book.py --book_name test_books/animal_farm.epub --model openai --model_list gpt-4-1106-preview,gpt-4-0125-preview,gpt-3.5-turbo-0125 --openai_key ${openai_key}

# Use the DeepL model with Japanese
python3 make_book.py --book_name test_books/animal_farm.epub --model deepl --deepl_key ${deepl_key} --language ja

# Use the Claude model with Japanese
python3 make_book.py --book_name test_books/animal_farm.epub --model claude --claude_key ${claude_key} --language ja

# Use the CustomAPI model with Japanese
python3 make_book.py --book_name test_books/animal_farm.epub --model customapi --custom_api ${custom_api} --language ja

# Use a custom provider (e.g. DeepSeek)
python3 make_book.py --book_name test_books/animal_farm.epub --provider deepseek --api_key sk-xxx --language ja

# Translate contents in  and 

python3 make_book.py --book_name test_books/animal_farm.epub --translate-tags div,p # Plan mode: auto-discover translatable content (poetry, blockquotes, table cells, # ...) and batch verse lines in stanza windows; preview the plan with --plan-dry-run python3 make_book.py --book_name test_books/animal_farm.epub --plan-dry-run python3 make_book.py --book_name test_books/animal_farm.epub --plan-classify most # Tweaking the prompt python3 make_book.py --book_name test_books/animal_farm.epub --prompt prompt_template_sample.txt # or python3 make_book.py --book_name test_books/animal_farm.epub --prompt prompt_template_sample.json # or python3 make_book.py --book_name test_books/animal_farm.epub --prompt "Please translate \`{text}\` to {language}" # Translate books download from Rakuten Kobo on kobo e-reader python3 make_book.py --book_from kobo --device_path /tmp/kobo # translate txt file python3 make_book.py --book_name test_books/the_little_prince.txt --test --language zh-hans # aggregated translation txt file python3 make_book.py --book_name test_books/the_little_prince.txt --test --batch_size 20 # Using Caiyun model to translate # (the api currently only support: simplified chinese <-> english, simplified chinese <-> japanese) # the official Caiyun has provided a test token (3975l6lr5pcbvidl6jl2) # you can apply your own token by following this tutorial(https://bobtranslate.com/service/translate/caiyun.html) python3 make_book.py --model caiyun --caiyun_key 3975l6lr5pcbvidl6jl2 --book_name test_books/animal_farm.epub # Set env BBM_CAIYUN_API_KEY to ignore option --openai_key export BBM_CAIYUN_API_KEY=${your_api_key}

更容易理解的例子

python3 make_book.py --book_name 'animal_farm.epub' --openai_key sk-XXXXX --api_base 'https://xxxxx/v1'

# Or python3 is not in your PATH
python make_book.py --book_name 'animal_farm.epub' --openai_key sk-XXXXX --api_base 'https://xxxxx/v1'

微软Azure端点

python3 make_book.py --book_name 'animal_farm.epub' --openai_key XXXXX --api_base 'https://example-endpoint.openai.azure.com' --deployment_id 'deployment-name'

# Or python3 is not in your PATH
python make_book.py --book_name 'animal_farm.epub' --openai_key XXXXX --api_base 'https://example-endpoint.openai.azure.com' --deployment_id 'deployment-name'

码头工人

如果您不想处理环境设置,可以使用 Docker。

# Build image
docker build --tag bilingual_book_maker .

# Run container
# "$folder_path" represents the folder where your book file locates. Also, it is where the processed file will be stored.

# Windows PowerShell
$folder_path=your_folder_path # $folder_path="C:\Users\user\mybook\"
$book_name=your_book_name # $book_name="animal_farm.epub"
$openai_key=your_api_key # $openai_key="sk-xxx"
$language=your_language # see utils.py

docker run --rm --name bilingual_book_maker --mount type=bind,source=$folder_path,target='/app/test_books' bilingual_book_maker --book_name "/app/test_books/$book_name" --openai_key $openai_key --language $language

# Linux
export folder_path=${your_folder_path}
export book_name=${your_book_name}
export openai_key=${your_api_key}
export language=${your_language}

docker run --rm --name bilingual_book_maker --mount type=bind,source=${folder_path},target='/app/test_books' bilingual_book_maker --book_name "/app/test_books/${book_name}" --openai_key ${openai_key} --language "${language}"

例如:

# Linux
docker run --rm --name bilingual_book_maker --mount type=bind,source=/home/user/my_books,target='/app/test_books' bilingual_book_maker --book_name /app/test_books/animal_farm.epub --openai_key sk-XXX --test --test_num 1 --language zh-hant

注释

  1. 免费试用的 API 代币有限制。如果您想加快流程,请考虑支付服务费用或使用多个 OpenAI 代币
  2. PR 欢迎

其他更好

鉴赏

谢谢你,够了。

喜欢(0)

上一篇

fvm:实践指南

fvm:实践指南

下一篇

OpnForm:实践指南

OpnForm:实践指南
猜你喜欢