利用雲伺服器搭建自己的微信聊天機器人

junlin623發表於2024-04-25

本次部署使用的是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 是不起作用的。

相關文章