0%

部署ChatGPT镜像站

ChatGPT镜像站简介

使用ChatGPT是有一定门槛的:科学上网,并且是特定地区科学上网。
近期ChatGPT开始封号,如果科学上网工具的出口IP频繁变化,那么ChatGPT账号可能被封。

而搭建使用ChatGPT镜像站,可以降低国内使用ChatGPT的门槛,并且避免账号被封。

参考文档:

整体部署思路

1、注册ChatGPT账号
2、获取OpenAI API Key
3、准备国外主机
4、准备Docker环境
5、部署ChatGPT镜像站
6、配置域名

注册ChatGPT账号

参考文档:

获取OpenAI API Key

访问OpenAI - API keys,Create new secret key

准备国外主机

选择一个提供国外主机的云厂商,购买一台国外主机(推荐美国),并且主机的IP国内可以访问,安装Linux系统。

微软作为openai的大股东,选择微软azure的云主机,可能更不容易被封号。
azure注册需要visa或者master信用卡。注册后azure提供$200的免费试用额度,期限一个月,升级到即用即付订阅,可以延长免费期限到一年。

相关文档:

准备Docker环境

安装Docker,参考文档:《Docker入门篇》

部署ChatGPT镜像站

ChatGPT镜像站源码很多,本文中选择Star数很高的ChuanhuChatGPT。

ChuanhuChatGPT优点:

  • 流式传输 / 无限对话 / 保存对话 / 预设Prompt集 / 联网搜索 / 根据文件回答
  • 渲染LaTeX / 渲染表格 / 代码高亮 / 自动亮暗色切换 / 自适应界面 / “小而美”的体验
  • 自定义api-Host / 多参数可调 / 多API Key均衡负载 / 多用户显示 / 适配GPT-4 / 支持本地部署LLM

参考文档:

打包服务镜像

1、克隆ChuanhuChatGPT项目,切换到指定版本

1
2
3
git clone https://github.com/GaiZhenbiao/ChuanhuChatGPT.git
cd ChuanhuChatGPT
git checkout 20230409

2、打包镜像

1
docker build -t voidking/chuanhuchatgpt:20230409 .

启动服务

1、准备配置文件
复制 config_example.json 为 /opt/chuanhuchatgpt/config.json,按照提示修改参数配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
{
// 你的OpenAI API Key,一般必填,
// 若缺省填为 "openai_api_key": "" 则必须再在图形界面中填入API Key
"openai_api_key": "sk-xxxxxxxxxxxxxxxxxxxxxxxxx",
// 如果使用代理,请取消注释下面的两行,并替换代理URL
// "https_proxy": "http://127.0.0.1:1079",
// "http_proxy": "http://127.0.0.1:1079",
"users": [
["用户1的用户名", "用户1的密码"],
["用户2的用户名", "用户2的密码"]
],
"advance_docs": {
"pdf": {
// 是否认为PDF是双栏的
"two_column": false,
// 是否使用OCR识别PDF中的公式
"formula_ocr": true
}
},
// 是否多个API Key轮换使用
"multi_api_key": false,
"api_key_list": [
"sk-xxxxxxxxxxxxxxxxxxxxxxxx1",
"sk-xxxxxxxxxxxxxxxxxxxxxxxx2",
"sk-xxxxxxxxxxxxxxxxxxxxxxxx3"
]
}

其中users参数可以为空,"users": [],表示不设置用户名密码。

建议配置:

  • openai_api_key不用填,因为docker run时会覆盖这个参数。
  • 填入用户名密码,避免被盗用。
  • 启用multi_api_key,不用在页面输入key,而且拥有多个key时能够负载均衡。

2、启动服务

1
2
3
4
5
6
7
docker run --name chuanhuchatgpt -d \
-e my_api_key="替换成API" \
-e api_host="替换成自定义的api请求地址" \
-v /opt/chuanhuchatgpt/history:/app/history \
-v /opt/chuanhuchatgpt/config.json:/app/config.json \
-p 7860:7860 \
voidking/chuanhuchatgpt:20230409

其中 my_api_key 必填,api_host 可省略。
config.json中配置的openai_api_key无效,因为my_api_key这里必填,会覆盖config.json中的配置。

3、查看服务状态

1
2
docker logs chuanhuchatgpt
docker update --restart=always chuanhuchatgpt

4、访问服务
浏览器访问 http://<主机IP>:7860

配置域名

参考文档:

  • 本文作者: 好好学习的郝
  • 本文链接: https://www.voidking.com/dev-chatgpt-mirror-site/
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!源站会及时更新知识点及修正错误,阅读体验也更好。欢迎分享,欢迎收藏~