Docker快速搭建属于自己的ChatGPT网站基于gpt-4.0
前言:
2023年3月份,OpenAI放出了官方最新的gpt-3.5-turbo API ,而且价格还很便宜,ChatGPT API价格为1k tokens/$0.002,大约等于每输出100万个单词,才2.7美金左右,于是很多大佬出来了基于chatgpt api搭建的项目,今天就记录下如何在自己的服务器搭建属于自己的ChatGPT网站.
准备条件:
1)一个chatgpt账号获取api-key
https://platform.openai.com/account/api-keys
2)一台服务器(这里用centos7)
Cloud Computing Services - Amazon Web Services (AWS)
3)大佬的github项目
https://github.com/Chanzhaoyu/chatgpt-web
yum install docker
systemctl start docker
systemctl stop docker
systemctl restart docker
systemctl enable docker ---设置docker开机启动
安装 docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
二、创建docker-compose.yml文件
mkdir chatgpt_web && cd chatgpt_web #创建一个目录并进入此目录
创建docker-compose.yml文件
version: '3'
services:
app:
image: kuntoy/chatgpt-web # 总是使用 latest ,更新时重新 pull 该 tag 镜像即可
ports:
- 127.0.0.1:3002:3002
environment:
# 二选一
OPENAI_API_KEY: sk-xxx
# 二选一
OPENAI_ACCESS_TOKEN: xxx
# API接口地址,可选,设置 OPENAI_API_KEY 时可用
OPENAI_API_BASE_URL: xxx
# API模型,可选,设置 OPENAI_API_KEY 时可用,https://platform.openai.com/docs/models
# gpt-4, gpt-4-0314, gpt-4-32k, gpt-4-32k-0314, gpt-3.5-turbo, gpt-3.5-turbo-0301, text-davinci-003, text-davinci-002, code-davinci-002
OPENAI_API_MODEL: xxx
# 反向代理,可选
API_REVERSE_PROXY: xxx
# 访问权限密钥,可选
AUTH_SECRET_KEY: xxx
# 每小时最大请求次数,可选,默认无限
MAX_REQUEST_PER_HOUR: 0
# 超时,单位毫秒,可选
TIMEOUT_MS: 60000
# Socks代理,可选,和 SOCKS_PROXY_PORT 一起时生效
SOCKS_PROXY_HOST: xxx
# Socks代理端口,可选,和 SOCKS_PROXY_HOST 一起时生效
SOCKS_PROXY_PORT: xxx
# HTTPS 代理,可选,支持 http,https,socks5
HTTPS_PROXY: http://xxx:7890
docker build -t chatgpt-web .
# 前台运行
docker run --name chatgpt-web --rm -it -p 127.0.0.1:3002:3002 --env OPENAI_API_KEY=your_api_key chatgpt-web
# 后台运行
docker run --name chatgpt-web -d -p 127.0.0.1:3002:3002 --env OPENAI_API_KEY=your_api_key chatgpt-web
# 运行地址
http://localhost:3002/
部署运行
docker-compose up -d
登录chatgpt_web页面
注意:需要打开相应端口
http://ip:3002 #根据自己的实际ip和端口
防止爬虫抓取
nginx
将下面配置填入nginx配置文件中,可以参考 docker-compose/nginx/nginx.conf
文件中添加反爬虫的方法
# 防止爬虫抓取
if ($http_user_agent ~* "360Spider|JikeSpider|Spider|spider|bot|Bot|2345Explorer|curl|wget|webZIP|qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo! Slurp|Yahoo! Slurp China|YoudaoBot|Sosospider|Sogou spider|Sogou web spider|MSNBot|ia_archiver|Tomato Bot|NSPlayer|bingbot")
{
return 403;
}
环境变量
API 可用:
OPENAI_API_KEY 和 OPENAI_ACCESS_TOKEN 二选一
OPENAI_API_MODEL 设置模型,可选,默认:gpt-3.5-turbo
OPENAI_API_BASE_URL 设置接口地址,可选,默认:https://api.openai.com
ACCESS_TOKEN 可用:
OPENAI_ACCESS_TOKEN 和 OPENAI_API_KEY 二选一,同时存在时,OPENAI_API_KEY 优先
API_REVERSE_PROXY 设置反向代理,可选,默认:https://bypass.duti.tech/api/conversation,社区(注意:只有这两个是推荐,其他第三方来源,请自行甄别)
通用:
AUTH_SECRET_KEY 访问权限密钥,可选
MAX_REQUEST_PER_HOUR 每小时最大请求次数,可选,默认无限
TIMEOUT_MS 超时,单位毫秒,可选
SOCKS_PROXY_HOST 和 SOCKS_PROXY_PORT 一起时生效,可选
SOCKS_PROXY_PORT 和 SOCKS_PROXY_HOST 一起时生效,可选
HTTPS_PROXY 支持 http,https, socks5,可选
ALL_PROXY 支持 http,https, socks5,可选
Enhancement
重置回答时滚动定位至该回答
当 API 是 gpt-4 时增加可用的 Max Tokens
判断和忽略回复字符
切换会话时,自动聚焦输入框
渲染的链接新窗口打开
查询余额可选 API_BASE_URL 代理地址
config 接口添加验证防止被无限制调用
PWA 默认不开启,现在需手动修改 .env 文件 VITE_GLOB_APP_PWA 变量
当网络连接时,刷新页面,500 错误页自动跳转到主页
温馨提示:
本文最后更新于:2023-05-07 ,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。