微信快速接入ChatGPT教程,让你的微信秒变人工智能机器人

闪电发卡2年前ChatGPT1711

前言

最近ChatGPT可谓是火的一发不可收拾,从圈内火到圈外。在人工智能领域,Ai已经是一个屡见不鲜的东西了,为什么这次OpenAi推出的ChatGPT却异常的受人欢迎?其实这还得益于GPT模型。

那么什么是GPT模型?我们可以看一下ChatGPT自己的回答:

GPT(Generative Pre-trained Transformer)是一种基于变换器的语言模型,用于自然语言处理(NLP)的任务,如文本生成,语义分析和机器翻译等。GPT模型基于大型语料库预先训练,它使用词嵌入,多层变换器和编码器/解码器来构建模型,以便在给定上下文中进行有意义的文本生成。

其实从使用层面来说,大可不必去深入这个AI的原理,原理层面的深入理解,这并不适合每一个人。

chatGPT出世以来,我就第一时间体验了一把,确实爽歪歪没得说。现在这个风口也正处于顶峰,但对于大部分国内用户来说,想要用上chatGPT还是有一些门槛的。所以本着大公无私,大爱至上的原则,我也是在第一时间发布了关于如何使用ChatGPT的文章,好东西要大家分享嘛!

接入准备

本次要讲的接入方法相对比较简单,目前国内外已经有很多人在很快时间将chatGPT的官方API以开源项目的形式发布在了GitHub,所以这次就是基于其中一个开源项目作的部署教程。

开始教程

其实这个开源项目本身也是提供了部署文档的,所以要我说,如果你觉得自己可以,建议直接传送到项目官方文档。

打开项目地址,项目提供了多种部署方式,为了方便,这里选择第一章方式,也就是使用Docker容器部署,这也是项目推荐的部署方式。至于部署的环境,你们可以自己选择,我这里使用的是Ubuntu作为演示。(注意,为了保证能够连接OpenAI的服务器,建议使用海外服务器或者为服务器施加咒语: 巴啦啦能量,科学上网....魔法)至于如何科学上网,这里不作探究,这个问题得你自己解决。

步骤一览

# 克隆项目
git clone https://github.com/zhayujie/chatgpt-on-wechat
cd chatgpt-on-wechat/# 安装依赖
pip3 install itchat-uos==1.5.0.dev0
pip3 install --upgrade openai

上面这段直接从官网搬过来的,感觉没什么理解上的难度,直接用就是了。

创建相关文件夹

打开你的服务器,,使用下面得命令创建一系列文件夹,备用。

# 创建项目文件夹chat
mkdir chat
# 接入chat文件夹,创建chatgpt-on-wechat以及config.yaml文件夹
cd chat
mkdir chatgpt-on-wechat
mkdir config.yaml

修改并添加配置文件

# config.json文件内容示例{ 
  "open_ai_api_key": "YOUR API KEY"                           # 填入上面创建的 OpenAI API KEY
  "single_chat_prefix": ["bot", "@bot"],                      # 私聊时文本需要包含该前缀才能触发机器人回复  "single_chat_reply_prefix": "[bot] ",                       # 私聊时自动回复的前缀,用于区分真人  "group_chat_prefix": ["@bot"],                              # 群聊时包含该前缀则会触发机器人回复  "group_name_white_list": ["ChatGPT测试群", "ChatGPT测试群2"], # 开启自动回复的群名称列表  "image_create_prefix": ["画", "看", "找"],                   # 开启图片回复的前缀  "conversation_max_tokens": 1000,                            # 支持上下文记忆的最多字符数  "character_desc": "你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。"  # 人格描述}

配置说明:

1.个人聊天

  • 个人聊天中,需要以 "bot"或"@bot" 为开头的内容触发机器人,对应配置项 single_chat_prefix (如果不需要以前缀触发可以填写 "single_chat_prefix": [""])

  • 机器人回复的内容会以 "[bot] " 作为前缀, 以区分真人,对应的配置项为 single_chat_reply_prefix (如果不需要前缀可以填写 "single_chat_reply_prefix": "")

2.群组聊天

  • 群组聊天中,群名称需配置在 group_name_white_list 中才能开启群聊自动回复。如果想对所有群聊生效,可以直接填写 "group_name_white_list": ["ALL_GROUP"]

  • 默认只要被人 @ 就会触发机器人自动回复;另外群聊天中只要检测到以 "@bot" 开头的内容,同样会自动回复(方便自己触发),这对应配置项 group_chat_prefix

  • 可选配置: group_name_keyword_white_list配置项支持模糊匹配群名称,group_chat_keyword配置项则支持模糊匹配群消息内容,用法与上述两个配置项相同。

3.如何获取open_ai_api_key

直达地址https://platform.openai.com/account/api-keys



注意我用的是vim编辑器,如果那也是一样,那么接入文件之后使用i接入编辑模式,编辑结束之后按下Esc再按下:wq保存并退出编辑。

启动服务,检查结果

