推广

tip
推荐以下翻墙必备工具
推荐 链接 教程
火麒麟机场VPN 注册链接 IEPL内网级专线机场推荐、无视墙敏感时期、解锁ChatGPT、奈飞流媒体
青柠翻墙VPN 注册链接 自用机场推荐,翻墙必备、解锁ChatGPT、奈飞流媒体
👉长桥证券开户👈 文字教程 【视频教程】-长桥证券新加坡版开户入金教程:港美股永久免佣+0门槛开户
华侨银行OCBC开户 文字教程 【视频教程】-手把手教你开通新加坡华侨银行OCBC账户-保姆级教程
美国虚拟信用卡 注册链接 美国虚拟信用卡,轻松搞定ChatGPT4 Plus会员订阅

背景

我之前的教程已经教了大家怎么注册ChatGPT,并教了大家怎么接入微信,微信公众号,电报,web网站等各个平台的教程,如果没看过我之前的教程的小伙伴可以在Youtube或者公众号搜索并关注【科技小飞哥】查看历史教程。

之前的教程需要云服务器部署在国外,但是很多小伙伴的云服务器是在国内的,所以考虑到小伙伴们的需求,我这期做了一个升级版的教程,可以支持国内的云服务器(当然国外的云服务器也支持并且更简单)。

同时也修复了微信公众号需要输入继续才能继续聊天的问题,​极大的增强了用户体验。

background

ChatGPT基本配置

1. OpenAPI地址

我们要把ChatGPT接入各种平台的第一步是需要拿到API Key, 需要一个chatGPT账号并生成一个API Key,这个API secret Key是为了验证你的身份。

这个非常简单,我们打开openai的平台地址:https://platform.openai.com/

登录之后点击右上角的头像,点击Manage Account->API Keys->Create New Secret Key, 然后复制下来保存备用。

key

2.运行环境

最后我们需要一台云服务器,最新的教程支持国内和国外的云服务器。

VPS/云服务器

如果你还没有云服务器或者VPS,可以点此地址购买:http://bit.ly/3GlfucW

它们的VPS非常便宜,可以用来搭建科学上网,搭建个人网站,也可以用来接入ChatGPT。如果你的预算充足,也可以直接购买云服务器

raksmart

1.开始

我这里使用国内的云服务器做教程。云服务器需安装 Python,建议Python版本在 3.7.1~3.10 之间。

python3 --version

云服务器建议是Linux Ubuntu系统。 我们登录到云服务器之后执行命令。

项目代码克隆:

1
2
git clone https://github.com/techxiaofei/bot-on-anything
cd bot-on-anything/

2. 安装依赖

升级pip包管理工具和openai

1
2
pip3 install --upgrade pip
pip3 install --upgrade openai

3.配置说明

核心配置文件为 config.json,在项目中提供了模板文件 config-template.json ,可以从模板复制生成最终生效的 config.json 文件:

1
cp config-template.json config.json

每一个模型和应用都有自己的配置块,最终组成完整的配置文件,配置主要由两部分组成:modelchannel

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
{
  "model": {
    "type" : "chatgpt",             # 选用的算法模型
    "openai": {
      # openAI配置
      "api_key": "YOUR API KEY",
      "model": "gpt-3.5-turbo",             # 模型名称
      "proxy": "http://127.0.0.1:7890",     # 国内云服务器需要代理
      "character_desc": ""
    }
  },
  "channel": {
    "type": "wechat_mp",            # 需要接入的应用 
    "wechat": {
        # 个人微信配置
    },
    "wechat_mp": {
        # 公众号配置
    }
  }
}

model部分为模型配置,其中的: type 指定了选用哪个模型:

  • chatgpt - 是gpt3.5 模型,我们默认填这个就好
  • openai - 是gpt3.0 模型

api_key 是你从openai官网生成的。 proxy 服务器在外网就不需要填写,如果是在中国大陆,那么需要配置代理模式,教程在下方。

channel部分包含了应用渠道的配置

type 字段指定了接入哪个应用:

  • wechat_mp就是微信公众号。
  • wechat就是微信。

国内云服务器配置代理

当你的云服务器在国内的时候需要这一步,否则可以不用看

需要找一个能在linux运行的代理客户端。以clash为例,首先我们使用命令下载clash压缩包并解压

