赞
踩
原文来自我的个人博客,欢迎访问~:
在2023年,Chat GPT成为了热门话题,许多人都想要拥有一个属于自己的聊天机器人。本文将手把手教大家搭建自己的聊天机器人,支持微信、企业微信、公众号、飞书接入,支持群聊。
本项目为 Github 开源项目 chatgpt-on-wechat ,目前将近20k stars!
效果如下图所示:
项目文档的部署方式有四种:Docker部署、本地运行、源码部署、RailWay 部署。
本文选择使用 Docker 进行部署,并接入个人微信,非常简单。
本文不涉及企微、公众号等接入,需要的话可以看官方的文档
部署一个聊天机器人需要准备:
一台服务器
openai API Key
一个实名过的微信小号(最好是小号,因为想要一个微信号成为机器人,相当于一直在电脑端登录着,自己就不能再使用电脑登陆,否则运行在 chatgpt-on-wechat 上的微信号会被挤下去)
如果有旧版本 Docker,想重新安装,需要先卸载
- sudo yum remove docker \
- docker-client \
- docker-client-latest \
- docker-common \
- docker-latest \
- docker-latest-logrotate \
- docker-logrotate \
- docker-engine
安装相关依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
添加 Docker 软件源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
国内服务器可以使用阿里镜像源:
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装 Docker
sudo yum install -y docker-ce
启动 Docker 服务
sudo systemctl start docker
设置开启自动启动 Docker 服务
sudo systemctl enable docker
测试是否安装成功,安装成功会显示详细信息
docker version
执行以下命令下载 Docker Compose 的二进制文件:
sudo curl -SL https://github.com/docker/compose/releases/download/v2.23.3/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
添加执行权限
sudo chmod +x /usr/local/bin/docker-compose
测试是否安装成功
docker-compose --version
- # 创建目录,路径按需修改
- mkdir -p /opt/chatgpt-on-wechat
- cd /opt/chatgpt-on-wechat/
-
- # 下载 docker-compose.yml 文件
- wget https://open-1317903499.cos.ap-guangzhou.myqcloud.com/docker-compose.yml
具体配置项说明可以参考项目文档:LinkAI
这里提供我自己的 yml 文件供大家参考。
- version: '2.0'
- services:
- chatgpt-on-wechat:
- image: zhayujie/chatgpt-on-wechat
- container_name: chatgpt-on-wechat
- security_opt:
- - seccomp:unconfined
- environment:
- OPEN_AI_API_KEY: 'sk-xxxxxxxxxxxxxxxxxxxxxxxxx' # 按需修改API Key
- OPEN_AI_API_BASE: 'https://api.openai.com/v1' # 按需修改URL
- MODEL: 'gpt-3.5-turbo'
- PROXY: ''
- SINGLE_CHAT_PREFIX: '["bot", "@bot"]'
- SINGLE_CHAT_REPLY_PREFIX: '"[bot] "'
- GROUP_CHAT_PREFIX: '["@bot"]'
- GROUP_NAME_WHITE_LIST: '["ALL_GROUP"]'
- IMAGE_CREATE_PREFIX: '["画", "看", "找"]'
- CONVERSATION_MAX_TOKENS: 1000
- SPEECH_RECOGNITION: 'False'
- CHARACTER_DESC: '你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。'
- EXPIRES_IN_SECONDS: 3600
- USE_GLOBAL_PLUGIN_CONFIG: 'True'
- USE_LINKAI: 'False'
- LINKAI_API_KEY: ''
- LINKAI_APP_CODE: ''
部分配置说明:
OPEN_AI_API_KEY
:填入自己的 openai API Key
OPEN_AI_API_BASE
是 https://api.openai.com/v1
的话需要保证服务器能科学上网,否则应该使用中转接口。
SINGLE_CHAT_PREFIX
:私聊机器人时,唤醒机器人的前缀。也就是说,需要使用 bot 你是谁?
或 @bot 你是谁
,才会触发机器人回复。
SINGLE_CHAT_REPLY_PREFIX
:机器人私聊回复的前缀。机器人的回复会加上 [bot]
前缀,与真人区分开。
GROUP_NAME_WHITE_LIST
:群聊白名单,在白名单中的群,才会触发机器人。如果是所有群聊都可以,则使用 ["ALL_GROUP"]
,否则应该是:["群名称1", "群名称2"]
目前我主要修改的配置就这些,其余配置按需修改,可以参考文档。
执行以下命令,启动容器:
- cd /opt/chatgpt-on-webchat/
-
- docker-compose up -d
查看日志:
docker-compose logs -f
日志中会出现二维码,使用准备好的微信小号扫码登陆。
小号需要实名认证,否则登录会报错
出现 Start auto replying
即代表部署完成,可以发送消息测试。
我部署完成后遇到一个问题:
登录的时候,手机先登录上微信小号,然后扫描日志中的二维码登录(相当于chatgpt-on-wechat是电脑端),微信号在 chatgpt-on-wechat 登录上之后,我手机上小号肯定是会退出的,因为这不是我的常用号。
但是手机一退出小号微信,chatgpt-on-wechat 上的也会被自动退出 (微信这个机制就很奇葩),如何保证手机退出微信后,chatgpt-on-wechat 上的微信不会退出呢?
解决方法也很简单,就是在手机退出登录的时候,先把 WIFI 和 数据流量 都关闭,在无网络的环境下,点击退出登录,等系统转圈,一会就会退出成功,但此时 chatgpt-on-wechat 上登录的微信是不会被自动退出的。
很简单,因为登录在 chatgpt-on-wechat 上的微信,等同于登录在电脑端。 如果你的个人微信,想作为机器人,那么就需要登录在 chatgpt-on-wechat 上。如果你又需要使用电脑微信的时候,chatgpt-on-wechat 上的微信肯定会被挤下去呀!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。