基于Wechaty+Docker打造一个ChatGPT机器人
所需资源
- 云服务器(国外)我的配置:腾讯香港轻量云 2H 2G 30M
- Docker
- Github地址:https://github.com/fuergaosi233/wechat-chatgpt
- 文章来自:与时团队-小染,以及我的部分修改,我的博客
你也可以选择不适用Docker
搭建,这是官方的中文文档地址:https://github.com/fuergaosi233/wechat-chatgpt/blob/main/README_ZH.md
不可用问题
没错,最近你会发现很多机器人和插件啥的不可用了,原文OpenAi
对ChatGPT
增加了CloudFlare
的CDN
,它存在一个防止并验证人机交互的页面,CloudFlareV2
的验证貌似很难,先前在QQ机器人上,可以实现绕过,但是成功率很低,所以还没有完美解决方法。
使用官方GPT3接口
小简也看到Github
有部分小项目使用官方的GPT3
的API
,官方目前开放三个API
,一个是AI绘图,其余两个GPT2
和GPT3
,不过完全没有ChatGPT
智慧,所以我也就不推荐了,有兴趣的话去官网试试。
首先注册以及登陆OpenAI
注册方式请参考上篇文章 如何快速注册OpenAi账号,如何注册使用ChatGPT人工智能
安装环境
购买云服务器就不做过多介绍了哈
安装docker
Docker的自动化安装
Docker官方和国内daocloud都提供了一键安装的脚本,使得Docker的安装更加便捷。
官方的一键安装方式:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
国内 daocloud一键安装命令:
curl -sSL https://get.daocloud.io/docker | sh
执行上述任一条命令,耐心等待即可完成Docker的安装。
Docker手动安装
手动安装Docker分三步:卸载、设置仓库、安装。
卸载Docker(可选)
第一步,卸载历史版本。这一步是可选的,如果之前安装过旧版本的Docker,可以使用如下命令进行卸载:
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce
设置源仓库
第二步,设置仓库。新主机上首次安装Docker Engine-Community之前,需要设置Docker仓库。此后可从仓库安装和更新Docker。
在设置仓库之前,需先按照所需的软件包。yum-utils提供了yum-config-manager,并且device mapper存储驱动程序需要device-mapper-persistent-data和lvm2。
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
执行上述命令,安装完毕即可进行仓库的设置。使用官方源地址设置命令如下:
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
通常,官方的源地址比较慢,可将上述的源地址替换为国内比较快的地址:
- 阿里云:http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 清华大学源:https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
仓库设置完毕,即可进行Docker的安装。
Docker安装
执行一下命令,安装最新版本的 Docker Engine-Community 和 containerd。
sudo yum install -y docker-ce docker-ce-cli containerd.io
docker-ce为社区免费版本。稍等片刻,docker即可安装成功。但安装完成之后的默认是未启动的,需要进行启动操作。
如果不需要docker-ce-cli或containerd.io可直接执行如下命令:
yum install -y docker-ce
至此,完成Docker安装。
Docker启动
启动Docker的命令:
sudo systemctl start docker
通过运行hello-world镜像来验证是否正确安装了Docker Engine-Community。
// 拉取镜像
sudo docker pull hello-world
// 执行hello-world
sudo docker run hello-world
如果执行之后,控制台显示如下信息,则说明Docker安装和启动成功:
[root@iZ8vb8pfb2awsz4qy7vm7qZ ~]# docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
……
除了启动Docker,一些其他启动相关的命令:
-
守护进程重启:systemctl daemon-reload
-
重启Docker服务:systemctl restart docker / service docker restart
-
关闭Docker服务:docker service docker stop / docker systemctl stop docker
-
删除Docker
删除安装包:
yum remove docker-ce
删除镜像、容器、配置文件等内容:
rm -rf /var/lib/docker
Docker其他常见命令
安装完成Docker之后,这里汇总列一下常见的Docker操作命令:
- 搜索仓库镜像:docker search 镜像名
- 拉取镜像:docker pull 镜像名
- 查看正在运行的容器:docker ps
- 查看所有容器:docker ps -a
- 删除容器:docker rm container_id
- 查看镜像:docker images
- 删除镜像:docker rmi image_id
- 启动(停止的)容器:docker start 容器ID
- 停止容器:docker stop 容器ID
- 重启容器:docker restart 容器ID
- 启动(新)容器:docker run -it ubuntu /bin/bash
- 进入容器:
docker attach 容器ID
或docker exec -it 容器ID /bin/bash
,推荐使用后者。
更多的命令可以通过docker help
命令来查看
开始安装Wechat-Chatgpt
- 首先在你的服务器内新建一个bot文件夹,然后新建一个config.yaml文件
- 然后编辑config.yaml文件,填入一下代码,先保存
chatGPTAccountPool:
- session_token:
- 打开ChatGPT首页 安装F12键 依次点击图中步骤 复制对应内容
- 打开config.yaml文件,将复制内容填写到图中位置 保存
- 拉取镜像
docker run -d --name wechat-chatgpt -v $(pwd)/config.yaml:/app/config.yaml holegots/wechat-chatgpt:latest
- 运行容器
docker logs -f wechat-chatgpt
如果没有报错的话,就会出现一个二维码,用需要当机器人的微信扫码登录
到此教程结束,如果有问题可以留言评论哦~
- 展示图片