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 ,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
版权声明 1. 本网站名称:稻草人笔记   永久网址:https://www.facekun.com
2. 本文链接:Docker快速搭建属于自己的ChatGPT网站基于gpt-4.0: https://www.facekun.com/arts/194.html
3. 部分文章内容来源于网络,仅作为学习展示之用,版权归原作者所有
4. 因部分文章网络流转次数较多,已无法追溯至原作者,若遗漏导致侵犯了您的权益,请您来信告知我,确认后会尽快删除。
5. 本站禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6. 如无特别声明本文即为原创文章仅代表个人观点,版权归《稻草人笔记》所有,欢迎转载,转载请保留原文链接。
THE END
分享
二维码
< <上一篇
下一篇>>