FreeGPT35部署及使用

清明之前 ChatGPT 宣布不登录也能使用,于是网上网出现了一个 FreeGPT35 的项目,”利用免登录 ChatGPT Web 提供的无限制免费 GPT-3.5-Turbo API 服务.”

刚好自己在看 LangChain 的文档,以及 Mac 上 Bob 翻译,以及使用 bilingual_book_maker 翻译英文电子书会用到,所以自己结合网上的文章在 Render 上搭建了一个。

Render 部署

使用 Docker Tag 将镜像改名:

1
docker tag missuo/freegpt35:latest xxx/free-gpt-3.5:v1

部署成功后

阿里云部署

购买阿里云抢占式实例,很便宜,而且可以选实例的地点,这样搭建的服务就比 Render 和 Vercel 稳定得多。二进制安装 Docker 可参考以前的文章 《Docker 搭建 RustDesk》

在 Bob 中使用

API Key 随便填写

在 bilingual_book_maker 中使用

这里需要注意,bilingual_book_maker 服务会去获取模型的列表,但是FreeGPT35 项目并没有/models 接口,所以需要更改一下 book_maker/cli.py 中的代码

1
2
3
4
5
6
7
8
9
if options.model == "chatgptapi":
e.translate_model.model_list = cycle(["gpt-35-turbo"]) # 添加本行
# e.translate_model.set_gpt35_models() # 注释本行
if options.model == "gpt4":
e.translate_model.set_gpt4_models()
if options.block_size > 0:
e.block_size = options.block_size

e.make_bilingual_book()

然后正常使用 bilingual_book_maker 即可!

命令及prompt

1
python make_book.py --book_name .\test_books\Manning.gRPC.Microservices.in.Go.2023.10.epub --openai_key sk-XXXXX --api_base http://47.251.79.137:3456/v1 --language zh-hans --prompt prompt_template_sample.txt

prompt_template_sample.txt

1
2
You are a senior golang soft development engineer, Translate the given text to {language}. Be faithful or accurate in translation. Make the translation readable or intelligible. Be elegant or natural in translation. If the text cannot be translated, return the original text as is. Do not translate person's name and code, return the original text as is. Do not add any additional text in the translation. The text to be translated is:
{text}

你是一名高级golang软件开发工程师,将给定的文本翻译成{language}。翻译要忠实或准确。使译文易读或易于理解。翻译要优雅自然。如果文本无法翻译,则原样返回原始文本。不翻译人名和代码,原样返回原文。不要在译文中添加任何额外的文字。要翻译的文本为:{text}

运行截图