我们现在手上已经有了一台安装最新核心Armbian Linux(Debian)、配置好Python 3.9的m401a。下面就让我们按部就班部署Pandora ChatGPT吧。
第三部分 部署Pandora-cloud
- 安装Pandora-cloud
使用以下命令更新一下系统:
sudo apt update sudo apt upgrade -y
pandora基于python3且需要通过pip3安装,所以我们检查系统是否安装有python3和pip3。按照官方wiki提示,python版本要求3.7以上,可以通过python3 --version命令检查安装版本。最新6.1.30内核版本的ophub armbian默认安装python 3.9,没有安装对应的pip3。
sudo python3 --version apt list --installed | grep python sudo apt install python3-venv python3-pip
Pandora的访问方式有命令行和网页两种,对应pypi上不同的py包,分别是pandora-chatgpt和pandora-chatgpt[cloud]。我们希望本地部署后,无论电脑、手机均可同时多人使用,因此选择安装Cloud,可以通过网页访问。非常简单,一共3行命令即可:
sudo pip install pandora-chatgpt sudo pip install pandora-chatgpt[cloud] sudo pandora-cloud
在执行pandora-cloud启动服务的时候,要注意:
A-如无反向代理或前置分流需求,无需安装nginx;
B-建议通过设置"--server IP:80"或“-s IP:80”参数指定监听80端口,而非系统默认的1080,这样通过web访问的时候可以省去指定端口;
好了,我们建议使用以下参数启动服务:
sudo pandora-cloud -s 0.0.0.0:80
Why? Why以及其他参数可以通过Pandora-cloud --help了解。更多部署方式(Web、Docker或者自编译等)、更多信息可移步发布者官方wiki:
- 添加系统服务并自启动
按照上一步骤启动pandora-cloud后,如果我们直接关闭SSH控制台,并不会影响服务的运行。但是,如果我们"手残"按了"Ctrl+C",回到sh控制台交互的同时,也意味着应用的终止,这很显然不符合我们的意愿。
So,我们需要配置一下系统服务。
首先,通过以下命令新建service文件:
sudo touch /etc/systemd/system/pandora-cloud.service
通过vim编辑上述文件并添加以下内容:
[Unit] Description=Pandora ChatGPT Service [Service] Type=simple ExecStart=/usr/local/bin/pandora-cloud --server 0.0.0.0:80 [Install] WantedBy=multi-user.target
如果系统没有默认安装vim,那就apt install vim安装后再编辑。打开文件后,先按Insert键,进入插入模式,编辑完成后按ESC,再输入:wq写入退出。
最后,运行以下3行命令,大功告成...???
sudo systemctl daemon-reload sudo systemctl enable pandora-cloud.service sudo systemctl start pandora-cloud.service
- "补刀"
欢天洗地浏览器输入盒子的ip地址,除了邮箱、密码,还多了个可选的MFA Code,结果是... Access Deny!
因为直连ChatGPT的IP地址在国内,和挂境外VPS不一样,肯定被拒绝,不在OpenAI支持的国家和地区名单中。So,只能采取Access Token方式直连。
按照作者wiki的指示一步步操作即可,先是打开网址 https://ai.fakeopen.com/auth
用你的账号登录OpenAI,无论是否Block,都可以通过Auth helper插件成功获取到Access Token,一般为30天有效期,拷贝并转存成文件。此处要注意,确保插件安装加载正常,我在Chrome里始终显示有错误,转到edge安装即可。
后面分两种情况处理:
A-网页-Cloud模式
浏览器打开页面,点击选择Access Token登陆方式,把获取到的Access Token拷贝粘贴进去再登录即可。Pandora-cloud会自动把Token存到cookies中,同一终端再登录直接进交互/chat页面。
B-命令行-Cli模式
如果采用命令行方式使用ChatGPT,将上面转存的文件SFTP上传到盒子上,修改pandora-cloud.service文件,将"ExecStart=/usr/local/bin/pandora-cloud --server 0.0.0.0:80"修改如下:
ExecStart=/usr/local/bin/pandora --server 0.0.0.0:80 --token_file your_token_file
此处your_token_file为Token文件的绝对路径文件名。
运行以下两条命令,命令行模式配置完成。
sudo systemctl daemon-reload sudo systemctl restart pandora-cloud.service
Tips:
网页模式和命令行模式并不矛盾,可同时运行,要理清三点即可:
-
- 程序不同,命令行是pandora,网页是pandora-cloud
- 参数不同,pandora程序支持指定Token甚至多Token,pandora-cloud不支持
- 端口必须不同,你可以让pandora-cloud监听80端口,pandora监听其他未被占用的端口(如1080端口)
- 一键脚本
知道你懒,一键部署脚本(默认10085端口)在此:
curl -sSL https://raw.githubusercontent.com/evanawn65/appscross/main/install-pandora-cloud.sh && chmod +x install-pandora-cloud.sh && ./install-pandora-cloud.sh
在你装好armbian的盒子上直接执行上述命令前,最好检查下python是否已经安装及版本,虽然脚本会执行检查、安装、升级操作,但不能保证一定适配你的系统。实装来看,都是基于Arm的平台(VPS,TVBox),Ubuntu 20.04 kernel 5.15及Debian 11.7 Kernel 6.1.30都还nice。
至此,在家庭或局域网通过浏览器访问盒子,已经可以无障碍愉快地使用ChatGPT的free服务了,你甚至可以chat出我们下一篇的内容来:如何通过配置IPv6和Cloudflare ddns实现ChatGPT Anywhere。
文章评论