前言
在人工智能领域,Ai
已经是一个屡见不鲜的东西了,为什么这次openAi
推出的chatGPT
却异常的受人欢迎?其实这还得益于GPT
模型。
那么什么是GPT
模型?我们可以看一下chatGPT
自己的回答:
GPT(Generative Pre-trained Transformer)
是一种基于变换器的语言模型,用于自然语言处理(NLP
)的任务,如文本生成,语义分析和机器翻译等。GPT
模型基于大型语料库预先训练,它使用词嵌入,多层变换器和编码器/解码器来构建模型,以便在给定上下文中进行有意义的文本生成。
其实从使用层面来说,大可不必去深入这个AI的原理,原理层面的深入理解,这并不适合每一个人。
从chatGPT
出世以来,我就第一时间体验了一把,确实爽歪歪没得说。现在这个风口也正处于顶峰,但对于大部分国内用户来说,想要用上chatGPT
还是有一些门槛的。所以本着大公无私,大爱至上的原则,我也是在第一时间发布了关于如何使用ChatGPT
的文章,好东西要大家分享嘛!
由于这期的内容主要讲解一下如何将这大智近妖的AI接入到我们的微信&微信群,所以如果你还没有一个OpenAi账号的话,建议参考下我的往期公众号文章:[还不会玩?ChatGPT我要让每个人都用起来【详细注册教程】]
接入准备
本次要讲的接入方法相对比较简单,目前国内外已经有很多人在很快时间将chatGPT的官方API以开源项目的形式发布在了GitHub
,所以这次就是基于其中一个开源项目作的部署教程。
- 开源项目地址:https://github.com/zhayujie/chatgpt-on-wechat
-
openAI
官网:https://platform.openai.com/ -
Linux
的基本操作 -
git
基本操作 - 一个可以使用的
openAI
账户 - 电脑和手(可以不带脑子,∵这没什么技术难度)
开始教程
其实这个开源项目本身也是提供了部署文档的,所以要我说,如果你觉得自己可以,建议直接传送到项目官方文档。
至于部署的环境,你们可以自己选择,我这里使用的是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
image-20230213005953519
注意我用的是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.
可能有两个原因:
- 网络问题,用浏览器打开网页微信 看看能否能访问,检查下电脑是否挂了
vpn
,如果是的要关掉后再登录。 -
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
判断登录超时,又刷新了二维码,导致一直登录不上。解决办法是修改 itchat
的 login.py
源码,详细步骤参考
7.登录成功但无法触发自动回复
一般原因是没有收到触发自动回复的文本内容,检查下config.json
中的配置,个人聊天需发送以single_chat_prefix
配置为开头的内容 (自身发送也可触发);群组聊天需发送以 group_chat_prefix
配置中 为开头的内容,或被 @
也会直接触发。同时群名称需要在 group_name_white_list
中配置。
友情提示
是没有收到触发自动回复的文本内容,检查下config.json
中的配置,个人聊天需发送以single_chat_prefix
配置为开头的内容 (自身发送也可触发);群组聊天需发送以 group_chat_prefix
配置中 为开头的内容,或被 @
也会直接触发。同时群名称需要在 group_name_white_list
中配置。文章来源:https://www.toymoban.com/news/detail-472785.html
腾讯风控机制比较严格,通过这种方式登录使用微信,大概率会导致封号。我的是临时封号已经解除了,可以自己玩玩。文章来源地址https://www.toymoban.com/news/detail-472785.html
到了这里,关于ChatGPT微信开发,轻松拿捏的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!