你想拥有MOSS智能机器人么?教你用Docker将ChatGPT接入微信

2023-02-06 15:45:52 84点赞 843收藏 112评论

最近看了流浪地球2,被未来的量子计算机MOSS惊艳到,特别是它的回答非常准确严谨,能够回答许多高深的问题。现实中其实有一个语言模型ChatGPT也能在某些方面达到很好的效果,回答一些复杂的问题。

ChatGPT问世快两个月了,网上有很多文章都在讲他有多牛,我在测试之后发现,确实非常牛!说他超越了以前的所有AI都不夸张。写诗、写论文、检查程序错误啥的,都不在话下。具体有多牛,可以在网上查查相关资料,ChatGPT确实已经达到了能够帮你在工作、生活中提高效率和解决问题的地步了。

但在2月之前,微信接入ChatGPT一直没有一个稳定且好用的方案。原因一是因为ChatGPT加入了Cloudflare验证,这导致一大波项目都失效了。原因之二是因为2月之前,ChatGPT一直没开放官方API,网上很多标榜ChatGPT的,实际用的是GPT3.0的API(ChatGPT是GPT3.5),效果不如ChatGPT牛。

近期ChatGPT放出了官方的API,使用官方API来接入,不仅稳定,而且还能轻松实现关联上下语境等功能。我在开源项目基础上搭建了一个现成的Docker镜像,可以比较方便的在群晖等NAS设备,也可以直接在OpenWrt等系统的路由器里部署,比原作者的Linux里手动搭建环境+部署方便多了(原作者其实也提供了Dockerfile,但是不好使,我是自己重写搭建的)。可以说ChatGPT接入微信最终的效果已经很完美了。

好了,以下进入正文,教大家怎么进行搭建:

注意,本文只教大家如何把ChatGPT搭建到Docker上和接入微信,关于ChatGPT的注册大家自己百度即可,网上有很多教程。嫌麻烦的淘宝或者闲鱼搜一下,有现成的账号。

1、准备工作

1、准备一个微信小号(最好是没有添加好友、没有关注过公众号的,专门用于搭建ChatGPT,否则搭建好了后,谁给你发个信息它都会自动回复)

