当前位置:   article > 正文

【搞机记录】如何基于 Chat GPT 搭建微信聊天机器人?_本地搭建chatgpt机器人

本地搭建chatgpt机器人

 原文来自我的个人博客,欢迎访问~:

如何基于 Chat GPT 搭建微信聊天机器人?-Miykahの后备箱前言 在2023年,Chat GPT成为了热门话题,许多人都想要拥有一个属于自己的聊天机器人。本文将手把手教大家搭建自己的聊天机器人,支持微信、企业微信、公众号、飞书接入,支持群聊。 本项目为 Github 开源项目 chatgpt-on-wechat ,目前将近20k stars! 效果如下图所示icon-default.png?t=N7T8https://blog.miykah.top/archives/xLH5mYJ5

前言

在2023年,Chat GPT成为了热门话题,许多人都想要拥有一个属于自己的聊天机器人。本文将手把手教大家搭建自己的聊天机器人,支持微信、企业微信、公众号、飞书接入,支持群聊。

本项目为 Github 开源项目 chatgpt-on-wechat ,目前将近20k stars!

效果如下图所示:

项目文档的部署方式有四种:Docker部署、本地运行、源码部署、RailWay 部署。

本文选择使用 Docker 进行部署,并接入个人微信,非常简单。

本文不涉及企微、公众号等接入,需要的话可以看官方的文档

准备工作

部署一个聊天机器人需要准备:

  • 一台服务器

  • openai API Key

  • 一个实名过的微信小号(最好是小号,因为想要一个微信号成为机器人,相当于一直在电脑端登录着,自己就不能再使用电脑登陆,否则运行在 chatgpt-on-wechat 上的微信号会被挤下去)

使用 Docker Compose 部署

安装 Docker

  • 如果有旧版本 Docker,想重新安装,需要先卸载

    1. sudo yum remove docker \
    2. docker-client \
    3. docker-client-latest \
    4. docker-common \
    5. docker-latest \
    6. docker-latest-logrotate \
    7. docker-logrotate \
    8. 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

  • 执行以下命令下载 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

下载 docker-compose.yml 文件

  1. # 创建目录,路径按需修改
  2. mkdir -p /opt/chatgpt-on-wechat
  3. cd /opt/chatgpt-on-wechat/
  4. # 下载 docker-compose.yml 文件
  5. wget https://open-1317903499.cos.ap-guangzhou.myqcloud.com/docker-compose.yml

修改 docker-compose.yml 文件

具体配置项说明可以参考项目文档:LinkAI

这里提供我自己的 yml 文件供大家参考。

  1. version: '2.0'
  2. services:
  3. chatgpt-on-wechat:
  4. image: zhayujie/chatgpt-on-wechat
  5. container_name: chatgpt-on-wechat
  6. security_opt:
  7. - seccomp:unconfined
  8. environment:
  9. OPEN_AI_API_KEY: 'sk-xxxxxxxxxxxxxxxxxxxxxxxxx' # 按需修改API Key
  10. OPEN_AI_API_BASE: 'https://api.openai.com/v1' # 按需修改URL
  11. MODEL: 'gpt-3.5-turbo'
  12. PROXY: ''
  13. SINGLE_CHAT_PREFIX: '["bot", "@bot"]'
  14. SINGLE_CHAT_REPLY_PREFIX: '"[bot] "'
  15. GROUP_CHAT_PREFIX: '["@bot"]'
  16. GROUP_NAME_WHITE_LIST: '["ALL_GROUP"]'
  17. IMAGE_CREATE_PREFIX: '["画", "看", "找"]'
  18. CONVERSATION_MAX_TOKENS: 1000
  19. SPEECH_RECOGNITION: 'False'
  20. CHARACTER_DESC: '你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。'
  21. EXPIRES_IN_SECONDS: 3600
  22. USE_GLOBAL_PLUGIN_CONFIG: 'True'
  23. USE_LINKAI: 'False'
  24. LINKAI_API_KEY: ''
  25. LINKAI_APP_CODE: ''

部分配置说明:

  • OPEN_AI_API_KEY :填入自己的 openai API Key

  • OPEN_AI_API_BASEhttps://api.openai.com/v1 的话需要保证服务器能科学上网,否则应该使用中转接口。

  • SINGLE_CHAT_PREFIX :私聊机器人时,唤醒机器人的前缀。也就是说,需要使用 bot 你是谁?@bot 你是谁 ,才会触发机器人回复。

  • SINGLE_CHAT_REPLY_PREFIX :机器人私聊回复的前缀。机器人的回复会加上 [bot] 前缀,与真人区分开。

  • GROUP_NAME_WHITE_LIST :群聊白名单,在白名单中的群,才会触发机器人。如果是所有群聊都可以,则使用 ["ALL_GROUP"] ,否则应该是:["群名称1", "群名称2"]

目前我主要修改的配置就这些,其余配置按需修改,可以参考文档。

启动容器

执行以下命令,启动容器:

  1. cd /opt/chatgpt-on-webchat/
  2. docker-compose up -d

查看日志:

docker-compose logs -f

日志中会出现二维码,使用准备好的微信小号扫码登陆。

小号需要实名认证,否则登录会报错

出现 Start auto replying 即代表部署完成,可以发送消息测试。

小技巧

如何退出手机微信小号,而登录在 chatgpt-on-wechat 的微信不自动退出?

我部署完成后遇到一个问题:

登录的时候,手机先登录上微信小号,然后扫描日志中的二维码登录(相当于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 上的微信肯定会被挤下去呀!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/71367
推荐阅读
相关标签
  

闽ICP备14008679号