简单实现微信机器人-接入ChatGPT3.5

前端基于开源项目:wechaty实现微信网页版功能,感兴趣的小伙伴可以自行研究。
前端代码已开源:https://github.com/labi-xiaoxin/wechat-bot-wechat4u.git

本项目搭建愿景:

1、在无法科学上网的情况下,实现ChatGPT对话。

2、提供社群消息处理、构建私域管理。


一、功能介绍

  • 消息自动回复:支持前端处理,支持对接后端接口实现更多功能
  • 群聊白名单:支持指定名单内群聊回复
  • 私聊白名单:支持指定名单内私聊回复
  • 支持手机同时在线:基于网页版API开发,能够在手机登录微信时,同时使用机器人
  • 接入ChatGPT:理论上4也能支持,图片暂不支持。

二、搭建私人ChatGPT机器人说明

技术教程:https://github.com/labi-xiaoxin/wechat-bot-wechat4u.git

需要自行搭建后端,也可使用本人提供的后端(后台联系)

现支持直接请求ChatGPT,无需另外搭建后端

  • 本地需要NodeJS环境,版本推荐18.0.0以上

    • 官方下载地址:https://nodejs.org/download/release/v18.0.0/
  • 下载代码

    • Github:https://github.com/labi-xiaoxin/wechat-bot-wechat4u.git
    • 无法访问Github,网盘下载:链接: https://pan.baidu.com/s/1fhYZY-jOs0_4ifiKpx4w6w?pwd=5xsc 提取码: 5xsc
  • 进入项目目录,执行npm install,下载依赖

  • 修改相关参数:

    • config.js

      • robotName:机器人名,自定义你的机器人名字

      • roomWhiteList:群聊白名单,群聊的名字,只有在名单内才回复

      • aliasWhiteList:联系人白名单,私聊的备注,只有在名单内才回复

      • msgPushUrl:后端消息处理接口(该参数如果无后端无需配置)

    • config-chatgpt.js

      • CHATGPT_URL:ChatGPT请求地址,参照官方,一般无需变动
      • CHATGPT_API_KEY:基于ChatGPT API进行调用,需要使用api_key才能调用。(新账号有5$3个月的额度,也可付费购买【现在ChatGPT账号含5美元也不贵】)
      • CHATGPT_MODEL:使用的对话模型,如果开通了ChatGPT4,可以修改为对应的模型。默认gpt-3.5-turbo-16k
    • config-proxy.js:

      • PROXY_HOST:代理HOST,国内环境无代理无法访问
      • PROXY_PROTOCOL:代理HOST对应的协议
      • PROXY_PORT:代理HOST的端口
  • 测试网络:npm run test:结果如下
    测试网络结果

    如果出现异常,检查代理是否正常,无法解决可留言

  • 启动项目:

    • npm run dev:扫码即可启动专属微信机器人啦
      扫码启动专属微信机器人

有相关问题欢迎留言


三、目前缺陷

  1. wechaty获取的微信备注可能不准确
  2. 当前测试响应时间基本在5秒内,对于大请求可能会较慢
  3. 网络或是微信官方问题,存在掉线问题
  4. 目前NodeJS版本前端还没接入多轮对话,仅在自己的后端实现了多轮对话

四、未来功能

  1. 考虑使用场景,引入其他AI模型,如Claude等,目前在研究中
  2. 实现多轮对话

获取自建免费ChatGPT链接地址:公众号关注【迷茫的21世纪的新青年】回复 新地址
搭配获取Token:公众号关注【迷茫的21世纪的新青年】回复 token

  • 22
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,需要安装微信机器人框架itchat和OpenAI的API模块openai。可以使用pip命令进行安装: ``` pip install itchat pip install openai ``` 接下来,我们需要获取OpenAI API的访问密钥。可以在OpenAI的官网上进行申请。 获取密钥后,我们就可以使用OpenAI的GPT模型进行对话了。以下是一个简单的示例代码: ```python import itchat import openai import re # 设置OpenAI API的访问密钥 openai.api_key = 'YOUR_API_KEY_HERE' # 加载GPT模型 model_engine = "text-davinci-002" model_prompt = "Hello, how can I help you today?" chat_history = [] # 处理微信消息 @itchat.msg_register(itchat.content.TEXT) def text_reply(msg): global chat_history text = msg['Text'] if msg['FromUserName'] == myUserName: # 发送给自己的消息,不进行回复 return else: # 对话逻辑 prompt = f"{model_prompt}\n\nUser: {text}\n" response = openai.Completion.create( engine=model_engine, prompt=prompt, max_tokens=1024, n=1, stop=None, temperature=0.5, frequency_penalty=0, presence_penalty=0 ) message = response.choices[0].text.strip() chat_history.append(f"User: {text}\nAI: {message}\n") # 返回回复消息 return message # 登录微信 itchat.auto_login() # 获取自己的微信号 myUserName = itchat.get_friends(update=True)[0]["UserName"] # 启动微信机器人 itchat.run() ``` 以上代码中,我们使用了itchat框架,实现微信机器人的基本功能。当有用户发送消息时,我们会将其作为GPT模型的输入,获取模型的回复,并将对话记录到chat_history中。 需要注意的是,OpenAI的API有使用限制,每月有免费的API调用次数,超出后需要付费。因此,建议仅用于个人学习和测试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值