此文章不涉及国外的AI模型,也无需翻墙,跟某AI模型无关,审核大哥别弄错了
最近的AI开始越开越火了,开始介入到我们生活中的方方面面。就有人好奇AI是否能接入到微信吗?我在GitHub上搜索的时候还真有除了对话外还可以通过插件来实现画图,定时提醒,快递查询等等功能,也不要太方面。下面我给大家讲讲如何在服务器上安装和他的插件的安装。
这些安装是我一步步摸索出来的,可能并不是最方便的,但就是成功了。
GitHub地址:https://github.com/zhayujie/chatgpt-on-wechat
视频教程:COW项目 把微信小号变成Ai 保姆教程_哔哩哔哩_bilibili
准备工作
- 需要一个实名认证过的微信(最好是小号 原由我就不多说了,DDDD)
- 一台服务器:我选的是浪浪云服务器。别问为什么,问就是便宜好用。地址:浪浪云浪浪云服务器https://idc.langlangy.com/?i69ffe6
- LinkAI账号:需要此账号来实现刚才说的功能。地址:LinkAILink.AI 智能对话 midjourney AI绘画 AI应用创建 wechat接入 企业微信接入 公众号接入 ChatGPT4.0https://chat.link-ai.tech/home?share=oZaCnV
- ALAPI账号:此账号是用查询快递、天气等信息的。地址:ALAPIhttps://admin.alapi.cn/account/center
- 下载堡塔SSH终端,当然你喜欢别的远程工具也可以。
第一步:购买服务器
先注册登录浪浪云,在实名认证。浪浪云浪浪云服务器https://idc.langlangy.com/?i69ffe6之后打开云服务器——购买服务器
你要是想搞来玩玩那就选跟我一样的,如果有别的要求那就自行选择
我习惯了CentOS7,你喜欢别的你随意
操作系统选ContOS7(宝塔国内版),其他根据自身需求更改
等你支付完以后打开云服务器——打开管理
在我标红的地方有一个IP地址和端口号,记住他!待会儿有用。密码可以点击复制
第二步,下载堡塔SSH终端
在这个网址下载宝塔SSH终端:一款同时支持SSH和SFTP客户端的免费软件! 下载堡塔SSH终端
下载完打开下载堡塔SSH终端。点击添加服务器
会出现填写信息的地方,选Linux——IP地址(填写上面记住的IP地址)——端口(也修改成上面记住的端口地址)——密码(填写刚才复制的密码)
第三步:在服务器上部署 chatgpt-on-wechat
安装python
因为chatgpt-on-wechat 需要在python3 环境下运行,但ContOS 7默认的是python2.7,所以我们需要下载一个python3.8版本。
1.安装依赖
编译python源码时,需要一些依赖包,一次安装完毕
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel
注意:安装过程中别乱动电脑
2. 安装wget
这个包是为了下载python源码用的
yum install wget
注意:安装过程中别乱动电脑
3.下载源码包
我是下载的最新的python3.8,如果想安装其他版本,去python官网下载页面下载对应的版本即可。
这个下载会很慢,请耐心等待!
wget https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz
注意:安装过程中别乱动电脑
4.解压安装
解压压缩包
tar -zxvf Python-3.8.1.tgz
进入文件夹
cd Python-3.8.1
配置安装位置
./configure prefix=/usr/local/python3
安装
make && make install
如果最后没提示出错,就代表正确安装了,在/usr/local/目录下就会有python3目录
5.添加软连接
添加python3的软链接
ln -s /usr/local/python3/bin/python3.8 /usr/bin/python3
添加 pip3 的软链接
ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip3
6.测试
如果上述代码都没有报错说明安装成功,可用python3命令来测试
cd ~ 命令可以退回根目录
想退出 Ctrl+Z 就可以退出
部署项目
1.安装git命令
sudo yum install git
这里选 y 就可以可以了
注意:安装过程中别乱动电脑
2.下载源码
安装完git以后就可以下载从GitHub下载源码
git clone https://github.com/zhayujie/chatgpt-on-wechat
注意:安装过程中别乱动电脑
3.安装依赖
先进入 chatgpt-on-wechat 目录
cd chatgpt-on-wechat/
pip3 install -r requirements-optional.txt
升级pip命令
sudo pip3 install --upgrade pip
这是必须依赖的,所以一定要下载
pip3 install -r requirements.txt
这是非必选,语音、tool插件等功能需要,根据自己需求来安排(我建议下载)
pip3 install -r requirements-optional.txt
4.注册LinkAI
LinkAILink.AI 智能对话 midjourney AI绘画 AI应用创建 wechat接入 企业微信接入 公众号接入 ChatGPT4.0https://chat.link-ai.tech/home?share=oZaCnV
进入注册一个账号
注册号账号以后打开 应用接入 会看到一个创建API Key 如果没显示你就创建一个Key,有的话直接复制待会儿有用
然后打开我的应用——点击创建应用
填写完信息后会出现 我的应用 会有code有一个记住他待会儿有用,然后打开设置
这里会有一个模型设置根据自己情况来选择
往下拉,会有插件配置,也是根据自己的情况来定。定完点击上面的保存
返回首页可以看到别人公开的知识库你也可以调用
这个LinkAI调用并不是免费的,用积分来消费,每天签到都可以领积分,也可以花钱购买积分,详细的你们自己去 我的账户 哪里看看
5.配置
因为项目在更新所以配置文件也会随之需要调一下参数,可以看一下config.py文件的参数
或者可以关注一下我的专栏,有好玩的更新我会出教程告知大家https://blog.csdn.net/m0_69655483/category_12492160.html
也有大家在常见的问题的解答
打开SSH远程登录工具在 chatgpt-on-wechat 目录下完成下面的操作
复制项目中的模板文件 config-template.json
,来生成最终起效果的配置文件config.json
,你可以通过执行以下命令完成
cp config-template.json config.json
然后用 vi 命令打开 config.json 文件
vi config.json
打开后,用英文输入法状态下点击键盘上的字母 i 开始编辑
我们可以用我们刚才注册的LinkAI账号来配置,如果不在会可以参考一下我的配置
根据自己的需求来配置就好了
注意:
- 只能调用一个模型,你用LinkAI其他模型就调用不了,个人觉得LinkAI挺好的,注意积分消耗,详细自己登录查看
- 如果像实现语音识别那就的有的第三方的语音识别API,比如百度语音。
这是开发者提供的给我们配置参考
# openai api配置 "open_ai_api_key": "", # openai api key # openai apibase,当use_azure_chatgpt为true时,需要设置对应的api base "open_ai_api_base": "https://api.openai.com/v1", "proxy": "", # openai使用的代理 # chatgpt模型, 当use_azure_chatgpt为true时,其名称为Azure上model deployment名称 "model": "gpt-3.5-turbo", # 还支持 gpt-3.5-turbo-16k, gpt-4, wenxin, xunfei "use_azure_chatgpt": False, # 是否使用azure的chatgpt "azure_deployment_id": "", # azure 模型部署名称 "azure_api_version": "", # azure api版本 # Bot触发配置 "single_chat_prefix": ["bot", "@bot"], # 私聊时文本需要包含该前缀才能触发机器人回复 "single_chat_reply_prefix": "[bot] ", # 私聊时自动回复的前缀,用于区分真人 "single_chat_reply_suffix": "", # 私聊时自动回复的后缀,/n 可以换行 "group_chat_prefix": ["@bot"], # 群聊时包含该前缀则会触发机器人回复 "group_chat_reply_prefix": "", # 群聊时自动回复的前缀 "group_chat_reply_suffix": "", # 群聊时自动回复的后缀,/n 可以换行 "group_chat_keyword": [], # 群聊时包含该关键词则会触发机器人回复 "group_at_off": False, # 是否关闭群聊时@bot的触发 "group_name_white_list": ["ChatGPT测试群", "ChatGPT测试群2"], # 开启自动回复的群名称列表 "group_name_keyword_white_list": [], # 开启自动回复的群名称关键词列表 "group_chat_in_one_session": ["ChatGPT测试群"], # 支持会话上下文共享的群名称 "group_welcome_msg": "", # 配置新人进群固定欢迎语,不配置则使用随机风格欢迎 "trigger_by_self": False, # 是否允许机器人触发 "image_create_prefix": ["画", "看", "找"], # 开启图片回复的前缀 "concurrency_in_session": 1, # 同一会话最多有多少条消息在处理中,大于1可能乱序 "image_create_size": "256x256", # 图片大小,可选有 256x256, 512x512, 1024x1024 # chatgpt会话参数 "expires_in_seconds": 3600, # 无操作会话的过期时间 # 人格描述 "character_desc": "你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。", "conversation_max_tokens": 1000, # 支持上下文记忆的最多字符数 # chatgpt限流配置 "rate_limit_chatgpt": 20, # chatgpt的调用频率限制 "rate_limit_dalle": 50, # openai dalle的调用频率限制 # chatgpt api参数 参考https://platform.openai.com/docs/api-reference/chat/create "temperature": 0.9, "top_p": 1, "frequency_penalty": 0, "presence_penalty": 0, "request_timeout": 60, # chatgpt请求超时时间,openai接口默认设置为600,对于难问题一般需要较长时间 "timeout": 120, # chatgpt重试超时时间,在这个时间内,将会自动重试 # Baidu 文心一言参数 "baidu_wenxin_model": "eb-instant", # 默认使用ERNIE-Bot-turbo模型 "baidu_wenxin_api_key": "", # Baidu api key "baidu_wenxin_secret_key": "", # Baidu secret key # 讯飞星火API "xunfei_app_id": "", # 讯飞应用ID "xunfei_api_key": "", # 讯飞 API key "xunfei_api_secret": "", # 讯飞 API secret # claude 配置 "claude_api_cookie": "", "claude_uuid": "", # wework的通用配置 "wework_smart": True, # 配置wework是否使用已登录的企业微信,False为多开 # 语音设置 "speech_recognition": False, # 是否开启语音识别 "group_speech_recognition": False, # 是否开启群组语音识别 "voice_reply_voice": False, # 是否使用语音回复语音,需要设置对应语音合成引擎的api key "always_reply_voice": False, # 是否一直使用语音回复 "voice_to_text": "openai", # 语音识别引擎,支持openai,baidu,google,azure "text_to_voice": "baidu", # 语音合成引擎,支持baidu,google,pytts(offline),azure,elevenlabs # baidu 语音api配置, 使用百度语音识别和语音合成时需要 "baidu_app_id": "", "baidu_api_key": "", "baidu_secret_key": "", # 1536普通话(支持简单的英文识别) 1737英语 1637粤语 1837四川话 1936普通话远场 "baidu_dev_pid": "1536", # azure 语音api配置, 使用azure语音识别和语音合成时需要 "azure_voice_api_key": "", "azure_voice_region": "japaneast", # elevenlabs 语音api配置 "xi_api_key": "", #获取ap的方法可以参考https://docs.elevenlabs.io/api-reference/quick-start/authentication "xi_voice_id": "", #ElevenLabs提供了9种英式、美式等英语发音id,分别是“Adam/Antoni/Arnold/Bella/Domi/Elli/Josh/Rachel/Sam” # 服务时间限制,目前支持itchat "chat_time_module": False, # 是否开启服务时间限制 "chat_start_time": "00:00", # 服务开始时间 "chat_stop_time": "24:00", # 服务结束时间 # 翻译api "translate": "baidu", # 翻译api,支持baidu # baidu翻译api的配置 "baidu_translate_app_id": "", # 百度翻译api的appid "baidu_translate_app_key": "", # 百度翻译api的秘钥 # itchat的配置 "hot_reload": False, # 是否开启热重载 # wechaty的配置 "wechaty_puppet_service_token": "", # wechaty的token # wechatmp的配置 "wechatmp_token": "", # 微信公众平台的Token "wechatmp_port": 8080, # 微信公众平台的端口,需要端口转发到80或443 "wechatmp_app_id": "", # 微信公众平台的appID "wechatmp_app_secret": "", # 微信公众平台的appsecret "wechatmp_aes_key": "", # 微信公众平台的EncodingAESKey,加密模式需要 # wechatcom的通用配置 "wechatcom_corp_id": "", # 企业微信公司的corpID # wechatcomapp的配置 "wechatcomapp_token": "", # 企业微信app的token "wechatcomapp_port": 9898, # 企业微信app的服务端口,不需要端口转发 "wechatcomapp_secret": "", # 企业微信app的secret "wechatcomapp_agent_id": "", # 企业微信app的agent_id "wechatcomapp_aes_key": "", # 企业微信app的aes_key # chatgpt指令自定义触发词 "clear_memory_commands": ["#清除记忆"], # 重置会话指令,必须以#开头 # channel配置 "channel_type": "wx", # 通道类型,支持:{wx,wxy,terminal,wechatmp,wechatmp_service,wechatcom_app} "subscribe_msg": "", # 订阅消息, 支持: wechatmp, wechatmp_service, wechatcom_app "debug": False, # 是否开启debug模式,开启后会打印更多日志 "appdata_dir": "", # 数据目录 # 插件配置 "plugin_trigger_prefix": "$", # 规范插件提供聊天相关指令的前缀,建议不要和管理员指令前缀"#"冲突 # 是否使用全局插件配置 "use_global_plugin_config": False, # 知识库平台配置 "use_linkai": true, "linkai_api_key": "输入你记得key", "linkai_app_code": "输入你记得code", "linkai_api_base": "https://api.link-ai.chat", # linkAI服务地址,若国内无法访问或延迟较高可改为 https://api.link-ai.tech
配置完成后 点击键盘上的 Esc —— 然后用英文输入法状态下 Shift + :—— 在输入wq —— 按回车就好了
6. 运行程序
打开SSH远程登录工具在 chatgpt-on-wechat 目录下完成下面的操作
首次运行需要新建日志文件
touch nohup.out
在后台运行程序并通过日志输出二维码
nohup python3 app.py & tail -f nohup.out
扫码登录 (最好用实名认证过的小号) 后程序即可运行于服务器后台,此时可通过 ctrl+c 关闭日志,不会影响后台程序的运行。在日志关闭后如果想要再次打开只需输入 tail -f nohup.out
。
项目已经部署完了,下面我们安装一下插件
插件安装
godcmd(管理员插件)
这个必须安装因为,有些插件需要管理员权限才可以使用或下载
打开SSH远程登录工具在 chatgpt-on-wechat 目录下完成下面的操作
打开 plugins/godcmd 目录
cd plugins/godcmd
config.json.template
复制为 config.json
cp config.json.template config.json
再用 vi 命令打开 config.json 文件
vi config.json
用英文输入法状态下点击键盘上的字母 i 开始编辑
修改其中password
的值为你想设置的口令,比如:123456,都行
修改完成后 点击键盘上的 Esc —— 然后用英文输入法状态下 Shift + :—— 在输入wq —— 按回车就好了
先返回到 chatgpt-on-wechat 目录下
cd ~/chatgpt-on-wechat
然后重新日志输出二维码,重新登录
nohup python3 app.py & tail -f nohup.out
之后私聊中输入#auth 12345(这里是你设置的口令)
进行管理员认证
认证之后对话框发送#help
可以打印出管理员相关指令
通用指令
#help : 回复此帮助
#help 插件名: 回复指定插件的详细帮助
#model : 查看和设置全局模型
#reset : 重置会话可用插件
linkai:用于集成 LinkAI 提供的知识库、Midjourney绘画、文档总结、联网搜索等能力。
Apilot:发送特定指令以获取早报、查询天气、星座运势、快递信息等!
tool:这是一个能让chatgpt联网,搜索,数字运算的插件,将赋予强大且丰富的扩展能力。
角色扮演:让机器人扮演不同的角色。
文字冒险:可以和机器人一起玩文字冒险游戏。
画图插件
在 chatgpt-on-wechat 打开 plugins 下的 linkai 文件
cd plugins/linkai
跟刚才一样 config.json.template
复制为 config.json
cp config.json.template config.json
再用 vi 命令打开 config.json 文件
用英文输入法状态下点击键盘上的字母 i 开始编辑
vi config.json
在下面填写参数 "linkai_api_key": "Link_MnBxoUvKxxxxxxHwGtP6" 即可(里面的API Key填
你们的,刚刚注册过忘了回去看)
注意:在倒数第二个花括号后面有一个逗号
修改完成后 点击键盘上的 Esc —— 然后用英文输入法状态下 Shift + :—— 在输入wq —— 按回车就好了
返回到wechat 目录,重新扫码登录
nohup python3 app.py & tail -f nohup.out
在私人聊天框输入 #help linkai 获取插件的帮助信息了。如果提示不存在或者未启用,先打开管理员权限 #auth 后面是你设置的口令,然后输入#enablep linkai 就可以启用了
我这设置的是在私信里不用前缀就可以调用,你们要是设置了那就按设置的走
这里注意: 这个命令 $linkai app Kv2fXJcH 后面加上你自己的或者首页别人的 code 就可以可以调用这个知识库或者扮演的角色
就可以私信里命令他给你画图,比如画一个小猫
因为我的这个参数有画,所以我用画开头就可以调用绘画功能
Apliot插件
目前可返回早报(图片形式)、微博热搜、摸鱼日历、星座运势,快递信息,天气等
- 快递查询格式:快递+快递编号。如:快递YT2505082504474
- 对话框发送“早报”、“摸鱼”、"微博热搜(已更新为"微博热榜)"、”任意星座名称”可以直接返回对应的内容!
- 天气查询格式:城市+天气。如:成都天气。(支持3400+城市天气,输入不正确或者查询失败返回北京天气)
- 热榜查询。支持:<微博/虎扑/知乎/哔哩哔哩/36氪/抖音/少数派/IT最新/IT科技>
注册ALAPI账号
只要你注册就送你一个年免费使用
ALAPIhttps://admin.alapi.cn/dashboard/workplace注册完以后在 个人管理——个人中心——可以看到token 复制好他
安装插件
返回到微信聊天界面,#auth 12345(后面是你自己设置的命令) 命令进行管理员权限,
在微信上用这段命令来进行安装插件,请耐心等待这一步有点慢。
#installp https://github.com/6vision/Apilot.git
扫描插件
#scanp
开启插件
#enablep Apilot
配置文件
到这一步也可以使用一部分接口,部分接口(快递、天气)需要配置alapi的token
所以打开运程工具在 chatgpt-on-wechat 打开 plugins 下的 Apilot文件
cd plugins/Apilot
跟刚才一样 config.json.template
复制为 config.json
cp config.json.template config.json
再用 vi 命令打开 config.json 文件
用英文输入法状态下点击键盘上的字母 i 开始编辑
vi config.json
在这里填写你刚才复制token
修改完成后 点击键盘上的 Esc —— 然后用英文输入法状态下 Shift + :—— 在输入wq —— 按回车就好了
返回到 chatgpt-on-wechat 目录,日志输出二维码扫码登录就好了
nohup python3 app.py & tail -f nohup.out
timetask(定时任务插件)
返回到微信聊天界面,#auth 12345(后面是你自己设置的命令) 命令进行管理员权限,
在微信上用这段命令来进行安装插件,请耐心等待这一步有点慢。
#installp https://github.com/haikerapples/timetask.git
扫描插件
#scanp
开启插件
#enablep timetask
教程到这里就结束了,还有其他玩法和规则就交给大家自己来摸索吧!
都看到这里了点个赞再走吧!