wget https://github.com/Dreamacro/clash/releases/download/v1.13.0/clash-linux-amd64-v1.13.0.gz
gzip -d clash-linux-amd64-v1.13.0.gz
chmod a+x clash-linux-amd64-v1.13.0

解压之后需要配置yaml配置文件,放在~/.config/clash/config.yaml这个目录上。(如果你已经切换到root账户,这个目录就是root/.config/clash/)

这个yaml你订阅的机场都会提供,比如我用的GLaDOS的机场,我自己的账号登录进去之后就复制了我的yaml订阅配置,如果你是其他的机场,类似的方式找到你的yaml配置就可以了。

直接用wget下载

1
2
3
4
5
6
7
8
9
# 下载你的机场的yaml文件
wget https://update.glados-config.com/clash/306473/41633c9/164000/glados.yaml

# 复制到指定目录
cp glados.yaml ~/.config/clash/config.yaml

# 后台启动
touch nohup.out
nohup ./clash-linux-amd64-v1.13.0 & tail -f nohup.out

启动成功应该像这样:

root@VM-8-10-ubuntu:/home/ubuntu# ./clash-linux-amd64-v1.13.0 
INFO[0000] Start initial compatible provider Express    
INFO[0000] Start initial compatible provider Auto       
INFO[0000] Start initial compatible provider Video      
INFO[0000] Start initial compatible provider NETFLIX    
INFO[0000] Start initial compatible provider Proxy      
INFO[0000] Start initial compatible provider Auto-Failover 
INFO[0000] Start initial compatible provider Auto-Fast  
INFO[0000] Start initial compatible provider Auto-Edge  
INFO[0000] RESTful API listening at: 127.0.0.1:9090     
INFO[0000] HTTP proxy listening at: 127.0.0.1:7890      
INFO[0000] SOCKS proxy listening at: 127.0.0.1:7891

如果启动报错WARN[0000] MMDB invalid, remove and download,执行以下命令下载新的Country.mmdb来修复:

1
2
3
4
wget https://cdn.jsdelivr.net/gh/alecthw/mmdb_china_ip_list@release/Country.mmdb

rm ~/.config/clash/Country.mmdb
cp Country.mmdb ~/.config/clash/Country.mmdb

杀掉进程重启:

1
2
3
4
5
# 查到PID
ps -ef | grep -v grep |  grep clash-linux-amd64-v1.13.0

# 通过上一条命令查到的PID杀掉进程
kill -9 PID

kill

启动成功之后去到config.json的配置里面 proxy 需要填写:

1
"proxy": "http://127.0.0.1:7890",

这个时候代理相关的配置就算完成了,如果是国外服务器不需要这一步。

ChatGPT接入微信

1.安装依赖

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

注:itchat-uos使用指定版本1.5.0.dev0,openai使用最新版本,需高于0.27.0。

2.配置文件

打开config.json配置文件

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
  "model": {
    "type" : "chatgpt",
    "openai": {
      "api_key": "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",
      "model": "gpt-3.5-turbo",
      "proxy": "http://127.0.0.1:7890",
      "conversation_max_tokens": 1000,
      "character_desc": "你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。"
    }
  },
  "channel": {
    "type": "wechat",
    "wechat": {
        "single_chat_prefix": ["bot", "@bot"],
        "single_chat_reply_prefix": "[bot] ",
        "group_chat_prefix": ["@bot"],
        "group_name_white_list": ["ChatGPT测试群"],
        "image_create_prefix": ["画", "看", "找"]
    }
  }
}

model部分为模型配置,其中的: type 指定了选用哪个模型:

  • chatgpt - 是gpt3.5 模型,我们默认填这个就好
  • openai - 是gpt3.0 模型

api_key 是你从openai官网生成的。 proxy 服务器在外网就不需要填写,如果是在中国大陆,那么需要配置代理模式,教程在下方。

微信配置说明:

  1. 个人聊天中,需要以 “bot"或”@bot" 为开头的内容触发机器人,对应配置项 single_chat_prefix (如果不需要以前缀触发可以填写 "single_chat_prefix": [""])
  2. 机器人回复的内容会以 “[bot] " 作为前缀, 以区分真人,对应的配置项为 single_chat_reply_prefix (如果不需要前缀可以填写 "single_chat_reply_prefix": "")
  3. 群组聊天中,群名称需配置在 group_name_white_list 中才能开启群聊自动回复。如果想对所有群聊生效,可以直接填写 "group_name_white_list": ["ALL_GROUP"]
  4. 默认只要被人 @ 就会触发机器人自动回复;另外群聊天中只要检测到以 “@bot” 开头的内容,同样会自动回复(方便自己触发),这对应配置项 group_chat_prefix

