搭建 ChatGPT Web 版详细教程,可免费体验

前言

ChatGPT 是一款由 OpenAI 开发的语言模型,最近实在是太火了,还有国内百度的文言一心,但由于无法科学上网,很多人无法体验 ChatGPT,所以我自费买了国外的服务器,研究了一下如何搭建了ChatGPT Web 版。

本文讲解 ChatGPT Web 版搭建的详细教程,您可以通过关注我的微信公众号 echeverra 发送“ChatGPT”,获取网页链接进行体验。

由于是国外服务器且配置较低,可能会卡顿延迟,请见谅。

教程

API Keys

获取 OpenAI 的 API Keys,首先我们需要科学上网的环境注册一个 OpenAI: https://beta.openai.com/signup 账号。

注册的过程中会让你输入手机号接收验证码,注意不能使用国内的手机号,因为 OpenAI 限制了国内无法使用,我们可以通过 SMS-Activate: https://sms-activate.org 注册一个国外的虚拟电话号码进行短信接收。

SMS-Activate 是收费的需要先充值,可以使用支付宝,最低充值金额 2 美元。充值后在左侧 OpenAI 菜单中选择一个国家,我选择的是比较便宜的巴西,花费 30 卢布,收到验证码务必在 20 分钟内使用,否则会失效。

由于只使用了一次,还剩 120 多卢布,还可以使用 4 次虚拟号码接收验证码,有需要的小伙伴可以找我要哈~

注册成功后登录,访问 https://platform.openai.com/overview,在个人 View API keys 中创建一个 SECRET KEY,也就是我们最终想要得到的 API Keys。

国外服务器

如果你的服务器是国内的,那么需要一个反代,比较麻烦,所以我选择直接使用国外服务器。

国外的服务器并不便宜,大概每月 30 元左右的样子,不过经过我不懈的比对,终于找到一款经济实惠的服务器,UCloud 的美国洛杉矶的服务器,新用户 122 配置一年 180 多,每月也就 15 元左右,Nice(精打细算的微笑^.^)~

111 配置的服务器更便宜只要 70,但是无法build和运行项目,所以不推荐。

服务器使用的 CentOs 7.9 的系统,需要配置下防火墙,放开所有端口,否则最终网页无法访问。

搭建项目

安装 Node

SSH 连接服务器后,通过命令安装 Node v16 版本:

cd /usr/local
wget https://npmmirror.com/mirrors/node/v16.18.1/node-v16.18.1-linux-x64.tar.xz

解压重命名到 nodejs:

tar -xvf node-v16.18.1-linux-x64.tar.xz
mv node-v16.18.1-linux-x64 nodejs
rm -rf node-v16.18.1-linux-x64.tar.xz

创建软连接:

ln -s /usr/local/nodejs/bin/node /usr/bin
ln -s /usr/local/nodejs/bin/npm /usr/bin
ln -s /usr/local/nodejs/bin/npx /usr/bin

查看版本:

node -v  //v16.18.1

如果能正常打印版本号,说明 Node 安装成功。

安装 PNPM

安装 PNPM 并创建软连接:

npm install -g pnpm
ln -s /usr/local/nodejs/bin/pnpm /usr/bin
ln -s /usr/local/nodejs/bin/pnpx /usr/bin

查看版本:

pnpm -v  //v7.29.3

如果能正常打印版本号,说明 PNPM 安装成功。

安装 Docker

安装 yum-utils 包:

yum install -y yum-utils

设置镜像仓库(阿里镜像):

yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新 yum 软件包索引:

yum makecache fast

安装 docker-ce(社区版):

yum install docker-ce docker-ce-cli containerd.io

查看版本:

docker version

如果可以查看具体的版本信息,说明 Docker 安装成功。

最后将 Docker 启动:

systemctl start docker

下载项目

我找了一个比较火的 ChatGPT Web 开源项目(star 8k),链接:https://github.com/Chanzhaoyu/chatgpt-web

首先安装 git:

yum install git

下载项目(默认安装在/root/目录下):

git clone https://github.com/Chanzhaoyu/chatgpt-web.git

填写秘钥

chatgpt-web/service/目录下文件.env.example改名为.env,并修改文件中的OPENAI_API_KEY值,改为上文中获取的 API Keys,注意不需要加引号。

