在我刚接触 ChatGPT 时我就在推上看到有同学在分享自己使用 bilingual_book_maker 这个脚本的经历了,只需要系统中配置好 OpenAI API Keys、Python 以及正常的 proxy 环境即可用1小时20分翻译生成一本自动排版的中英文 epub 小说,真的是正!
bilingual_book_maker 是一个基于 OpenAI 的 AI 翻译脚本,可以帮助用户制作多语言版本的 epub 文件和图书。该工具仅适用于翻译进入公共版权领域的 epub 图书,不适用于有版权的书籍。
以上是自动生成的双语 epub 小说截图,前面是原文,后面是中译文,在使用这款脚本前需要准备一下,很简单的:
- 注册 ChatGPT 然后搞到 OpenAI token
- 准备 epub 小说
- 能正常联网的环境带 proxy
- Python 3.8+
怎么配置 Python 我就不在本文介绍了,如果你不想折腾,可以直接装了 Docker。
使用(官方提供的)
pip install -r requirements.txt
(这一步是装一些需要的模块)- 使用
--openai_key
指定 OpenAI API key,如果有多个可以用英文逗号分隔(xxx,xxx,xxx),可以减少接口调用次数限制带来的错误。 或者,指定环境变量OPENAI_API_KEY
来略过这个选项。 - 本地放了一个
test_books/animal_farm.epub
给大家测试 - 默认用了 GPT-3.5-turbo 模型,也就是 ChatGPT 正在使用的模型,用
--model gpt3
来使用 gpt3 模型 - 使用
--test
命令如果大家没付费可以加上这个先看看效果(有 limit 稍微有些慢) - 使用
--language
指定目标语言,例如:--language "Simplified Chinese"
,预设值为"Simplified Chinese"
. 请阅读 helper message 来查找可用的目标语言:python make_book.py --help
- 使用
--proxy
参数,方便中国大陆的用户在本地测试时使用代理,传入类似http://127.0.0.1:7890
的字符串 - 使用
--resume
命令,可以手动中断后,加入命令继续执行。 - epub 由 html 文件组成。默认情况下,我们只翻译
<p>
中的内容。 使用--translate-tags
指定需要翻译的标签。使用逗号分隔多个标签。例如:--translate-tags h1,h2,h3,p,div
- 如果你遇到了墙需要用 Cloudflare Workers 替换 api_base 请使用
--api_base ${url}
来替换。 请注意,此处你输入的api应该是’https://xxxx/v1
‘的字样,域名需要用引号包裹 - 翻译完会生成一本 ${book_name}_bilingual.epub 的双语书
- 如果出现了错误或使用
CTRL+C
中断命令,不想接下来继续翻译了,会生成一本 ${book_name}_bilingual_temp.epub 的书,直接改成你想要的名字就可以了 - 如果你想要翻译电子书中的无标签字符串,可以使用
--allow_navigable_strings
参数,会将可遍历字符串加入翻译队列,注意,在条件允许情况下,请寻找更规范的电子书
如果你想快速测一下
python3 make_book.py –book_name test_books/animal_farm.epub –openai_key ${openai_key} –test
你可以先用这个命令测试一下是否可以正常跑这个脚本,–openai_key ${openai_key} 直接改成 –API Key
或翻译完整本书
python3 make_book.py –book_name test_books/animal_farm.epub –openai_key ${openai_key} –language zh-hans
没问题的话可以执行这个完整的命令。
我在执行翻译动物农场这本英文原版小说时,会偶尔遇到这个提示:
Rate limit reached for default-gpt-3.5-turbo in organization org-VFvb2w8CUNUU40toitmNdiVI on requests per min. Limit: 20 / min. Current: 30 / min. Contact support@openai.com if you continue to have issues. Please add a payment method to your account to increase your rate limit. Visit https://platform.openai.com/account/billing to add a payment method. will sleep 60 seconds
应该是超过了 gpt-3.5-turbo 的限流上限了,不过不影响翻译进程,只是在提醒你为不影响翻译速度可以付费购买 Plus 提高速度了。
整个小说翻译历时 1 小时 20分钟,打开 OpenAI 后台看看 API Tokens 用量记录,累计花费了 $0.4。
为什么我的账号默认只提供 5 美元的试用量呢?
欢迎大家到应用自荐版块上传自己的 OpenAI 以及其他人工智能应用,我们会根据作品质量直接推送到首页进行介绍!
👉👉👉 直达电梯 👈👈👈