启动

我们直接后台启动:

1
2
touch nohup.out
nohup python3 app.py & tail -f nohup.out

行成功会输出一个二维码,使用微信扫码登录,,当输出 “Start auto replying” 时表示自动回复程序已经成功运行了(注意:用于登录的微信需要在支付处已完成实名认证)。扫码登录后你的账号就成为机器人了。

success

这个时候你就可以直接在私聊或者群聊里面 @bot 和ChatGPT对话。对话的内容同时会显示在以上的服务器运行窗口。

如下是微信在私聊窗口 @bot 自动触发的机器人回复。

wechat

如下是服务器运行窗口的消息。

message

到此为止我们ChatGPT接入到微信算是完成了,你可以在微信中跟ChatGPT对话了。

杀进程

如果想重启,很简单。

ps -ef | grep -v grep | grep app.py

然后找到进程ID,PID,也就是每一行最左边的数字 执行:

kill -9 PID

ChatGPT接入公众号配置

1.安装依赖

安装 werobot 依赖:

1
pip3 install werobot

2.修改配置

{
  "model": {
    "type" : "chatgpt",
    "openai": {
      "api_key": "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",
      "model": "gpt-3.5-turbo",
      "proxy": "http://127.0.0.1:7890",
      "conversation_max_tokens": 1000,
      "character_desc": "你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。"
    }
  },
  "channel": {
    "type": "wechat_mp",
     "wechat_mp": {
      "token": "abcdefghijklmnopqrstuvwxyz",
      "port": "80"
    }
  }
}

配置文件在最外层分成 modelchannel 两部分。

model部分为模型配置,其中的: type 指定了选用哪个模型:

  • chatgpt - 是gpt3.5 模型,我们默认填这个就好
  • openai - 是gpt3.0 模型

api_key 是你从openai官网生成的。 proxy 服务器在国外就不需要填写,在国内需要填写。

channel部分包含了应用渠道的配置type 字段指定了接入哪个应用。wechat_mp就是微信公众号。

  • token 随便设置,32位以内,后续在公众号里面填入相同的token即可。
  • port 填 80,因为公众号不支持自定义端口

3.运行程序

配置修改完成,依赖也安装好了,我们就可以运行程序了。

touch nohup.out
nohup python3 app.py & tail -f nohup.out
[INFO][2023-02-16 01:39:53][app.py:12] - [INIT] load config: ...
[INFO][2023-02-16 01:39:53][wechat_mp_channel.py:25] - [WX_Public] Wechat Public account service start!
Bottle v0.12.23 server starting up (using AutoServer())...
Listening on http://0.0.0.0:80/
Hit Ctrl-C to quit.

4.浏览器打开WeRoBot

浏览器输入你的服务器的IP地址打开WeRoBot页面代表服务正常运行。

注意: IP地址是公网IP,而不是内网IP,别填错了

这个IP地址的http链接后面需要填到公众号里面。

http://a.b.c.d/

werobot

5.设置公众号回调地址

微信公众平台 中进入个人订阅号,点击左边侧边栏的基本配置,然后点击右边修改配置,进入以下界面。

setting

URL就是你的服务器的IP地址:http://a.b.c.d/

Token就是你服务器的config.json配置的那个Token

消息加密密钥随机生成即可,选择默认的明文模式,点击提交

6.启用配置

修改完配置点击右方的启用配置,会显示为:服务器配置(已启用)。此时我们的服务器配置已经启用成功。

start

7.使用

用户关注订阅号后,发送消息即可。

bot

注:之前版本15s之内未回复就会提示输入继续,此版本我做了优化,把15s改为30s,实测绝大部分复杂的问题也能及时回复,不需要输入继续。

结语

今天把ChatGPT接入微信和微信公众号的教程就讲完了,下个教程我会继续教大家更多有用的教程。 <全文完>

视频教程

本篇博客的视频教程首发于 Youtube:科技小飞哥,加入 电报粉丝群 获得最新视频更新和问题解答。