智能体知识库对接个人微信/企业微信文档
个人版和企业微信对接文档
提示
我们使用 chatgpt-on-wechat 这个项目来接入;无论是个人微信还是企业微信都使用这个项目。项目对服务器配置要求不高,1核1G即可运行
需要设备
个人和企业的安装步骤都是一样的
1. 对接个人微信一台服务器,国内国外均可
2. 对接企业微信需要2台服务器,国内国外均可
3. 特别说明:企业微信的监听需要Windows的系统,所以需要2台服务器
4. 一个微信账号,个人和已认证的企业均支持
5. 个人微信号必须是已实名认证的微信号(未实名的无法登陆),企业微信需已认证
PS:觉的大厂的服务器太贵可联系在线客服转人工购买便宜的服务器
美国云服务器:三网直连精品
1H1G带宽峰值20M
特价:269/年/台美国云服务器:三网直连精品
2H2G带宽峰值20M
特价:329/年/台(额外+100元升级50M带宽)更多配置和价格联系人工客服咨询
接入个人/企业微信
接入个人微信
企业微信的接入在开源项目 chatgpt-on-wechat
的基础上进行;先介绍个人微信的接入。
提示
需要一次性对接企业微信和个人微信
建议安装Ubuntu22.04系统自带Python3.10.*环境
前期准备
先在发布智能体内创建企业微信获取到apikey,不管是个人或企业都是使用企业微信的apikey
环境搭建
1、系统安装
服务器购买过程中,经过多次测试只对接个人微信推荐选择 Ubuntu20.04
系统
一次性要对接个人和企业微信选择 Ubuntu22.04
系统,自带Python环境,不需要在去安装Python环境。
如果选错了或想更换其他系统,按照下图重装即可。
安装完成后,新手建议使用SSH工具远程登录,推荐使用 XTerminal
对新手比较友好,自行百度下载即可。
到这里Ubuntu系统和Python环境全都安装好了,如果没有Linux基础建议新手装一个宝塔面板,可以可视化修改配置文件。
2、宝塔安装
提示
如果使用的是 XTerminal
软件,可以跳过此步。
使用SSH远程工具登录服务器,然后输入下面的宝塔安装脚本(适用于Ubuntu)或自行去宝塔官网复制安装代码,按回车,输入 Y
即可自动安装宝塔面板。
wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec
等待安装完毕,会如下图所示,请保存外网访问地址核用户名以及密码
这里我们需要在服务器的安全组放行图中提示的 35413
端口(端口是随机的,按照上图提示开发相应的端口)
如果是在我们这购买的服务器,默认端口都是全开放,不需要这一步操作
开放端口以后,我们复制外网访问面板地址到浏览器,同意用户协议 、绑定手机号,不需要安装推荐的软件。
3、部署方式选择
部署方式建议云服务器直接部署和使用docker部署,不建议在本地和railway部署,本地环境复杂且不能24小时运行,railway不再提供免费额度且插件配置较为麻烦。
这里介绍服务器直接部署的方式,其他部署方式请参考 chatgpt-on-wechat
部署文档
部署流程
1、下载源码
进入命令行窗口,使用 git
命令克隆项目到我们的服务器(因为是从GitHub下载,国内网络时好时坏,可以多次尝试,实在不行可以手动下载项目文件夹,在使用scp上传到服务器,scp如何上传到服务器,自行百度使用教程)
并使用 cd
命令进入目录,然后使用 cp
命令复制模版配置文件并命名为 config.json
:
命令就按照每条逐一使用:
这是第二条国内镜像命令: git clone https://gitee.com/zhayujie/chatgpt-on-wechat
如果执行上边的指令下载不了,可以执行这条指令,能下载成功即可
git clone https://github.com/zhayujie/chatgpt-on-wechat
git clone https://gitee.com/zhayujie/chatgpt-on-wechat #国内镜像
cd chatgpt-on-wechat/
cp config-template.json config.json
使用了第一条 git
命令出现如下提示,是因为国内在GitHub下载时网络不好导致的
提示
Cloning into 'chatgpt-on-wechat'...
fatal: unable to access 'https://github.com/zhayujie/chatgpt-on-wechat/': GnuTLS recv error (-110): The TLS connection was non-properly terminated.
意思是克隆 遇到致命错误,无法访问该链接下载,
这时咱们换第二条 git
命令下载即可。
执行 pwd
命令,我们可以看到当前所在的目录为 /home/ubuntu/chatgpt-on-wechat
,我们到宝塔面板的文件选项卡可以一步步进入该目录(或者把刚刚的目录地址输入到宝塔地址栏回车),我这边使用的是 XTerminal
软件可以直接在操作面板操作。操作方法跟宝塔同理。
上图就是我们的 chatgpt-on-wechat
项目文件夹,config.json
就是我们上一步复制的配置文件,是项目的主配置文件。
下面我们先配置项目的运行环境,安装依赖。
2、安装依赖
演示安装的Ubuntu20.4(如果要对接企业微信推荐安装Ubuntu22.04系统自带python3.10环境),系统自带python3.8,所以python环境应该是没问题的,项目要求必须是3.7及以上,我们可以执行 python3 -V
来查看python版本,如下图所示:
然后我们执行以下命令安装项目的依赖: -i https://pypi.tuna.tsinghua.edu.cn/simple
代表的是使用国内的源,这样可以加快国内服务器依赖安装速度。(海外服务器也可以用)
注意⚠️
此时我们应该处于 chatgpt-on-wechat
目录下执行下面的命令,如果不在,可以使用 cd
命令切换到该目录下。
如果是使用XTerminal软件直接右击 chatgpt-on-wechat
📂文件夹 - 终端口 - 执行 CD命令到终端
如下图
cd chatgpt-on-wechat
pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple #必选依赖
pip3 install -r requirements-optional.txt -i https://pypi.tuna.tsinghua.edu.cn/simple #可选依赖,语音、tool创建等功能
解释:
pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simplet
#必选依赖pip3 install -r requirements-optional.txt -i https://pypi.tuna.tsinghua.edu.cn/simplet
#可选依赖,语音、tool插件等功能,建议2个都安装。
依赖安装成功如上图所示,黄色 warning
可以不用管。
3、配置
第一步中我们已经使用 cp config-template.json config.json
命令来生成了配置文件。
这里解释一下,文件名中一般带有template
的都是模板配置文件,需要把这个文件复制一下并重名为 config.json
,这个文件才是最终生效的文件!
我们回到左侧的控制台,找到 chatgpt-on-wechat
📂文件夹下的 config.json
文件,打开进行修改。
基本的都不需要修改,需要修改的有3处,如下图所示:
注意:
"channel_type": "wx", # 个人微信=wx,企业微信=wework
"open_ai_api_key": "YOUR API KEY", # 从发布智能体,选择企业微信中获得的密钥,以qwx-开头
"claude_api_key": "YOUR API KEY", # 同上
需要自己在增加一个api地址,用的是本站的基本都是以下域名,结尾的 /v1 是必须要加上的
"open_ai_api_base": "https://zai.2021it.com/api/v1",
如下图所示:
配置完后就可以启动项目,扫码登录使用了。其他配置按需设置即可,详细的参数说明可以参考配置说明
项目所有可以配置的参数都在 chatgpt-ob-wechat/config.py
文件写明了,把相应的参数复制到 config.json
进行配置即可,使用中可以按需增添及修改。
4、运行
一切准备就绪,可以启动程序了,在项目目录(chatgpt-on-wechat)下执行下面的命令,使用 nohup
命令在后台运行程序,即使断开命令行窗口也能保持运行。
touch nohup.out # 首次运行需要新建日志文件
nohup python3 app.py & tail -f nohup.out # 在后台运行程序并通过日志输出二维码
输出的二维码可能会乱码,可以复制二维码上边的链接在浏览器打开即可。扫码登录后,服务器log的最后一行会输出 Start auto replying.
字样日志,代表运行成功,可以对机器人进行提问,私聊的话记得加上前边设置的 single_chat_prefix
参数,如没设置就不用加。
5、Super智能AI知识库的智能体对接个人微信演示
私聊效果
群聊效果
6、注意事项
注意:
修改配置常见的一个问题就是使用了中文标点符号和多或少逗号,这些都会提示是json文件有问题,如下图所示,页面会提示,服务器log也会提示,有 JSONDecodeErro
字样,在log日志界面我们可以按下 CTRL+C
来回到执行命令界面:
至此, Super智能AI知识库
的智能体对接个人微信做在线机器人客服已经设置完毕,可以正常使用机器人了。
7、修改配置后运行(个人微信或企业微信都是用这个命令)
我们如果想修改 config.json
里面的配置项,可以在宝塔或 XTerminal
软件内直接修改,然后运行下面的命令关掉正在运行的项目,再重新运行项目即可生效!(同样需要在项目根目录运行)
ps -ef | grep app.py | grep -v grep # 可以查看当前进程的 pid:
kill xxx # xxx是上一条命令运行后显示的进程pid
nohup python3 app.py & tail -f nohup.out # 运行项目
接入企业微信
注意事项
企业微信需要下载一个指定的企业微信版本 用来监听
需要用到 Windows系统
才能监听
下载地址: WeCom_4.0.8.6027版本
使用企业微信还需要在安装一个ntwork依赖。
这个依赖你可能无法安装上,你可以用国内源安装
PS: 经测试需要使用 3.10.*
python的版本才能安装该依赖, 否则可能会提示找不到依赖包的错误。
这里需要用到一个 Windows系统
来24小时挂着企业微信,安装过程跟个人微信一样,只是多了一个Windows系统,如果不需要24小时挂着就在本地电脑安装依赖。
pip install ntwork
以上的命令无法安装就用以下的国内源安装命令
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple ntwork
修改主项目 config.json
文件内
"channel_type": "wework"
"wework_smart": true
运行多个机器人
如果想一台服务器运行多个机器人,有2种方式:
1. 宝塔方式 如果使用的是宝塔面板把 chatgpt-on-wechat
这个项目文件夹整体复制一下,并改个名字方便识别!
2. SSH远程软件: 如果使用的是 XTerminal
软件,直接调用命令复制
cp -r /root/chatgpt-on-wechat /root/chatgpt-on-wechat-2
注意:
cp -r /root/chatgpt-on-wechat /root/chatgpt-on-wechat-2
这条命令是根据你服务器的名称还有文件夹的位置,每个人都是不同的,不要直接复制使用。输入命令后需要等待一会儿就复制成功了。
调用命令
在命令行,我们使用 cd ..
命令进入上一级目录,然后使用 ls
命令查看当前目录的所有文件(夹),
然后 cd chatgpt-on-wecha-2/
切换到新复制的项目文件夹,
在该目录下运行项目( nohup python3 app.py & tail -f nohup.out
),即可用另外一个号扫码登录来做第二个机器人,修改该目录下的 config.json
文件即可配置第二个机器人相关的参数!
使用 XTerminal
软件,直接在第二个项目文件夹右键,执行CD到终端。 参考安装依赖的操作
配置说明
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
配置项则支持模糊匹配群消息内容,用法与上述两个配置项相同。 group_chat_in_one_session
: 使群聊共享一个会话上下文,配置["ALL_GROUP"]
则作用于所有群聊
3.语音识别
- 添加
"speech_recognition": true,
将开启语音识别,默认使用openai的whisper模型识别为文字,同时以文字回复,该参数仅支持私聊 (注意由于语音消息无法匹配前缀,一旦开启将对所有语音自动回复,支持语音触发画图); - 添加
"group_speech_recognition": true,
将开启群组语音识别,默认使用openai的whisper模型识别为文字,同时以文字回复,参数仅支持群聊 (会匹配group_chat_prefix
和group_chat_keyword,
支持语音触发画图); - 添加 "voice_reply_voice": true 将开启语音回复语音(同时作用于私聊和群聊)