Allen的分享
Allen的分享

简单几步把ChatGPT搬进中国

本文教你如何快速搭建基于OpenAI的ChatGPT。

OpenAI API是OpenAI提供的一种云端服务,允许开发人员使用OpenAI的人工智能模型,以便执行自然语言处理和代码生成等任务。

OpenAI API提供了一系列模型,这些模型的能力不同,适合不同的任务,并且还可以对自定义模型进行微调。

项目地址:https://github.com/Chanzhaoyu/chatgpt-web
Demo:chat.allencj.com

环境准备

1、购买 VPS 一台,https://bit.ly/41riYnk

0.99-1.99 不限流量的vps推荐

512内存 0.99美元优惠码 硅谷 SVVPS512-0.99dis 洛杉矶机房 LAVPS512-0.99dis

1024内存 1.99美元优惠码 硅谷SVVPS1024-1.99dis 洛杉矶 LAVPS1024-1.99dis

2、域名一个,并做好解析,解析 IP 地址为 VPS 的 IP地址

3、ChatGPT api 获取地址 https://platform.openai.com/account/api-keys

搭建步骤

前提

sudo apt upgrade

sudo apt update

apt update -y          # Debian/Ubuntu 命令
apt install -y curl    #Debian/Ubuntu 命令
apt install -y socat    #Debian/Ubuntu 命令

yum update -y          #CentOS 命令
yum install -y curl    #CentOS 命令
yum install -y socat    #CentOS 命令

1、安装 Docker 及 Docker-compose

  • 安装Docker
#更新、安装必备软件

apt-get update && apt-get install -y wget vim

#国外机:

curl -sSL https://get.docker.com/ | sh

#国内机:

curl -sSL https://get.daocloud.io/docker | sh

#开机自动启动

systemctl start docker

systemctl enable docker

安装 Docker-compose

#国外机:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
#国内机
curl -L https://get.daocloud.io/docker/compose/releases/download/v2.1.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

2、安装 Nginx Proxy Manager

Nginx Proxy Manager 是一款基于Docker 的反代神器,强烈推荐使用。

  • 创建目录
mkdir -p data/docker_data/npm
cd data/docker_data/npm
  • 创建 docker-compose.yml 文件
nano docker-compose.yml 
  • 在文件中填入以下内容,然后 Ctrl+X 保存,按 Y 退出
  • 这里可以直接下载文件拷贝到服务器
version: '3.8'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      # These ports are in format <host-port>:<container-port>
      - '80:80' # Public HTTP Port
      - '443:443' # Public HTTPS Port
      - '81:81' # Admin Web Port
      # Add any other Stream port you want to expose
      # - '21:21' # FTP

    # Uncomment the next line if you uncomment anything in the section
    # environment:
      # Uncomment this if you want to change the location of
      # the SQLite DB file within the container
      # DB_SQLITE_FILE: "/data/database.sqlite"

      # Uncomment this if IPv6 is not enabled on your host
      # DISABLE_IPV6: 'true'

    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

运行

docker-compose up -d

通过 IP:81 来访问 Nginx Proxy Manager ,具体的反代操作我们接下来会讲,请先记住初始账户和密码

Email:    [email protected]
Password:  changeme

3、安装 ChatGPT-web

创建目录

mkdir -p data/docker_data/chatgpt
cd data/docker_data/chatgpt

创建 docker-compose.yml 文件

nano docker-compose.yml

在文件中填入以下内容,然后 Ctrl+X 保存,按 Y 退出

version: '3'

services:
  app:
    image: chenzhaoyu94/chatgpt-web:latest
    restart: unless-stopped
    ports:
      - 3002:3002
    environment:
      OPENAI_API_KEY: xxxxxx

创建完成后,运行

docker-compose up -d

报错再用一次这个命令

 docker-compose up -d --remove-orphans 

然后就可以通过 IP:3002 来访问 ChatGPT

4、反代 ChatGPT

前面是用 IP:3002 来访问ChatGPT,我们可以通过反代的方式实现域名访问,并配置 SSL 证书,就像前面的演示网址一样。接下来就来进行反代操作,用到第二步中搭建的 Nginx Proxy Manager

用 IP:81 打开 Nginx Proxy Manager,第一次登录以后需要修改用户和密码,请自行配置

下面介绍反代的操作

打开 Proxy Hosts -> 点击右上角 Add Proxy Hosts -> 按照图中进行配置 -> 颁发 SSL 证书并开启强制 Https 访问 -> 点击 Save 保存

https://allencj.com/wp-content/uploads/2023/02/image-1024x262.png
https://allencj.com/wp-content/uploads/2023/02/image-1.png
https://allencj.com/wp-content/uploads/2023/02/image-2.png

至此,就完成反代的工作,接下来就可以用刚才解析的域名访问 ChatGPT 了。

发表回复

