chatgpt接入微信

做好前期准备

  • 一台云服务器
  • 一个chatgpt账号,带有apikey,用于使用api接口
  • github账号 ,用于获取项目
  • 还有就是一颗愿意折腾,好奇的心,打造属于自己私人小助手和小群体的群聊助手伙伴

效果图

服务器选择

由于api接口后期也被墙了,使用境外服务器的话就不需要配置代理,相对方便;

我个人是弄了一台腾讯云,轻量级, CentOS7.6的操作系统 ;新人首次112一年,够用;

chatgpt账号注册

注册的话,用邮箱,用sms接码验证便可注册,这里不具体阐述,会自带5$的api额度

github账号

直接账号注册,做好相关配置,获取机器人项目

项目地址:https://github.com/zhayujie/chatgpt-on-wechat

项目克隆步骤:

1配置ssh key

到服务器输入命令:

ssh-keygen -t rsa -C "xxxx@test.com"  #然后一直回车即可

2 输入以下命令,查看,复制生成的key :

cat ~/.ssh/id_rsa.pub

3将复制的内容放置于github上ssh keys上,保存即可

部署操作步骤

安装相关工具和环境部署

环境要求为python3.9+版本

查看一下服务器是否有下载python和git:

[root@miyi_server ~]# python3 -V
Python 3.9.2
[root@miyi_server ~]# git --version
git version 1.8.3.1

我已经安装,假设你的服务器还没安装的话,则做如下操作,代码和注释已经很清晰,照着来就可以

yum update #更新下yum源
yum install -y git #安装git
cd /home #切换到/home目录下
git clone git@github.com:zhayujie/chatgpt-on-wechat.git #去github仓库克隆项目
yum install -y wget #安装wget,用于从Web服务器上下载python3文件
wget https://www.python.org/ftp/python/3.9.2/Python-3.9.2.tgz #下载文件
tar -xzvf Python-3.9.2.tgz #对文件进行解压
yum install -y gcc # 从这里开始安装相关依赖
yum install -y zlib-devel
yum install openssl-devel
yum install libffi-devel

配置python环境

对python进行相关操作

cd /home/Python-3.9.2 #进入目录
##编译python
./configure
make altinstall
ln -s /usr/local/bin/python3.9 /usr/bin/python3 #加入软链接,指向该目录
yum install -y python3-pip  #安装pip3

##安装相关依赖包
pip3 install itchat-uos==1.5.0.dev0 #安装微信机器人的包
pip3 install --upgrade openai  #对openai 的包进行更新

##假如更新过后python的版本发生了改变,则需要重新设置一下
rm /usr/bin/python3 #删除python3软连接 
ln -s /usr/local/bin/python3.9 /usr/bin/python3 #重新加入软连接
pip3 install --upgrade openai #对openai 的包进行更新

项目配置文件操作

python相关配置完成之后,对项目目录进行设置,配置相关参数

cd ../chatgpt-on-wechat/ #进入项目目录
cp config-template.json config.json #负制一份配置文件

## 使用vim工具进行编辑,假设你服务器没有,只需要
yum install -y vim
vim config.json #打开配置文件

以下配置文件的内容参数解析,根据我的注释做个人设置即可

{
  "open_ai_api_key": "此处输入你自己的apikey",
  "model": "gpt-3.5-turbo",
  "proxy": "http://127.0.0.1:7890", #这便是需要配置代理的情况,假设你是境外服务器,则没有这个
  "single_chat_prefix": [
    "dan" #此处为私人聊天的触发词选项,我设置为dan,私人聊天便会按照这个触发词来决定是否由bot回答
  ],
  "single_chat_reply_prefix": "",
  "group_chat_prefix": [
    "@dan"  #群聊触发 为@dan
  ],
  "group_name_white_list": [
    "ALL_GROUP"  #设置所有群都开启bot功能
  ],
  "group_chat_in_one_session": [
    "ChatGPT测试群" 
  ],
  "image_create_prefix": [
    "画",
    "看",
    "找" #此为图片触发词
  ],
  "speech_recognition": true,  #是否打开语音识别,针对私聊
  "group_speech_recognition": false,  #是否打开语音识别,针对群聊
  "voice_reply_voice": false, #是否开启语音回复
  "conversation_max_tokens": 10000, #回复token的限制长度
  "expires_in_seconds": 3600, #响应时间
  "character_desc": "你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。",
  "subscribe_msg": "感谢您的关注!\n这里是ChatGPT,可以自由对话。\n支持语音对话。\n支持图片输入。\n支持图片输出,画字开头的消息将按要求创作图片。\n支持tool、角色扮演和文字冒险等丰富的插件。\n输入{trigger_prefix}#help 查看详细指令。"
}

配置完成 按ESC 输入 :wq 便可以保存退出

安装运行相关的python3库

pip3 install chatgpt_tool_hub
pip3 install qrcode
pip3 install pyqrcode
python3 app.py #运行app.py,便会出现二维码,扫码登录即可使用机器人

让bot永不间断地回复

服务是用终端进行连接的,终端进程会随着终端的关闭同时关闭,这时候即使服务器24小时开着,bot也会随着终端的关闭而停止,这时候需要想个法子让它在后台一直运行

面对这个问题,采用linux下的 nohup工具便可解决

touch nohup.out #先创建一个nohup.out
nohup python3 app.py & tail -f nohup.out #让应用程序以后台方式运行,并将输出日志重定向到nohup.out文件中,同时使用tail -f命令来实时监控nohup.out文件的内容变化;

# 当需要关闭后台时候
ps -ef | grep app.py #查看进程
kill -9 进程号

到此,整个操作就完成了,可以实现微信机器人的功能了

服务器代理设置

上面提到,用国内服务器的,需要配置相关的代理服务,在这篇里不做阐述; 大体的实现是在服务器上配置代理,方式有很多种,个人使用的是clash for linux,同样需要配置后台运行,这时候使用的则是配置systemd服务了,相对方便;配置代理文件等

综上,直接使用不需要配置代理的服务器会方便很多,只需按我上面提到的操作即可。


   转载规则


《chatgpt接入微信》 Bevis23 采用 知识共享署名 4.0 国际许可协议 进行许可。
  目录
切换