ChatGPT Web 运行在 Serverless 上

去年开始使用 ChatGPT ,没想到今年的迭代速度那么快,我的日常工作已经离不开了,不过 ChatGPT 是主动屏蔽我们中国用户,所以要正常使用会比较麻烦,如果你用传统方式,访问“原生” openai 的网站,你还需要全局代理+隐私模式,这样子太麻烦了。

ChatGPT Web 是一个开源的项目,它拥有很多的功能,同时 UI 也非常好看,作为第三方的使用我是非常推荐的。

目前有非常多的小白不知道要怎么部署,下面我会提供下 Serverless 这种低成本的部署方案,我会提供阿里云大量的文档地址(我不想重复性做无意义的事情)。我在阿里云函数计算上部署了快一个月,其他云服务商的相关产品理论上都是一致的。

  1. 你需要使用下方的 Dockerfile 文件去构建一个镜像,这个镜像所在地域应该在 “美系” 国家所在的地域,比如美国本土、日本等。

创建个人版实例

使用个人版实例推送拉取镜像

构建仓库与镜像

Dockerfile

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
FROM node:19 AS download

WORKDIR /web

ADD https://github.com/Chanzhaoyu/chatgpt-web/archive/refs/tags/v2.10.8.tar.gz /tmp/web.tar.gz

RUN tar -xzf /tmp/web.tar.gz -C /web --strip-components=1

FROM node:19 AS builder

WORKDIR /app

COPY --from=download /web /app

RUN npm install pnpm -g && \
pnpm install && \
pnpm run build

FROM node:19

COPY --from=download /web/service /app

COPY --from=builder /app/dist /app/public

WORKDIR /app

ENV OPENAI_API_KEY="sk-换成你自己的!!!"

RUN npm install pnpm -g && \
pnpm install

EXPOSE 3002

CMD ["pnpm", "run", "start"]
  1. 上面的步骤完成后你的 ACR 应该有一个镜像了,那现在可以开始函数计算的操作。

开通服务

创建Custom Container函数 | 在控制台创建函数 | 步骤二、步骤三

注意,端口是 3002

配置自定义域名

现在就完成了,你可以试一下访问。关于安全性方面的配置需要看回 ChatGPT Web 官方文档

往上