如何低成本拥有一个在国内可以使用ChatGPT聊天机器人
如果你觉得本页面提供的方法需要 API Key,免费额度只有 5 美元,如果你需要长期使用,又不能办信用卡,~~推荐新方法:该方法不需要使用 API Key,如何部署的见这篇文章:不用科学上网就能使用 ChatGPT 的最新方法,还能共享 Plus 账号。~~该方法作者已停更。
如果从注册 Github 开始部署,大概需要 30 分钟。对于懂网站的程序员大佬大概需要 1 分钟即可部署。
搭建好之后的效果:
通常我们使用ChatGPT
需要科学上网,而且不能是香港等亚洲的节点,要求很高。之前我一直用的官方网页,也尝试用反向代理版本的ChatGPT Desktop Application(下图):
随着使用频率的增加,每次问答都要科学上网也非常不方便。
我就在思考,能不能有国内访问ChatGPT
的方式呢?
经过查询,网上有很多套壳的国内ChatGPT
网站,可以不需要科学上网,但是难免有数据泄露的风险,而且,这些网站大多都不是免费的,需要充值。说不定哪天网站跑路了或者被封了,又是一笔损失。
今天介绍一个免费部署的私人 ChatGPT
应用,叫ChatGPT-Next-Web,在 GITHUB 已经有 4 万多个收藏了,可以点击演示 Demo体验:
实现了如下的功能:
- 只需在 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 美元的额度还没有用完,手机和电脑都能用,完全满足我的需求。
接下来介绍如何使用:
一、准备工作
-
能科学上网,推荐iplc:
-
注册一个 GITHUB 账户。
-
准备好你的 OpenAI API Key(这一步需要非中国大陆、港澳的科学上网环境)。如果你觉得注册 API 麻烦,可以使用不需要 api 的方法,如何部署的见这篇文章:不用科学上网就能使用 ChatGPT 的最新方法,还能共享 Plus 账号。
-
(可选)一个自己的域名,国内访问必备。
-
(可选)自己的服务器,本方法使用 Vercel 则不需要购买服务器,免费使用。
二、使用 Vercel 部署
1.简要流程:
-
直接使用 Github 账号注册和登录Vercel,在 Vercel 导入 fork 的项目。
-
添加环境变量Environmane Variables
-
将自定义域名解析到 Vercel 的 domain 中。
-
打开自定义域名对应的网址,填入环境变量中的 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。
2.4 填写环境变量 Environmane Variables
注意每次更改环境变量就要回到 deployments 页面重新部署。
- 在项目配置页,点开 Environmane Variables 开始配置环境变量;
- 依次新增名为 OPENAI_API_KEY 和 CODE (访问密码) 的环境变量;如果需要多个 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。
(3)自定义域名验证
在你的 DNS 服务商添加一个 CNAME 记录,在 name(主机记录或者 hostname)填入chat
,在域名填入cname.vercel-dns.com.
,注意根据你的需要修改。
如果需要将域名指向另一个域名,再由另一个域名提供 IP 地址,就需要添加 CNAME 记录,最常用到 CNAME 的场景包括做 CDN、做企业邮箱。本文档指导您如何添加 CNAME 记录。
三、如何保持更新
如果你按照上述步骤 fork 了自己的项目,则可以进行以下自动更新的设置:
如果你遇到了 Upstream Sync 执行错误,请手动 Sync Fork 一次!
当你 fork 项目之后,由于 Github 的限制,需要手动去你 fork 后的项目的 Actions 页面启用 Workflows,并启用 Upstream Sync Action,启用之后即可开启每小时定时自动更新:
四、如何更改环境变量
- 进去 Vercel 项目内部控制台,点击顶部的 Settings 按钮;
- 点击左侧的 Environment Variables;
- 点击已有条目的右侧按钮;
- 选择 Edit 进行编辑,然后保存即可。
⚠️️ 注意:每次修改完环境变量,你都需要重新部署项目来让改动生效!
五、如何重新部署
- 进入 Vercel 项目内部控制台,点击顶部的 Deployments 按钮;
- 选择列表最顶部一条的右侧按钮;
- 点击 Redeploy 即可重新部署。
六、其他常见问题
如果你还有其他问题,访问原仓库的常见问题都可以找到答案。如果你还需要其他帮助,可以给我发私信或者在我的博客留下评论。