微信部署chatGPT

重要提醒:本方法已失效,请寻找其他方法

注:此操作有封号风险,请谨慎使用

再次提醒:以下内容的方法已失效,请寻找其他方法

准备

  • 一个有额度的API key
  • 一台电脑
  • 大脑

下载项目

GitHub – zhayujie/chatgpt-on-wechat: 使用ChatGPT搭建微信聊天机器人,基于OpenAI API和itchat实现。Wechat robot based on ChatGPT, which using OpenAI api and itchat library.

配置

把他的项目用git克隆下来(下载个zip也行,记得解压(()

找到有个config-template.json文件,把他改名config.json,然后用记事本打开

具体配置是:

# 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配置项则支持模糊匹配群消息内容,用法与上述两个配置项相同。(Contributed by evolay)

3.其他配置

  • 对于图像生成,在满足个人或群组触发条件外,还需要额外的关键词前缀来触发,对应配置 image_create_prefix
  • 关于OpenAI对话及图片接口的参数配置(内容自由度、回复字数限制、图片大小等),可以参考 对话接口 和 图像接口 文档直接在 代码 bot/openai/open_ai_bot.py 中进行调整。
  • conversation_max_tokens:表示能够记忆的上下文最大字数(一问一答为一组对话,如果累积的对话字数超出限制,就会优先移除最早的一组对话)
  • character_desc 配置中保存着你对机器人说的一段话,他会记住这段话并作为他的设定,你可以为他定制任何人格 (关于会话上下文的更多内容参考该 issue)

保存后,要装几个轮子

pip3 install itchat-uos==1.5.0.dev0
pip3 install --upgrade openai

运行app.py,没报错就会弹出一个二维码,报错了去他的官方文档逛逛

然后扫描二维码登录网页微信就好啦

tip要触发回复前缀才会回复

可以回图片,联系上下文

已知问题

1.群聊如何取消回复前缀?

为啥在配置那改成了“”没用啊!

解决方案:用python编辑器打开channel\wechat\wechat_channel.py

93行左右,就是在

config = conf()

if ('ALL_GROUP' in config.get('group_name_white_list') or group_name in config.get('group_name_white_list') or self.check_contain(group_name, config.get('group_name_keyword_white_list'))) and match_prefix:

中间那句,把等于号后边的那一串括号去掉(最好注释化,万一以后在用呢?),改成True

match_prefix = True

然后保存,运行app.py,在群聊里就不用前缀了

2.扫二维码time out超时,然后又让你扫,无限循环?

临时方案:可以在 itchat/components/login.py 的 login() 函数中,在进入 while not isLoggedIn 循环前增加一个延时

time.sleep(15)

 itchat 源码在哪??

在cmd输入

pip3 show itchat-uos

那一串Location后边的就是,我这儿是Location: C:\Users\abc\AppData\Local\Programs\Python\Python311\Lib\site-packages

然后在那一串后边加上\itchat\components\

就成了C:\Users\abc\AppData\Local\Programs\Python\Python311\Lib\site-packages\itchat\components\

打开那个路径(appdata是隐藏的),找到login.py,用python编辑器打开,改源码就行~

暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯
 ̄﹃ ̄
(/ω\)
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
(´っω・`。)
( ,,´・ω・)ノ)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•)
(ㆆᴗㆆ)
有希酱最可爱啦!(素材来自bilibili@最上川下山)
整活by Mimosa233
Source: github.com/k4yt3x/flowerhd
galgame系列表情by Mimosa233
颜文字
周防有希
小恐龙
夸夸我!
花!
可愛い!
上一篇
下一篇