介绍

gpt4free 是GitHub上的一个开源项目。根据该项目的描述,它是一个基于gpt-3.5-turbo模型的开源实现,旨在提供免费的GPT-3样式的自然语言处理能力。该项目的目标是让开发者能够使用GPT-3模型进行自然语言处理任务,而无需支付高昂的费用。它提供了一个简单的API,可以用于生成文本、回答问题、完成翻译等任务。

创建虚拟机

方式一:本地虚拟机环境使用 VMware Workstation 加上 Ubuntu 20.04 LTS 进行搭建。详见文章 AI应用 ChatGPT Next Web 第2章 二次开发环境搭建

方式二:您也可以直接使用公有云平台创建虚拟机更加便捷。创建虚拟机时选择配置:轻量 2核4G5M 操作系统Ubuntu 20.04 。如果您是 腾讯云新用户,注册后可免费测试1个月(每天早上9点限量申请)。

上面两种方式可以根据自己实际需求选择。下面以方式二为例。

步骤1:登录 腾讯云控制台 —— 我的资源 —— 轻量应用服务器

步骤2:点击 登录 —— 新建配置连接 —— 选择 密码验证

步骤3:选择 重置密码 —— 输入 新密码

步骤4: 再次点击 登录 —— 选择 密码登录 —— 输入密码 —— 登录

登录成功界面

安装Python环境

由于 gpt4free 项目是采用Python语言开发的,所以先安装Python环境。

步骤1: 登录虚拟机

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#切换到root用户
ubuntu@VM-28-11-ubuntu:~$ sudo -i
root@VM-28-11-ubuntu:~#

#查看python版本
root@VM-28-11-ubuntu:/opt# python -V
Python 3.8.10
root@VM-28-11-ubuntu:~# pip -V
pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)
#上面表示Ubuntu 20.04 默认已安装Python 3.8.10 和pip工具

#安装python插件venv
root@VM-28-11-ubuntu:/opt/gpt4free-main# apt install python3.8-venv -y

#进入/opt目录
root@VM-28-11-ubuntu:~# cd /opt

#clone项目代码
root@VM-28-11-ubuntu:/opt# git clone https://github.com/xtekky/gpt4free.git
Cloning into 'gpt4free'...
fatal: unable to access 'https://github.com/xtekky/gpt4free.git/': GnuTLS recv error (-110): The TLS connection was non-properly terminated.
#上面表示clone失败

手动下载项目代码,然后上传到虚拟机

步骤2:上面看到直接clone项目代码失败,安装 MobaXterm 工具,MobaXterm下载地址 ,使用SSH连接到虚拟机

步骤3:[点击这里] 下载gpt4free项目代码。通过MobaXterm工具拖动下载好的 gpt4free-main.zip 包上传到虚拟机目录

步骤4: 解压代码到/opt目录下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#切换到root用户
ubuntu@VM-28-11-ubuntu:~$ sudo -i
root@VM-28-11-ubuntu:~#

#将上传的pt4free-main.zip移动到/opt目录
root@VM-28-11-ubuntu:~# mv /home/ubuntu/gpt4free-main.zip /opt
root@VM-28-11-ubuntu:~# cd /opt
root@VM-28-11-ubuntu:/opt# ls
gpt4free-main.zip

#解压
root@VM-28-11-ubuntu:/opt# unzip gpt4free-main.zip
root@VM-28-11-ubuntu:/opt# ls
gpt4free-main gpt4free-main.zip

安装部署gpt4free

登录虚拟机,安装gpt4free项目python包依赖。

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
#切换到root用户
ubuntu@VM-28-11-ubuntu:~$ sudo -i
root@VM-28-11-ubuntu:~#

#切换到gpt4free项目下
root@VM-28-11-ubuntu:~# cd /opt/gpt4free-main/

#创建并激活虚拟环境
root@VM-28-11-ubuntu:/opt/gpt4free-main# python3 -m venv venv
root@VM-28-11-ubuntu:/opt/gpt4free-main# source venv/bin/activate

#安装项目python包依赖
(venv) root@VM-28-11-ubuntu:/opt/gpt4free-main# pip install -r requirements.txt

#下面报错请忽略
Building wheels for collected packages: pypasser, names, twocaptcha, streamlit-chat, PyExecJS, validators, pyperclip
Building wheel for pypasser (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /opt/gpt4free-main/venv/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-_t7ekamp/pypasser/setup.py'"'"'; __file__='"'"'/tmp/pip-install-_t7ekamp/pypasser/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-_u34140k
cwd: /tmp/pip-install-_t7ekamp/pypasser/
Complete output (6 lines):
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help

error: invalid command 'bdist_wheel'
----------------------------------------
ERROR: Failed building wheel for pypasser
#略...
Failed to build pypasser names twocaptcha streamlit-chat PyExecJS validators pyperclip

#约15分钟后,看到下面信息表示安装成功
Successfully installed ...

测试gpt4free项目

登录虚拟机,测试gpt4free项目是否可用。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#在/opt/gpt4free-main目录下,编写test.py文件
(venv) root@VM-28-11-ubuntu:/opt/gpt4free-main# vim test.py

#test.py文件内容如下:
import g4f

#使用g4f.Provider.Forefront这个Provider,发送Hello world
response = g4f.ChatCompletion.create(
model='gpt-3.5-turbo',
provider=g4f.Provider.Yqcloud,
messages=[{"role": "user", "content": "Hello world"}],
stream=False
)

#打印ChatGPT的回复
print(response)


#执行test.py文件
(venv) root@VM-28-11-ubuntu:/opt/gpt4free-main# python test.py
Using g4f.Provider.Providers.Yqcloud provider
Hello! How can I assist you today?
#上面表示ChatGPT成功返回

gpt4free项目支持以下Provider,可按需修改 provider=g4f.Provider.Yqcloud

Website Provider gpt-3.5 gpt-4 Streaming Status Auth
bing.com g4f.Provider.Bing ✔️ ✔️ ✔️ Active
super.lockchat.app g4f.Provider.Lockchat ✔️ ✔️ ✔️ Active
liaobots.com g4f.Provider.Liaobots ✔️ ✔️ ✔️ Active ✔️
ai.ls g4f.Provider.Ails ✔️ ✔️ Active
you.com g4f.Provider.You ✔️ ✔️ Active
chat9.yqcloud.top g4f.Provider.Yqcloud ✔️ ✔️ Active
theb.ai g4f.Provider.Theb ✔️ ✔️ Active
play.vercel.ai g4f.Provider.Vercel ✔️ ✔️ Inactive
forefront.com g4f.Provider.Forefront ✔️ ✔️ Active
deepai.org g4f.Provider.DeepAi ✔️ ✔️ Active
chat.getgpt.world g4f.Provider.GetGpt ✔️ ✔️ Active
chatgptlogin.ac g4f.Provider.ChatgptLogin ✔️ Active
chat-gpt.org g4f.Provider.Aichat ✔️ Active

小结

经过上面的步骤,gpt4free项目已成功部署到公有云虚拟机上。但由于 网络限制,经测试上述Provider 基本上无法使用。下一章尝试将gpt4free项目部署到 PythonAnywhere 上进行测试。