在一个名为大橙子的博主发布的文章里看到的,觉得挺有意思,自己也试着部署了一下。
如果服务器条件允许且拥有openAI的API key可以直接使用自己的key,不满足这些条件可以使用国内的LinkAI平台的key(当然,也不是免费的需要消耗积分,不过注册和每天签到都会送积分,可以白嫖很多!)
先给大家看看效果图(私聊和微信群聊都可以通过关键词触发)
具体部署流程
1、注册一个LinkAI平台的账号
平台链接:去官网注册
2、在控制台中的应用接入中创建一个api key(也就是后面配置文件要用到的LINKAI_API_KEY参数)
3、创建一个应用,获取app code(这个步骤不是必须的)
4、部署(官网提供了四种部署方式)我使用的是Docker方式部署
4.1、下载并且修改docker-compose.yml配置文件
下载
wget https://open-1317903499.cos.ap-guangzhou.myqcloud.com/docker-compose.yml
可按照我的配置进行修改(我用的是linkAI的API,如果用openAI的API参数可以参考官方文档)
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: 'YOUR API KEY'
MODEL: 'gpt-3.5-turbo'
PROXY: ''
SINGLE_CHAT_PREFIX: '["@小助手","@AI小助手", "小助手", "AI小助手"]'
SINGLE_CHAT_REPLY_PREFIX: '"【AI智能回复】 "'
GROUP_CHAT_PREFIX: '["@小助手","@AI小助手", "小助手", "AI小助手"]'
GROUP_NAME_WHITE_LIST: '["ChatGPT测试群", "苟富贵,莫相忘"]'
IMAGE_CREATE_PREFIX: '["画", "看", "找"]'
CONVERSATION_MAX_TOKENS: 1000
SPEECH_RECOGNITION: 'true'
CHARACTER_DESC: '你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。'
EXPIRES_IN_SECONDS: 3600
USE_GLOBAL_PLUGIN_CONFIG: 'True'
USE_LINKAI: 'true'
LINKAI_API_KEY: ''
LINKAI_APP_CODE: ''
重要的参数说明(其他参数可参考官方文档 https://docs.link-ai.tech/cow/quick-start/config)
SINGLE_CHAT_PREFIX # 私聊时文本需要包含该前缀才能触发机器人回复。(如果不需要以前缀触发可以填写 SINGLE_CHAT_PREFIX: [""])
SINGLE_CHAT_REPLY_PREFIX # 私聊时自动回复的前缀,用于区分真人。 (如果不需要前缀可以填写 SINGLE_CHAT_REPLY_PREFIX: "")
GROUP_CHAT_PREFIX # 群聊时包含该前缀则会触发机器人回复
GROUP_NAME_WHITE_LIST # 开启自动回复的群名称列表。 (如果想对所有群聊生效,可以直接填写 GROUP_NAME_WHITE_LIST: ["ALL_GROUP"])
CONVERSATION_MAX_TOKENS # 支持上下文记忆的最多字符数
SPEECH_RECOGNITION # 是否开启私聊的语音识别,(注意由于语音消息无法匹配前缀,一旦开启将对所有语音自动回复,支持语音触发画图);
USE_LINKAI # 是否开启使用linkAI API
LINKAI_API_KEY # 你LinkAI平台的 创建api_key(每一次调用linkAI API都会消耗积分,注意不要泄露)
LINKAI_APP_CODE #你创建的应用code,别人的code也行,不设置code,保持LINKAI_APP_CODE: ''也可以
4.2、拉取镜像、启动容器(拉取镜像有概率失败,大概是网络原因,失败可再去尝试)
在 docker-compose.yml 所在目录下执行以下命令:
sudo docker compose up -d
4.3、查看容器运行日志,扫描日志中的二维码即可完成登录(这里对微信有要求,我试过新申请没实名和开通支付的微信号,会登录失败,官网说要实名开启支付的微信号才行)
sudo docker logs -f chatgpt-on-wechat
5、完结。上面的步骤走完就可以使用啦!
注意! 此时微信在手机端不要退出登录或者切换账号,一但退出桌面端也会跟着退出,就无法触发智能回复了。需要重新运行容器再次扫码才能生效。