textsms
account_circle
email

  • 反代用的阿里云注册的域名好像不行,无法获取SSL证书

    1 年前 回复
  • Martin

    启用用户名密码访问就报错500,是第二个yml要设置吗

    1 年前 回复
  • VictorL

    大佬,我不太熟悉Linux,用的是宝塔面板,请问应该怎样安装部署啊。

    1 年前 回复
  • marco1208

    #国外机:curl -sSL https://get.docker.com/ | sh

    跳出如下情况,哪里出问题呢?
    + sleep 20
    + sh -c apt-get update -qq >/dev/null
    + sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null
    E: Sub-process /usr/bin/dpkg returned an error code (1)

    1 年前 回复
  • Jacky

    大佬,服务器一开始正常,今天也能打开页面,但是ChatGPT的回复出现:undefined[fetch failed],问任何问题都是一样的回答,可能会是哪个环节的问题呢?

    1 年前 回复
  • ding

    我ssh无法连接vps

    1 年前 回复
  • KeanuReeves

    温馨提示下,如果是完全按照教程走的。
    买了那个VPS以后记得去邮箱收下VPS的相关信息和控制台的账号密码
    且第一次购买时默认给你配的是centos系统。若想完全跟教程走照搬指令。记得先重装下系统改成ubantu的mini版

    1 年前 回复
  • Yueesh

    undefined
    [ChatGPT error 404: {
    “error”: {
    “message”: “Invalid URL (POST /v1/chat/completions)”,
    “type”: “invalid_request_error”,
    “param”: null,
    “code”: null
    }
    }

    1 年前 回复
  • lishou

    运行docker-compose up -d
    出现这个yaml: did not find expected key

    怎么办?

    1 年前 回复
  • Haven

    运行docker-compose up -d和docker-compose up -d –remove-orphans
    出现:services.app.environment must be a mapping

    1 年前 回复
    • rionhuang

      @Haven: 创建chatgpt目录前(mkdir -p data/docker_data/chatgpt)
      要先使用cd回车回到VPS根目录
      不然chatgpt目录就会被创建到上一步的npm目录下

      1 年前 回复
  • TomJerry

    如何给上chatgpt 的域名上CDN

    1 年前 回复
  • 哈蜡笔

    如何开启认证呢?

    1 年前 回复
  • Ryan

    全部都设置好,IP都可以访问,但是解析好的域名无法访问。 什么原因呢?

    1 年前 回复
  • HU Min

    第一次登入显示Bad Gateway 进不去怎么办

    1 年前 回复
  • jing li

    大佬,我启动docker报错:
    Error response from daemon: Get “https://registry-1.docker.io/v2/”: net/http: TLS handshake timeout
    我是用的洛杉矶节点,难道这个节点访问不了docker?

    1 年前 回复
  • yaml: did not find expected key

    1 年前 回复
  • YICHENG LI

    :81的网站进不去

    1 年前 回复
    • draco long

      @YICHENG LI: 我也是,81,3002都进不去,但是80能进,显示你的NPM成功启动需要登陆去配置。但是去81端口配置就死我进不去。

      1 年前 回复
  • allencj博主

    配置文件不对

    1 年前 回复
  • joewang

    登录ip:81提示 Bad Gateway 怎么回事呢

    1 年前 回复
  • Deic

    undefined
    [fetch failed]
    总是回复以上内容,为何?

    1 年前 回复
  • shawn

    按照步骤成功了,但是总感觉调用的不是3.5的接口?和二傻子似的~~

    1 年前 回复
  • 老小白

    我一次性安装成功,提问后,也可以正常回复,但是总觉得有字数限制,输出代码到一半就没有了,请问大神,咱们这个有字数限制的设置吗?

    1 年前 回复
  • Ivanl

    您好,我在登录反向代理的81的这个网站,输入用户名和密码点登录,提示Bad Gateway 这个是什么问呢,谢谢

    1 年前 回复
  • XSG

    请问该如何修改对话的最大字符长度?

    1 年前 回复
  • berry

    按照你的配置还是报Bad Gateway

    1 年前 回复
  • Victor.L

    大佬,请教下怎么更新到v2.10.9版本啊

    1 年前 回复
  • Ivanl

    你好,这个chatgpt的搜索的数据时间在2021年这样,2022年后的数据都搜索不到,这个可以更新吗,谢谢

    1 年前 回复
  • Andy

    哪里有注册免费的域名呀

    1 年前 回复
  • paul

    [[OpenAI] 提供错误的API密钥 | Incorrect API key provided]

    这个是怎么回事呢,我确认了key是没问题的

    1 年前 回复
  • santaealan

    设置反代的new proxy host图中,”chatgpt服务器IP“是指VPS IP,还是真正的chatgpt ip?我填的是VPS IP,能实用,但不确定会不会有其他问题。
    谢谢

    1 年前 回复
  • nanmu

    你好,我这边解析后的域名无法打开指向链接,但是我这边显示解析成果了呢

    1 年前 回复
  • 大佬,我部署完成后,出现“You exceeded your current quota, please check your plan and billing details.”限额提示,可是我换了key也是一样的效果

    1 年前 回复
  • roc

    已经搭建好了 太感谢了,请问怎么修默认的名称呢?就是Chanzhaoyu
    这个名字

    1 年前 回复
  • Sehlani

    您好,使用申请的ssl会报不安全,有什么建议吗?

    1 年前 回复
  • Sehlani

    现在好了,不知道是不是延迟的原因。

    1 年前 回复
  • 网关错误

    第一次登入显示Bad Gateway 进不去怎么办

    1 年前 回复
  • 不想被用光api

    如何加登陆呢 我不想被用光api

    1 年前 回复
  • 如何加登陆系统呢 不想被用光api

    1 年前 回复

Allen的分享

简单几步把ChatGPT搬进中国
本文教你如何快速搭建基于OpenAI的ChatGPT。 OpenAI API是OpenAI提供的一种云端服务,允许开发人员使用OpenAI的人工智能模型,以便执行自然语言处理和代码生成等任务。 OpenAI API…
扫描二维码继续阅读
2023-02-27