# OpenAI API Key - https://platform.openai.com/overview
OPENAI_API_KEY=your_api_key

安装依赖

chatgpt-web/service/目录下安装后端依赖:

pnpm install

chatgpt-web/目录下安装前端依赖:

pnpm bootstrap

打包运行

chatgpt-web/目录下执行 build 操作:

docker build -t chatgpt-web .

build 时间会比较长而且会占用比较大的内存,所以 1G 内存的服务器无法 build 成功,贪便宜踩坑的教训...

build 成功后就可以运行项目啦,记得将your_api_key替换成你的 key:

docker run --name chatgpt-web -d -p 3002:3002 --env OPENAI_API_KEY=your_api_key chatgpt-web

运行成功后访问https://ip:3002就可以访问 ChatGPT Web 页面啦,Nice~

后续

信息定制

如果你想修改页面左下角的个人信息,你可以修改chatgpt-web/src/store/modules/user/helper.ts文件中的defaultSetting()内容,比如我修改的:

export function defaultSetting(): UserState {
  return {
    userInfo: {
      avatar: 'https://echeverra.cn/favicon.jpg',
      name: 'echeverra',
      description: '关注公众号 <a href="https://echeverra.cn/code.jpg" class="text-blue-500" target="_blank" >echeverra</a>',
    },
  }
}

修改完后记得重新进入chatgpt-web/目录执行 build 操作才会生效:

docker build -t chatgpt-web .

使用限制

原本我以为我搭建完可以免费给大家体验没有什么限制,直到我发现了这个。

查阅资料才知道,OpanAI 在注册后会赠送 5 美元的体验资格,只要 API 调用就会花费余额,5 美元大概能回复 100 万字的内容,等余额用尽后就会提示服务器限流,无法继续使用,只能充值了。

而且现在还有封号的风险,所以大家且用且珍惜吧- -。

续费充值

由于使用的人数较多,不到一天的时间体验额度 5 美元就用尽了- -。

为了回馈支持我的粉丝,我又自费买了个额度 120 美元的 API key 供大家免费使用。

但由于花销比较大,自己没办法长期承担该费用,如果有需要使用的小伙伴可以打赏(文末)或转账(微信)支持我下(请注明 ChatGPT),打赏或转账的钱我会全部投入到 ChatGPT Web 的花费,再次感谢大家~

验证限流

好吧,又一周的时间,120 美元的额度也用尽了 - -。

为了防止有些人恶意滥用,方便有需要的人使用,这次我学聪明了~,我加入了验证与限流。

验证功能是需要访客输入验证码,验证通过后才能使用,在chatgpt-web/service/.env文件中,将AUTH_SECRET_KEY设置一个访问权限秘钥,效果如下:

限流功能是限制相同 IP 的访客每小时最大的请求次数,同样是在chatgpt-web/service/.env文件中,将MAX_REQUEST_PER_HOUR设置一个访问次数。当对话超过设置的次数后会提示限制,只能等待下一个小时继续使用。

设置完.env文件记得重新buildrun项目,注意执行run命令还需加上AUTH_SECRET_KEYMAX_REQUEST_PER_HOUR两个参数:

docker run --name chatgpt-web -d -p 3002:3002 --env OPENAI_API_KEY=your_api_key --env AUTH_SECRET_KEY=your_secret_key --env MAX_REQUEST_PER_HOUR=your_max_request chatgpt-web

记得将your_api_keyyour_secret_keyyour_max_request替换成你自己的,与.env文件中的一致。如果不生效可能是由于你使用的 ChatGPT Web 项目不是最新的或者没有build成功。

希望这次买的 API Key 用的久一点- -,价格涨了好多,感谢支持我的小伙伴。

还有很多 10 元 5 元的,我都记在心里,再次感谢大家~

账号被封

没错中招了,刚用一天账号被封了- -,啧啧啧,我的 120 美元余额啊...

没关系,换个号继续...

好啦,以上就是搭建 ChatGPT Web 版详细教程的所有内容,希望对你有所帮助,如有问题可通过我的博客 https://echeverra.cn 或微信公众号 echeverra 联系我。

你学“废”了么?

