将chatgpt对接到微信等聊天工具的方法

image
建立此项目,你需要拥有一个国外的VPS

首先我们需要用到以下两个项目:

1.在线安装 – 1Panel 文档

2.GitHub – zhayujie/chatgpt-on-wechat: 基于大模型搭建的聊天机器人,同时支持 微信公众号、企业微信应用、飞书、钉钉 等接入,可选择GPT3.5/GPT-4o/GPT4.0/ Claude/文心一言/讯飞星火/通义千问/ Gemini/GLM-4/Claude/Kimi/LinkAI,能处理文本、语音和图片,访问操作系统和互联网,支持基于自有知识库进行定制企业智能客服。

1是服务器管理面板,方便我们管理docker

2是开源的程序,可以实现对接微信等聊天软件

下面我们开始第一步,搭建1panel面板:

以debian系统为例,登陆你的VPS后输入以下指令:

curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh

全部点击回车,会自动进行安装,安装结束会显示面板登陆链接和账号及密码,记得保存到电脑记事本。

第二步,登陆1panel面板,点击左侧的主机-文件,进入root目录,新建一个文件,取名为

docker-compose.yml

第三步,打开刚创建的文件,将以下代码粘贴进去:

version: '2.0'
services:
  chatgpt-on-wechat:
    image: zhayujie/chatgpt-on-wechat
    container_name: chatgpt-on-wechat
    security_opt:
      - seccomp:unconfined
    volumes:
      #- ./mod/lib/python3.10/site-packages:/usr/local/lib/python3.10/site-packages
      #- ./config.json:/app/config.json
      #- /etc/localtime:/etc/localtime:ro
      #- ./plugins:/app/plugins
      - ./config.json:/app/plugins/config.json
    environment:
      OPEN_AI_API_KEY: 'fastgpt-z51pkjqm9nrk03a1rx2funoy'
      OPEN_AI_API_BASE: 'https://api.fastgpt.in/api/v1'
      MODEL: 'gpt-3.5-turbo'
      CHANNEL_TYPE: 'wx'
      PROXY: ''
      HOT_RELOAD: 'False'
      SINGLE_CHAT_PREFIX: '[""]'
      SINGLE_CHAT_REPLY_PREFIX: '""'
      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训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。'
      SUBSCRIBE_MSG: '感谢您的关注!\n这里是ChatGPT,可以自由对话。\n支持语音对话。\n支持图片输入。\n支持图片输出,画字开头的消息将按要求创作图片。\n支持tool、角色扮演和文字冒险等丰富的插件。\n输入{trigger_prefix}#help 查看详细指令。'
      EXPIRES_IN_SECONDS: 3600
      USE_GLOBAL_PLUGIN_CONFIG: 'True'
      USE_LINKAI: 'False'
      LINKAI_API_KEY: ''
      LINKAI_APP_CODE: ''

第四步,修改 OPEN_AI_API_KEY 和 OPEN_AI_API_BASE 两个环境变量即可。第一个变量是第三方平台创建的api,第二个变量是第三方平台提供的代理地址,格式类似:https://***.com/v1/chat/completions

第五步,依次运行命令启动:

docker-compose pull
docker-compose up -d

第六步,运行命令,实现微信登陆

sudo docker logs -f chatgpt-on-wechat

此时,会出现微信二维码,将所有的http链接复制,然后粘贴到浏览器中打开,随后打开微信扫描二维码登陆。

私信发送 bot问题 会收到回复。

使用第三方API,可能会出现回复ERROR的情况,解决办法:
修改bot/chatgpt/chat_gpt_bot.py的87、88、89行,让它tokens为0时不报错就好了。

如图所示:严格按照图示操作:

image
其实就是将87、88、89用#号注释掉,然后在下面新添加一行

if reply_content["completion_tokens"] >=0:

额外设置:

查看当前时间设置:

date

修改服务器时间为东八区上海:

sudo timedatectl set-timezone Asia/Shanghai

服务器时间自动同步校准:

sudo apt-get update
sudo apt-get install ntpdate
sudo ntpdate pool.ntp.org