简单几步利用云服务器搭建自己的微信聊天机器人

本次部署使用的是LinkAI提供的接口,不需要魔法

选择比较简单的docker部署,其他的部署方式可以参考官方文档:https://docs.link-ai.tech/cow/quick-start

0、前置

租一台云服务器,因为是调用的其他平台的大模型api,所以配置不用太高

注册一个微信小号,当前新的微信版本都支持当前手机号辅助注册的,注册完成后需要实名认证一下!!!,否则会报错,后面会说

注册并登陆LinkAI平台(https://link-ai.tech/portal),在应用接入里创建一个API Key并复制:

新用户可以获取600的积分

创建AI应用:

点击左侧的应用,然后右侧点击创建应用

点击复制code,后面会用

可在右侧对该应用进行测试:

1、 配置 docker-compose.yml

执行以下命令下载 docker-compose.yml:

wget https://open-1317903499.cos.ap-guangzhou.myqcloud.com/docker-compose.yml

编辑docker-compose.yml文件,我主要是改动了:

SINGLE_CHAT_PREFIX: '[""]'   表示不需要任何前缀词即可触发bot
LINKAI_API_KEY: '<API Key>'  这个是前文获取的API Key
LINKAI_APP_CODE: '<code>'    这个是前文创建的ai应用的code
...
USE_LINKAI: 'True'           因为默认是使用openai的接口,需要魔法,所以这里改用linkai的接口

具体的配置可以参考文档:配置说明

我的docker-compose.yml文件如下,需要将LINKAI_API_KEY和LINKAI_APP_CODE替换成你自己的

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: ''
      MODEL: 'gpt-3.5-turbo'
      PROXY: ''
      SINGLE_CHAT_PREFIX: '[""]'
      SINGLE_CHAT_REPLY_PREFIX: '"[bot] "'
      GROUP_CHAT_PREFIX: '["@bot"]'
      GROUP_NAME_WHITE_LIST: '["ChatGPT测试群", "ChatGPT测试群2"]'
      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: 'True'
      LINKAI_API_KEY: '<换成你的API Key>'
      LINKAI_APP_CODE: '<换成AI应用的>'                             

2、启动容器

docker-compose.yml 所在目录下执行以下命令启动容器:

sudo docker compose up -d  # -d参数表示后台启动

运行以下命令可查看容器运行日志,扫描日志中的二维码完成登录:

sudo docker logs -f chatgpt-on-wechat

PS:如果扫描之后出现这种报错:[ERROR][wechat_channel.py:135] - 'wxsid',说明微信号没有实名认证,去实名认证一下然后关闭服务再启动服务即可

出现Start auto replying表示运行成功

3、停止服务

Ctrl + C退出日志查看窗口,执行以下命令可以关闭服务:

sudo docker compose down

注意:如果修改了 docker-compose.yml 中的配置,需要关闭容器后再重新启动才能生效,只执行 docker restart 是不起作用的。

posted @ 2024-04-25 21:32  junlin623  阅读(788)  评论(0编辑  收藏  举报