昨天看到一个项目是可以做PDF、Doc、EPUB文档的全文翻译。
项目地址:
https://github.com/jesselau76/ebook-GPT-translator
该工具旨在帮助用户将文本从一种格式转换为另一种格式,以及使用 OpenAI API (model=gpt-3.5-turbo) 将其翻译成另一种语言。目前支持PDF、DOCX、MOBI和EPUB文件格式转换翻译成EPUB文件及文本文件,可以将文字翻译成多种语言。
原项目可以本地命令行运行,我稍微改下了一下加了一个Gradio页面(可以设置登陆验证),可以部署到服务器或huggingface上,浏览器运行。
另外原项目的配置文件是.cfg格式,我有点不熟,改成了.json格式。
最终效果如下:
上传pdf文件,点击Submit,然后输出翻译好的txt,点击Download即可。
原项目个人用的话很简单:
git clone https://github.com/jesselau76/ebook-GPT-translator.git
cd ebook-GPT-translator
git pull
pip install -r requirements.txt
#将settings.cfg.example改名为settings.cfg并用任何一款编辑器编辑.
cd ebook-GPT-translator
mv settings.cfg.example settings.cfg
nano settings.cfg
# 打开settings.cfg文件后
openai-apikey = sk-xxxxxxx
# 将sk-xxxxxxx替换为你的OpenAI api key (或者是 sk-xxxxxxx,sk-xxxxxxx 配置多个key) 修改其他选项,然后退出保存
python text_translation.py [-h] [--test] filename
Gradio的话,也很简单,先把setting.cfg改成我熟悉的setting.json,格式如下(如果你很熟悉cfg,不改也行,我是懒得学了)
然后把读取配置信息部分代码改写一下
改成:
with open("config.json", "r") as f:
config = json.load(f)
openai_apikey = config["openai_api_key"]
prompt = config["prompt"]
bilingual_output = config["bilingual-output"]
language_code = config["langcode"]
startpage = config["startpage"]
endpage = config["endpage"]
case_matching = config["case-matching"]
AUTHENTICATION=config["AUTHENTICATION"]
# 将openai的API密钥分割成数组
openai.api_key = openai_apikey
key_array = openai_apikey.split(',')
加Gradio前端就是把核心代码改成一个function,然后把它当成一个参数放进gradio.Interface
热门跟贴