(完)

(文章今日已有 8 人访问 ::>_<::)
文章首发于我的博客 https://echeverra.cn/chatgpt,原创文章,转载请注明出处。
欢迎关注我的微信公众号 echeverra,一起学习进步!不定时会有资源和福利相送哦!

评论

  1. lon17
    Windows Edge
    广西防城港市 移动
    7 月前
    2023-10-04 11:24:42

    大佬能不能做一期Kerwin1202/chatgpt-web/教程啊,他这个有用户管理

    • 博主
      lon17
      Windows Chrome
      天津市 联通
      7 月前
      2023-10-07 9:04:29

      以后有时间的

  2. 顺心如意
    Windows Chrome
    上海市 移动
    9 月前
    2023-8-02 11:22:40

    博主现在这套部署流程还可用吗

    • 博主
      顺心如意
      Windows Chrome
      天津市 联通
      9 月前
      2023-8-02 12:01:14

      应该可以,而且还有一些最新的配置功能

  3. 莫子衿
    Windows Edge
    广东省佛山市顺德区 联通IDC机房
    9 月前
    2023-7-18 16:32:26

    现在还会被封吗?

    • 博主
      莫子衿
      Windows Chrome
      天津市 联通
      9 月前
      2023-7-18 17:45:14

      也会封

  4. pidanxia
    Windows Chrome
    中国 移动
    9 月前
    2023-7-18 12:54:56

    博主你好,我想问一下怎么用才能充值API key 的额度呀,我没有国外的卡,免费的5$额度也用完了~

    • 博主
      pidanxia
      Windows Chrome
      天津市 联通
      9 月前
      2023-7-18 13:59:55

      直接再买个key就好啦

      • pidanxia
        echeverra
        Windows Chrome
        中国 移动
        9 月前
        2023-7-18 15:05:01

        但是最近GPT4的api开放了,我想试试gpt4哈哈哈

        • 博主
          pidanxia
          Windows Chrome
          天津市 联通
          9 月前
          2023-7-18 15:33:09

  5. 东张西望
    Android Chrome
    云南省昆明市 电信
    10 月前
    2023-7-06 14:21:09

    好厉害,好详细,我只是一个热爱此类事物的普通人,我也有兴趣弄一个玩玩,但是对我来说,太难了,好希望也能像你一样的仗剑天涯。

    • 博主
      东张西望
      Windows Chrome
      天津市 联通
      10 月前
      2023-7-06 14:31:47

      热爱+行动,什么时候开始仗剑天涯都不晚的

  6. 顺心如意
    Windows Chrome
    上海市 联通
    11 月前
    2023-6-16 10:58:21

    docker build -t chatgpt-web .
    build的时候报错了,是阿里云镜像没配好吗前面一直没报错

    [+] Building 32.4s (3/3) FINISHED
    => [internal] load .dockerignore 0.0s
    => => transferring context: 162B 0.0s
    => [internal] load build definition from Dockerfile 0.0s
    => => transferring dockerfile: 886B 0.0s
    => ERROR [internal] load metadata for docker.io/library/node:lts-alpine 32.4s

    [internal] load metadata for docker.io/library/node:lts-alpine:

    Dockerfile:2

    1 | # build front-end
    2 | >>> FROM node:lts-alpine AS frontend
    3 |
    4 | RUN npm install pnpm -g

    ERROR: failed to solve: DeadlineExceeded: DeadlineExceeded: DeadlineExceeded: node:lts-alpine: failed to copy: httpReadSeeker: failed open: failed to do request: Get “https://production.cloudflare.docker.com/registry-v2/docker/registry/v2/blobs/sha256/6d/6dcce61929307b8f11b3a7c67feb4e000987f5f3810ea8fd44392ccad2f6497b/data?verify=1686887158-2p0UwOf7T6dyKIHo3FPaDbW6jOs%3D“: dial tcp 104.18.124.25:443: i/o timeout

    • 博主
      顺心如意
      Windows Chrome
      天津市 联通
      11 月前
      2023-6-16 11:07:09

      这个错误通常出现在使用 Docker 镜像时,表示 Docker 引擎无法下载或复制镜像文件。根据错误信息可以看到,在从远程仓库下载 node:lts-alpine 镜像的过程中,发生了一系列超时错误,导致下载失败。

      其中,错误信息中包含了一些关键字:

      DeadlineExceeded: 表示操作超时,已超过预期时间。
      node:lts-alpine: 镜像名称和标签。
      httpReadSeeker: 用于读取响应数据的 HTTP 流。
      failed to do request: 发送请求时发生错误。
      dial tcp 104.18.124.25:443: i/o timeout: 尝试连接 Docker Registry 的 IP 地址为 104.18.124.25 的服务器失败,连接超时。

      可能的原因包括:

      网络连接异常或不稳定,导致 Docker 引擎无法正常访问远程仓库。
      远程仓库出现问题,例如服务器崩溃、带宽限制等。
      Docker 引擎配置不正确,例如代理设置、DNS 解析等。
      防火墙或网络安全策略阻止了 Docker 引擎与远程仓库之间的通信。
      要解决这个问题,您可以尝试以下方法:

      检查网络连接,确保 Docker 引擎可以正常访问远程仓库。您可以尝试使用 ping 命令或 telnet 命令测试连接是否正常。
      检查 Docker 引擎的配置,确保代理和 DNS 解析设置正确。
      如果可能,尝试更换镜像源,或使用其他方式进行下载(例如手动下载并导入镜像文件)。
      确保网络安全策略允许 Docker 引擎与远程仓库之间的通信。
      需要注意的是,由于该错误可能与多种因素有关,因此解决方法可能各不相同。建议尝试以上方法,并根据具体情况进行排错。

      已上由chatGPT回复~~~

  7. 伊泉
    Windows Chrome
    中国 移动
    11 月前
    2023-6-07 9:19:22

    您好,在哪儿能查到API调用使用量? 是OpenAI 官网么?

    • 博主
      伊泉
      iPhone Safari
      天津市 联通
      11 月前
      2023-6-07 16:29:35

  8. GBB
    Windows Edge
    广东省广州市天河区 /白云区电信
    11 月前
    2023-5-24 12:06:22

    如何更改端口哇

    • 博主
      GBB
      Windows Chrome
      天津市 联通
      11 月前
      2023-5-24 14:42:38

      如果你想使用80端口,执行 docker run –name chatgpt-web -d -p 80:3002 –env xxxxxxx

  9. hyrhyr
    Windows Chrome
    广西南宁市 联通
    12 月前
    2023-5-08 14:04:30

    => [frontend 8/8] RUN pnpm run build 11324.6s
    => => # > chatgpt-web@2.11.0 type-check /app
    => => # > vue-tsc –noEmit
    => => # > chatgpt-web@2.11.0 build-only /app
    => => # > vite build
    => => # vite v4.2.0 building for production…
    => => # transforming…
    大佬请问下,我这个是因为服务器内存问题吗,一直在这bulid, 几个小时了 还没有构建镜像出来

    • 博主
      hyrhyr
      Windows Chrome
      天津市 联通
      12 月前
      2023-5-08 14:08:22

      多大的内存

      • hyrhyr
        echeverra
        Windows Chrome
        广西南宁市 联通
        12 月前
        2023-5-08 14:13:54

        1卷 -8 GiB 是太小了吗

        • 博主
          hyrhyr
          Windows Chrome
          天津市 联通
          12 月前
          2023-5-08 14:33:24

          8G足够大了

          • hyrhyr
            echeverra
            Windows Chrome
            广西南宁市 联通
            已编辑
            12 月前
            2023-5-08 14:34:17

            那搞不懂了。。 还需要修改项目的Dockerfile文件吗

          • 博主
            hyrhyr
            Windows Chrome
            天津市 联通
            12 月前
            2023-5-08 14:35:34

            重新按照步骤再执行一遍

          • hyrhyr
            echeverra
            Windows Chrome
            广西南宁市 联通
            12 月前
            2023-5-08 14:37:02

            我已经试过了,服务器都换一个 还是不行。难道因为服务器是Ubuntu的吗,但是所有工具都有安装好的

          • 博主
            hyrhyr
            Windows Chrome
            天津市 联通
            12 月前
            2023-5-08 14:44:18

            关注公众号,进IT技术群,我帮你看下

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