免费使用ChatGPT
解决的痛点
- 对于普通用户:在国内使用ChatGPT经常遇到不稳定的情况,或者是和别人共用plus账户容易因为IP不同而导致封号,而且每次使用都需要魔法上网。
- 对于开发人员:OpenAI已经禁止了国内用户调用chatgpt的API,导致无法使用API来开发自己的AI应用了。本教程逆向了它的web API,不仅可以调用API而且还是免费的。
前提
- 有一个可以登录的chatGpt账号(可以自己注册,或者点击购买)
- 会魔法上网(国外服务器不需要;不会的评论区多问问)
1.准备一台云服务器(国内国外都可)
TIP
如果没有云服务器,在自己电脑上面跑也是可以的,就是每次使用都要在本地启动服务,稍微麻烦一点点
2.安装python环境
2.1 .在 云服务器(以Ubuntu 为例)上安装 Python(一般情况下服务器自带python,没有的话再安装,需要python --version
验证一下自带版本号要大于3.5)
- 更新系统包列表
sudo apt update
- 安装 Python
sudo apt install python3
- 验证安装
python3 --version
- 安装 pip(Python 包管理器)
sudo apt install python3-pip
- 验证 pip 安装
pip3 --version
2.2.在 Windows 上安装 Python
- 下载 Python 安装包
访问 Python 官方下载页面 以下载适合你操作系统的 Python 安装包。
- 运行安装程序
运行下载的安装程序,建议选中“Add Python to PATH”选项,然后点击“Install Now”开始安装。
- 验证安装
安装完成后,打开命令提示符(Cmd)或 PowerShell,运行以下命令来检查 Python 版本:
python --version
- 安装 pip(通常随 Python 一起安装)
验证 pip 是否安装:
pip --version
参考链接
3.安装git
3.1.在 Ubuntu 上安装 Git(一般情况下服务器自带git,没有的话再安装)
3.1.1. 更新系统包列表
sudo apt update
3.1.2. 安装 Git
sudo apt install git
3.1.3. 验证安装
git --version
- 配置 Git(可选)
设置你的用户名和电子邮件地址:
git config --global user.name "你的名字"
git config --global user.email "你的邮箱@example.com"
3.2.在 Windows 上安装 Git
3.2.1. 下载 Git 安装包
访问 Git 官方下载页面 以下载适合你操作系统的 Git 安装包。
3.2.2. 运行安装程序
运行下载的安装程序,按照安装向导完成安装。建议保持默认设置,尤其是“Git from the command line and also from 3rd-party software”选项。
3.2.3. 验证安装
安装完成后,打开命令提示符(Cmd)或 PowerShell,运行以下命令来检查 Git 版本:
git --version
3.2.4. 配置 Git(可选)
设置你的用户名和电子邮件地址:
git config --global user.name "你的名字"
git config --global user.email "你的邮箱@example.com"
参考链接
4.部署chat2api
git clone https://github.com/LanQian528/chat2api
cd chat2api
# 因为原项目的requirements少了个包
echo APScheduler >>> requirements.txt
pip install -r requirements.txt
# 设置代理(国外服务器省略这步)
export HTTP_PROXY="http://localhost:7890"
export HTTPS_PROXY="http://localhost:7890"
# 进程挂起
nohup uvicorn chat2api:app --host 0.0.0.0 --port 5005 > uvicorn.log 2>&1 &
# 本地启动用这个
# python app.py
5.安装clash(国外的服务器省略这步)
5.1.下载项目
git clone https://github.com/wanhebin/clash-for-linux.git
5.2.进入到项目目录,编辑.env文件,修改变量CLASH_URL的值和CLASH_SECRET。
CLASH_URL
就是clash的订阅码,如果Clash订阅地址不可访问,请切换通用订阅码
CLASH_SECRET
就是webui设置设置页面的登录密码(口令)
cd clash-for-linux
vim .env
5.3.之后访问http://xxxx:9090/ui设置节点(不要使用香港的节点)
TIP
关于clash-for-linux的更多信息可移步https://github.com/wnlen/clash-for-linux
6.使用方式
6.1.直接web页面使用,访问 http://ip:port (注意web使用方式只支持免登录模式,推荐在edge浏览器中使用)
6.2.作为API使用
TIP
AccessToken
获取: chatgpt官网登录后,再打开 https://chatgpt.com/api/auth/session 获取 accessToken
这个值
RefreshToken
获取方式自行搜索
import requests
domain = 'http://ip:port'
url = f'{domain}/backend-anon/conversations'
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer AccessToken/RefreshToken'
}
data = {
"model": "gpt-4o-mini",
"messages": [
{"role": "user", "content": "写一个笑话"}
],
"stream": False,
}
response = requests.post(url, headers=headers, json=data)
# 如果使用流模式,你需要逐步读取响应
if data.get("stream", False):
for line in response.iter_lines():
if line:
print(line.decode('utf-8'))
else:
print(response)
print("--------")
print(response.json()["choices"][0]['message']["content"])
6.3.接入chatbox使用
6.3.1. 下载chatbox客户端,不想下载也可以直接使用网页版本
6.3.2.配置
之后就能使用了