如何低成本拥有一个在国内可以使用ChatGPT聊天机器人

如果你觉得本页面提供的方法需要 API Key,免费额度只有 5 美元,如果你需要长期使用,又不能办信用卡,~~推荐新方法:该方法不需要使用 API Key,如何部署的见这篇文章:不用科学上网就能使用 ChatGPT 的最新方法,还能共享 Plus 账号。~~该方法作者已停更。
如果从注册 Github 开始部署,大概需要 30 分钟。对于懂网站的程序员大佬大概需要 1 分钟即可部署。

搭建好之后的效果:

chat.gif

通常我们使用ChatGPT需要科学上网,而且不能是香港等亚洲的节点,要求很高。之前我一直用的官方网页,也尝试用反向代理版本的ChatGPT Desktop Application(下图):

ChatGPT Desktop Application

随着使用频率的增加,每次问答都要科学上网也非常不方便。

access denied

我就在思考,能不能有国内访问ChatGPT的方式呢?

经过查询,网上有很多套壳的国内ChatGPT网站,可以不需要科学上网,但是难免有数据泄露的风险,而且,这些网站大多都不是免费的,需要充值。说不定哪天网站跑路了或者被封了,又是一笔损失。

01D19257

今天介绍一个免费部署的私人 ChatGPT 应用,叫ChatGPT-Next-Web,在 GITHUB 已经有 4 万多个收藏了,可以点击演示 Demo体验:

ChatGPT-Next-Web

实现了如下的功能:

  • 只需在 1 分钟内即可在 Vercel 上一键免费部署
  • Linux/Windows/MacOS 上的紧凑型客户端 (~5MB),立即下载
  • 与自部署 llms 完全兼容,推荐与 RWKV-Runner 或 LocalAI 配合使用
  • 隐私第一,所有数据都存储在浏览器本地
  • Markdown 支持:LaTex、mermaid、代码高亮等。
  • 响应式设计、深色模式和 PWA
  • 首屏加载速度快(~100kb),支持流式响应
  • v2 中的新增功能:使用提示模板(掩码)创建、共享和调试您的聊天工具
  • 由 Awesome-chatgpt-prompts-zh 和 Awesome-chatgpt-prompts 提供支持的很棒的提示
  • 自动压缩聊天历史记录以支持长时间对话,同时保存您的令牌

自从我使用这种方式已经 3 个月了,免费注册 OPENAI 账号的 5 美元的额度还没有用完,手机和电脑都能用,完全满足我的需求。

01D20312

接下来介绍如何使用:

一、准备工作

  • 能科学上网,推荐iplc

  • 注册一个 GITHUB 账户。

  • 准备好你的 OpenAI API Key(这一步需要非中国大陆、港澳的科学上网环境)。如果你觉得注册 API 麻烦,可以使用不需要 api 的方法,如何部署的见这篇文章:不用科学上网就能使用 ChatGPT 的最新方法,还能共享 Plus 账号

  • (可选)一个自己的域名,国内访问必备。

  • (可选)自己的服务器,本方法使用 Vercel 则不需要购买服务器,免费使用。

二、使用 Vercel 部署

1.简要流程:

  1. 使用仓库页面右上角的 fork 按钮,fork 本项目

  2. 直接使用 Github 账号注册和登录Vercel,在 Vercel 导入 fork 的项目。

  3. 添加环境变量Environmane Variables

  4. 将自定义域名解析到 Vercel 的 domain 中。

  5. 打开自定义域名对应的网址,填入环境变量中的 CODE 字段的密码,开始愉快的使用。

2.具体流程:

2.1 注册GITHUB账户,fork ChatGPT-Next-Web
2.2 获取 OPENAI_API_KEY

请参考文章2023 国内注册 ChatGPT 的方法(100%可用)

2.3 在 Vercel 创建项目

Vercel 的免费额度:每月 100G,对于使用 ChatGPT 聊天的用户完全足够,可能一年都用不到 100G。

当你从 Github fork 本项目之后,需要重新在 Vercel 创建一个全新的 Vercel 项目来重新部署,你需要按照下列步骤进行。

  • 进入 Vercel 控制台首页;

  • 点击 Add New;

  • 选择 Project。

  • 在 Import Git Repository 处,搜索 chatgpt-next-web;

  • 选中新 fork 的项目,点击 Import。

vercel-create-1

2.4 填写环境变量 Environmane Variables

注意每次更改环境变量就要回到 deployments 页面重新部署。

vercel-create-3

  • 在项目配置页,点开 Environmane Variables 开始配置环境变量;
  • 依次新增名为 OPENAI_API_KEYCODE (访问密码) 的环境变量;如果需要多个 CODE 用英文逗号分隔。
  • 填入环境变量对应的值;
  • 点击 Add 确认增加环境变量;
  • 请确保你添加了 OPENAI_API_KEY,否则无法使用;
  • 点击 Deploy,创建完成,耐心等待 5 分钟左右部署完成。
  • 部署完毕后,点击 dashboard 提供的https://XXXXXX.vercel.app/这样的域名,即可开始使用;
2.5 绑定自定义域名

Vercel 分配的域名 DNS 在某些区域被污染了,而且域名非常长,绑定自定义域名即可直连。意味着绑定自己的域名就不需要科学上网了。

(1)购买域名

之前写过如何购买最便宜的域名和免费 DNS 解析,讲了如何购买便宜的域名以及进行域名解析。文章链接《使用 Namesilo 购买最便宜的域名以及 DNS 解析教程》

(2)在 Vercel 添加域名

进入 Vercel 的 settings-Domains,输入你自己的域名,比如chat.mydomain.top,然后添加 Add。

在Vercel添加域名

(3)自定义域名验证

在你的 DNS 服务商添加一个 CNAME 记录,在 name(主机记录或者 hostname)填入chat,在域名填入cname.vercel-dns.com.,注意根据你的需要修改。

如果需要将域名指向另一个域名,再由另一个域名提供 IP 地址,就需要添加 CNAME 记录,最常用到 CNAME 的场景包括做 CDN、做企业邮箱。本文档指导您如何添加 CNAME 记录。

Vercel-自定义域名

CNAME记录

三、如何保持更新

如果你按照上述步骤 fork 了自己的项目,则可以进行以下自动更新的设置:

如果你遇到了 Upstream Sync 执行错误,请手动 Sync Fork 一次!

当你 fork 项目之后,由于 Github 的限制,需要手动去你 fork 后的项目的 Actions 页面启用 Workflows,并启用 Upstream Sync Action,启用之后即可开启每小时定时自动更新:

开启同步步骤1

开启同步步骤2

四、如何更改环境变量

vercel-env-edit

  1. 进去 Vercel 项目内部控制台,点击顶部的 Settings 按钮;
  2. 点击左侧的 Environment Variables;
  3. 点击已有条目的右侧按钮;
  4. 选择 Edit 进行编辑,然后保存即可。

⚠️️ 注意:每次修改完环境变量,你都需要重新部署项目来让改动生效!

五、如何重新部署

vercel-redeploy

  1. 进入 Vercel 项目内部控制台,点击顶部的 Deployments 按钮;
  2. 选择列表最顶部一条的右侧按钮;
  3. 点击 Redeploy 即可重新部署。

六、其他常见问题

如果你还有其他问题,访问原仓库的常见问题都可以找到答案。如果你还需要其他帮助,可以给我发私信或者在我的博客留下评论。


如何低成本拥有一个在国内可以使用ChatGPT聊天机器人
https://blog.renhai.online/archives/1695317259415
作者
Renhai
发布于
2023年09月23日
更新于
2024年06月17日
许可协议