在我刚接触 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 以及其他人工智能应用,我们会根据作品质量直接推送到首页进行介绍!
👉👉👉 直达电梯 👈👈👈