ChatGPT是一个由OpenAI开发的大型语言模型聊天机器人。它具有强大的生成能力,可以生成文本、翻译语言、编写不同类型的创意内容,并以信息丰富的方式回答您的问题。

然而,ChatGPT在中国被屏蔽。这意味着在中国的用户无法直接访问ChatGPT。

潘多拉是一个开源的聊天机器人项目,它基于GPT-3.5模型,可以生成文本、翻译语言、编写不同类型的创意内容,并以信息丰富的方式回答您的问题。

潘多拉可以解决在中国无法访问ChatGPT的问题。通过搭建潘多拉,您可以在本地访问ChatGPT,并享受其强大的功能。

准备工作

在开始搭建潘多拉之前,您需要准备以下工具和资源:

安装Docker环境

潘多拉使用Docker来部署。因此,您需要首先安装Docker环境。

# 更新系统,并安装所需的应用
apt update && apt install -y wget vim

# 安装docker
wget -qO- get.docker.com | bash

# 查看docker版本
docker -v

开始安装

步骤 1:获取潘多拉源代码

您可以从潘多拉的Github仓库获取docker-compose代码。[项目地址]

步骤 2:创建安装路径

您可以将潘多拉安装在自定义路径下,例如:

mkdir -p /root/data/PandoraNext

步骤 3:构建潘多拉镜像

进入到潘多拉安装目录下。

cd /root/data/PandoraNext

拉取镜像

# 拉取镜像
docker pull pengzhile/pandora-next

官方默认是8181,可以自行修改,比如我现在把端口改为8090。如果不确定8090端口是否被占用,事先可以查看一下。

# 查看端口是否被占用
lsof -i:8090

然后,执行下面命令安装潘多拉。

docker run -d --restart always --name PandoraNext --net=bridge \
    -p 8090:8181 \
    -v ./data:/data \
    -v ./sessions:/root/.cache/PandoraNext \
    pengzhile/pandora-next

步骤 4:创建配置文件

到这里,我们已经安装好了潘多拉,但是还无法运行,因为还缺少两个配置文件。

# 进入存放配置文件的文件夹
cd data

# 创建config.json和tokens.json两个配置文件
touch ./config.json && touch ./tokens.json

再填入必要的参数。

vim config.json

把下边的代码粘贴到 config.json 文件里。

{
  "bind": "0.0.0.0:8090",
  "tls": {
    "enabled": false,
    "cert_file": "",
    "key_file": ""
  },
  "timeout": 600,
  "proxy_url": "",
  "license_id": "这里填入获取到的license_id",
  "public_share": false,
  "site_password": "",
  "setup_password": "这里设置一个密码",
  "server_tokens": true,
  "proxy_api_prefix": "",
  "isolated_conv_title": "*",
  "disable_signup": false,
  "auto_conv_arkose": false,
  "proxy_file_service": false,
  "custom_doh_host": "",
  "captcha": {
    "provider": "",
    "site_key": "",
    "site_secret": "",
    "site_login": false,
    "setup_login": false,
    "oai_username": false,
    "oai_password": false,
    "oai_signup": false
  },
  "whitelist": null
}

点这里获取license_id

ESC 再输入 :wq 保存并退出。

接下来,配置 tokens.json 文件。

# 打开文件
vim tokens.json

复制粘贴下边的代码。

{
  "test-1": {
    "token": "access token / session token / refresh token",
    "shared": true,
    "show_user_info": false
  },
  "test-2": {
    "token": "access token / session token / refresh token",
    "shared": true,
    "show_user_info": true,
    "plus": true
  },
  "test2": {
    "token": "access token / session token / refresh token / share token / username & password",
    "password": "12345"
  }
}

ESC 再输入 :wq 保存并退出。

配置文件弄好之后,再重启一下潘多拉服务。

docker restart PandoraNext

步骤 5:访问潘多拉

操作完成之后,就可以用 您服务器的IP:8090 的格式在浏览器里打开潘多拉了。

潘多拉的端口已经修改为8090了,您可以通过以下网址访问:

http://您的VPS服务器IP地址:8090

例如,如果您的VPS服务器IP地址是192.168.1.10,您可以通过以下网址访问:

http://192.168.1.10:8090

这是潘多拉的登录界面

设置反向代理

我们现在是使用IP+端口的方式来访问自己搭建的潘多拉,这种方式会将服务器IP完全暴露在公网上,非常不安全。现在我们要给搭建的潘多拉添加一个域名,提升访问的安全性。这里给大家推荐两种反向代理工具Nginx Proxy Manager,您可以参考相关教程。设置完成,就可以用的域名来访问潘多拉了,比如:

http://www.pandora.com

登录方法

首先,需要一个自己的ChatGPT账号。如果没有账号可以去免费申请一个,由于OpenAI对网络环境的要求比较高,在国内注册要用到国外的接码平台有些繁琐,这里就不一一赘述了,网上教程很多。

当然,没有相对干净的科学上网环境也不用着急,潘多拉GitHub仓库里也给出了一个可以直接在国内访问的注册地址。点这里注册

哈哈,我就知道你不会注册。别着急,潘多拉的作者早就考虑到这个问题了,给大家出了一个有手就行的注册教程。点击这里

接下来,我们就用自己的ChatGPT账号来登录。

方法一:直接在潘多拉的登陆界面注册登录

没有科学上网环境的小伙伴也不用着急,在潘多拉的登陆界面点击 Sign up 注册一个账号,验证完邮箱之后,直接登录就可以了。(国内用户推荐使用)

方法二:登录ChatGPT官网获取Access Token和Session Token

如果你有可以登录ChatGPT官网的科学上网环境,并且不想在第三方平台上暴露自己的账号信息,可以在登录ChatGPT官网后获取Access Token和Session Token,这样做可以不在潘多拉上留下自己的账号和登录信息,相对来说是安全的。(推荐)

首先,要登录ChatGPT官网。官方地址

登录后,访问获取官方Access Token的链接:https://chat.openai.com/api/auth/session

找到 accessToken 字段,将后面引号里的Token全部复制出来备用

接下来,我们再获取Session_Token,还是在官方链接里,点击 F12

最后,同样也是访问自己搭建的潘多拉,直接点击 Continue with Access Token ,再将我们刚刚获取到的官方Access Token或者Session Token复制到弹出的框里,点击 OK ,登录成功。

现在我们成功用自己的域名访问了ChatGPT,并且不用科学上网也可以正常访问。

补充一点,敲黑板了哈。首先,请记获取到的Access Token有效期只有10天,而Session Token有效期是3个月,到期之后需要循环一次上诉操作,就可以了。其次,更换 License Id 之后,通常需要手动删除潘多拉安装目录下 sessions 文件夹里的 license.jwt 文件再启动。切记,切记。

结语

通过按照上述步骤,您可以在潘多拉上搭建ChatGPT,解决在中国无法访问ChatGPT的问题。祝您搭建成功!