# 本地测试运行
python3 app.py
# 服务器永久运行
touch nohup.out                                   # 首次运行需要新建日志文件                     
nohup python3 app.py & tail -f nohup.out          # 在后台运行程序并通过日志输出二维码

扫码登录,开始聊骚(不是)

执行上面的启动命令之后,服务器会以日志形式输出二维码,用微信扫码登录即可。



如果扫码登录之后出现下面的日志信息,说明登录成功,可以开始给登录该账号的微信聊天了,这个微信此时此刻,就是一个ChatGPT


实聊截图


私聊



群聊



常见问题

作为贴心小棉袄,也是把FAQ也贴一下,部署过程中如果出问题,请对症下药。

1.OpenAI官网注册提示 Not avaliable

一般是vpn未生效,注意地区要选择韩国、美国等,如果切换几个地区都不行就试试清除浏览器缓存,或是用无痕页面打开。

2.项目启动报错SSL连接失败

During handling of the above exception, another exception occurred:requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='webpush.wx.qq.com', port=443): Max retries exceeded with url:you can't get access to internet or wechat domain, so exit.

可能有两个原因:

  1. 网络问题,用浏览器打开网页微信 看看能否能访问,检查下电脑是否挂了vpn,如果是的要关掉后再登录。

  2. Python版本过高 (3.10 或 3.11),建议使用 3.7.1 ~ 3.9 版本的Python

3.登录报错XML解析失败

expatbuilder.py", line 223, in parseString
    parser.Parse(string, True)xml.parsers.expat.ExpatError: mismatched tag: line 64, column 4

检查是否安装了 itchat-uos,以及版本是否为 1.5.0.dev0

4.登录报错 KeyError:'wxsid'

login.py", line 183, in process_login_info
    core.loginInfo['wxsid'] = core.loginInfo['BaseRequest']['Sid'] = cookies["wxsid"]KeyError: 'wxsid'

一般原因为使用了itchat且无法登录网页版微信,解决方法是先卸载itchat,然后安装itchat-uos 1.5.0.dev0版本。

5.登录报错 IndexError: list index out of range

login.py", line 197, in process_login_info
skey = re.findall('(.*?)', r.text, re.S)[0]IndexError: list index out of range

一般原因是微信没有实名认证,前往支付板块进行实名认证后再登录。

6.登录超时二维码刷新Log in timeout

Log in time out, reloading QR code.

这种情况多发生于linux服务器上,原因是手机扫码后有异地登录验证,会等待5s,而此时itchat判断登录超时,又刷新了二维码,导致一直登录不上。 解决办法是修改 itchatlogin.py 源码,详细步骤参考

7.登录成功但无法触发自动回复

一般原因是没有收到触发自动回复的文本内容,检查下config.json中的配置,个人聊天需发送以single_chat_prefix配置为开头的内容 (自身发送也可触发);群组聊天需发送以 group_chat_prefix配置中 为开头的内容,或被 @ 也会直接触发。 同时群名称需要在 group_name_white_list 中配置。


ChatGPT APIKey购买充值(直连+转发):https://www.chatgptzh.com/post/305.html


相关文章

如何使用PHP请求ChatGPT API接口?附代码示例

如何使用PHP请求ChatGPT API接口?附代码示例

前言ChatGPT简介ChatGPT是一种预先训练的大型语言模型,由OpenAI开发,能够进行高质量的人工智能(AI)对话。它能根据上下文自动生成合理的回答,在许多情况下,用户甚至无法分辨出是人类还是...

ChatGPT API中的Tokens限制及其解决方案

闪电发卡ChatGPT产品推荐:ChatGPT独享账号:https://www.chatgptzh.com/post/86.htmlChatGPT Plus独享共享账号购买代充:https://www...

适用于 PHP 应用程序的 GPT-4 和 GPT-3.5 ChatGPT API 客户端

适用于 PHP 应用程序的 GPT-4 和 GPT-3.5 ChatGPT API 客户端

添加图片注释,不超过 140 字(可选)自从去年 10 月发布OpenAI PHP API 客户端以来,我们已经看到成千上万的用户使用 OpenAI API 构建了一些令人惊叹的应用程序。在此期间,O...

如何在向 ChatGPT 发送 API 请求之前计算令牌

如何在向 ChatGPT 发送 API 请求之前计算令牌

在向 ChatGPT 发送 API 请求之前,了解令牌的计算方式非常重要。令牌是直接影响 API 限制和成本的文本片段。因此,您需要了解令牌的确切数量并管理成本,同时遵守 API 限制。如何在向 Ch...

一文读懂 ChatGPT API 接入指南

一文读懂 ChatGPT API 接入指南

最近 ChatGPT 突然爆火。抱着好奇的心态我也去官网注册账号体验了一下,因为网站人数太多,一时半会竟然注册不了,不过最终还是成功注册了。还没注册的朋友们可以参考一下这篇教程 https:...

深入探讨ChatGPT API中的Tokens计算方式和计算库

闪电发卡ChatGPT产品推荐:ChatGPT独享账号:https://www.chatgptzh.com/post/86.htmlChatGPT Plus独享共享账号购买代充:https://www...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。