2、准备好OenAPI(注册好账号之后在这个页面 https://platform.openai.com/account/api-keys  获取)

3、准备一个有Docker的服务器(随便啥都行,只要有Docker,方法其实都大同小异,我这里会介绍几个主流NAS系统的具体安装步骤)

2、搭建Docker

2.1、Unraid搭建方法

因为我用的是unraid,所以这个系统的安装讲解最详细,其他系统也可以参考。

在Unraid的/mnt/user/appdata/chatgpt/目录,新建一个文本文档,输入以下内容,并重命名为config.ts,并且在文件里面修改成你的OpenAPI。

  • export default {

  •   // 填入你的session token

  •   OPENAI_API_KEY: '',

  •   // 设置获取消息的重试次数

  •   retryTimes: 3,

  •   // 在群组中设置唤醒微信机器人的关键词

  •   groupKey: '',

  •   // 在私聊中设置唤醒微信机器人的关键词

  •   privateKey: '',

  •   // 重置上下文的关键词,如可设置为reset

  •   resetKey: 'reset',

  •   // 开启会后收到ChatGPT的自动回复

  •   autoReply: true,

  •   // 根据正则匹配是否自动通过好友验证

  •   friendShipRule: /chatgpt|chat/,

  •   // 是否在群聊中按照回复的格式进行回复

  •   groupReplyMode: true,

  •   // 是否在私聊中按照回复的格式进行回复

  •   privateReplyMode: false,

  • };

复制完之后需要删除多余的回车,最终文件里是下图这样的。

你想拥有MOSS智能机器人么?教你用Docker将ChatGPT接入微信

如果用的不是微信小号,最好也设置一个唤醒词,避免打扰到别人。

应用里搜索suyunkai46/chatgpt-wechat,点击“单击此处以从 DockerHub 获取更多结果”,找到我的镜像,搭建。

  • 搭建界面右上角切换为高级视图

  • 输入额外参数为:-dit

  • 添加一个新的路径;设置容器路径:/code/src/config.ts;主机路径/mnt/user/appdata/chatgpt/config.ts

  • 其余参数都保持默认即可


你想拥有MOSS智能机器人么?教你用Docker将ChatGPT接入微信

搭建好后容器会自己启动,进入容器的控制台。

你想拥有MOSS智能机器人么?教你用Docker将ChatGPT接入微信

  • 依次输入三条指令:

  • npm install -g pm2

  • pm2 start npm -- run dev

  • pm2 logs

  • 补充:

  • npm install -g pm2只有刚搭建完后需要输入一次,以后再也不用输入了

  • 每次重新启动容器,都需要控制台手动输入一次pm2 start npm -- run dev,才能启动程序

  • 随时可以输入pm2 logs查看日志记录

输入完之后,控制台里应该就出现二维码了。

你想拥有MOSS智能机器人么?教你用Docker将ChatGPT接入微信

这时微信扫码即可登陆,然后给登陆的微信号发消息,就可以愉快的调戏ChatGPT了。

2.2、群晖搭建方法

在群晖的Docker文件目录里(一般是/volume1/docker/),每个人设置不同,可能略微不一样,这个大家自己看一下文件路径,新建一个文本文档,输入以下内容,并重命名为config.ts,并且在文件里面修改成你的OpenAPI。

  • export default {

  •   // 填入你的session token

  •   OPENAI_API_KEY: '',

  •   // 设置获取消息的重试次数

  •   retryTimes: 3,

  •   // 在群组中设置唤醒微信机器人的关键词

  •   groupKey: '',

  •   // 在私聊中设置唤醒微信机器人的关键词

  •   privateKey: '',

  •   // 重置上下文的关键词,如可设置为reset

  •   resetKey: 'reset',

  •   // 开启会后收到ChatGPT的自动回复

  •   autoReply: true,

  •   // 根据正则匹配是否自动通过好友验证

  •   friendShipRule: /chatgpt|chat/,

  •   // 是否在群聊中按照回复的格式进行回复

  •   groupReplyMode: true,

  •   // 是否在私聊中按照回复的格式进行回复

  •   privateReplyMode: false,

  • };

复制完之后需要删除多余的回车,最终文件里是下图这样的。

你想拥有MOSS智能机器人么?教你用Docker将ChatGPT接入微信

如果用的不是微信小号,最好也设置一个唤醒词,避免打扰到别人。

搜索并下载Docker映像suyunkai46/chatgpt-wechat

新增容器,选择下载的镜像部署,需要把下载的config.ts文件挂载到容器内/code/src/config.ts路径上,其余设置均默认即可。

  • 进入容器终端机,依次输入三条指令:

  • npm install -g pm2

  • pm2 start npm -- run dev

  • pm2 logs

  • 补充:

  • npm install -g pm2只有刚搭建完后需要输入一次,以后再也不用输入了

  • 每次重新启动容器,都需要控制台手动输入一次pm2 start npm -- run dev,才能启动程序

  • 随时可以输入pm2 logs查看日志记录


输入完之后,控制台里应该就出现二维码了,这时微信扫码即可登陆,然后给登陆的微信号发消息,就可以愉快的调戏ChatGPT了。

你想拥有MOSS智能机器人么?教你用Docker将ChatGPT接入微信

2.3、其它系统Dokcer搭建注意事项

Dokcer搭建无非就是操作步骤略有区别,基本都大同小异,注意以下两个重点即可。

  • 有些系统启动参数需要加上-dit,否则启动后会马上自己关闭

  • 需要挂载容器内的/code/src/config.ts文件到系统路径,然后修改它,加上openapi参数(如果容器启动后报错,可能就是这个文件没挂在好)

  • 如果运行正确,但是二维码加载失败,可以用输入返回的网址查看二维码

3、绑定微信

很简单,用微信扫码即可,软件会模拟登陆微信网页版,然后通过该微信号回复问题。但需要有一个手机登陆着这个微信,如果手机退出账号,那网页端也会自动退出。

你想拥有MOSS智能机器人么?教你用Docker将ChatGPT接入微信

你想拥有MOSS智能机器人么?教你用Docker将ChatGPT接入微信


作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
112评论

  • 精彩
  • 最新
  • 各位,今天chatgpt的API接口被撤销了,这个办法暂时不能用了。全网应该所有类似项目都废了,大家先缓缓,别研究了。。。我尽快找替代方案。

    校验提示文案

    提交
    代码好像更新了,AutumnWhj好像切换了模型。

    校验提示文案

    提交
    换的模型不是真正的ChatGPT,是GPT3,不过也能暂时用来玩玩,我正在修改了

    校验提示文案

    提交
    还有8条回复
    收起所有回复
  • 我的天,为什么我的机器人一直用英文回答我。。

    校验提示文案

    提交
    我的微信名是英文,触发词是hi,可能是这个原因?

    校验提示文案

    提交
    你跟他说以后一直说中文,他应该就说中文了吧?

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 注册就卡主了。

    校验提示文案

    提交
    可以淘宝买号。。。。自己注册需要网络好

    校验提示文案

    提交
    貌似还要有海外手机号

    校验提示文案

    提交
    还有4条回复
    收起所有回复
  • 威联通怎么搭建

    校验提示文案

    提交
    一个思路,都是用docker

    校验提示文案

    提交
    威联通安装了,在哪里修改配置文件

    校验提示文案

    提交
    收起所有回复
  • 封号警告 小心使用 真的想玩 建议tg

    校验提示文案

    提交
    TG哪能和朋友们娱乐起来。微信才能一起玩有意思。小范围用了几天,暂时没事

    校验提示文案

    提交
    小白请教,电报有chatgpt的功能吗?大神怎么实现的

    校验提示文案

    提交
    收起所有回复
  • 不能登录网页版的微信可以吗?

    校验提示文案

    提交
    我的就不能登录,但这个能登上,你可以试试

    校验提示文案

    提交
    我试了3个号,网页版登录不了的好像不行。

    校验提示文案

    提交
    收起所有回复
  • windows11可以搭建吗?

    校验提示文案

    提交
    可以,正准备出一个windows搭建教程,这两天发

    校验提示文案

    提交
    收起所有回复
  • 请教一下:遇到个新的问题。在群聊中没有效果:既没有报错误,也没有回答问题。
    请帮忙看看是什么原因。

    Group name: chatGPT talker: 天心难测 content: 呼唤chatGPT,请用中文帮我(项目经理)写一篇工作周报。

    校验提示文案

    提交
    控制台是能收到消息的对吧?重启一下,如果还有问题的话,那可能的问题是配置文件弄得不对。再就是群聊需要艾特它才行

    校验提示文案

    提交
    控制台能收到消息。
    重启了还是同样的问题,并且艾特了,配置及控制台收到消息如下:
    export default {
    // 填入你的session token
    OPENAI_API_KEY: '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',
    // 设置获取消息的重试次数
    retryTimes: 3,
    // 在群组中设置唤醒微信机器人的关键词
    groupKey: '呼唤chatGPT',
    // 在私聊中设置唤醒微信机器人的关键词
    privateKey: '呼唤chatGPT',
    // 重置上下文的关键词,如可设置为reset
    resetKey: 'reset',
    // 开启会后收到ChatGPT的自动回复
    autoReply: true,
    // 根据正则匹配是否自动通过好友验证
    friendShipRule: /chatgpt|chat/,
    // 是否在群聊中按照回复的格式进行回复
    groupReplyMode: true,
    // 是否在私聊中按照回复的格式进行回复
    privateReplyMode: true,
    };

    控制台收到消息如下:
    Group name: chatGPT talker: 天心难测 content: @chatGPT 呼唤chatGPT,请用中文帮我(项目经理)写一篇工作周报。

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 群晖 docker 无法下载

    校验提示文案

    提交
    如果能搜到镜像但无法下载,那应该是网络问题。

    校验提示文案

    提交
    收起所有回复
  • 楼主是作者嘛?麻烦更新一下最新的代码~去看看

    校验提示文案

    提交
    我不是作者,我只是用了它的代码,有小的修改并做了docker镜像。新的代码稍后拉去好。不过现在这个模型比真正的chatgpt差了不少

    校验提示文案

    提交
    收起所有回复
  • 昨晚配置成功了,但是早上起来就不回复了,后台显示chatgpt error 404是什么情况呢

    校验提示文案

    提交
    网挂了

    校验提示文案

    提交
    API接口挂了,正在更新

    校验提示文案

    提交
    收起所有回复
  • That model is currently overloaded with other requests还是用不了

    校验提示文案

    提交
    suyunkai46/chatgpt-wechat:3.0 换成这个docker镜像暂时可以用,但效果不如chatgpt

    校验提示文案

    提交
    算了,先这样吧,看看openai能不能扩展服务器了。

    校验提示文案

    提交
    收起所有回复
  • 请问楼主,chatgpt的 api现在能用了吗? 如果自己申请了chatgpt api,考虑到梯子的原因 会不会有被chatgpt封号的危险?

    校验提示文案

    提交
    api一直能用,不稳定的是web端口的版本。chatgpt不会封号,微信会

    校验提示文案

    提交
    收起所有回复
  • 是不是服务出问题了,报404错误。
    0|npm|retry3times,error:Error:ChatGPTerror404:{
    0|npm|"error":{
    0|npm|"message":"Thatmodeldoesnotexist",
    0|npm|"type":"invalid_request_error",
    0|npm|"param":null,
    0|npm|"code":null
    0|npm|}
    0|npm|}

    校验提示文案

    提交
    gitbub项目更新了 Switch back to text-davinci-003 after OpenAI disabled the previous model。

    校验提示文案

    提交
    收起所有回复
  • 支持,立马去搭建

    校验提示文案

    提交
  • 是不是废了,提问问题终端提示Content is not within the scope of the customizition format

    校验提示文案

    提交
  • 66666

    校验提示文案

    提交
  • 支持技术贴

    校验提示文案

    提交
  • 请教一下:遇到呼唤后无法答复的情况,这个是哪里出现问题。

    0|npm | talker: 天心难测 content: 呼唤chatGPT
    0|npm | response: b21f66bb-b636-45a4-9751-6ccee5c234a5 Hello! How may I help you today?
    0|npm | talker: 天心难测 content: 数字人民币发展趋势报告
    0|npm | Content is not within the scope of the customizition format

    校验提示文案

    提交
    哈哈哈。 和你一样。 不在自定义格式中。

    校验提示文案

    提交
    你使用关键词唤醒的么?关键词唤醒是指,每句话都需要带着关键词,并不是能关键词唤醒然后连续对话的。

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 用关键词唤醒后,输入任何文字,都反馈不在自定义格式中。Content is not within the scope of the customizition format

    校验提示文案

    提交
    有的问题会这样提示,有的又能回答。。

    校验提示文案

    提交
    找到原因了,你的群昵称要默认,不能改群昵称

    校验提示文案

    提交
    还有2条回复
    收起所有回复
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
843
扫一下,分享更方便,购买更轻松