此文章不涉及国外的AI模型,也无需翻墙,跟某AI模型无关,审核大哥别弄错了

最近的AI开始越开越火了,开始介入到我们生活中的方方面面。就有人好奇AI是否能接入到微信吗?我在GitHub上搜索的时候还真有除了对话外还可以通过插件来实现画图,定时提醒,快递查询等等功能,也不要太方面。下面我给大家讲讲如何在服务器上安装和他的插件的安装。

这些安装是我一步步摸索出来的,可能并不是最方便的,但就是成功了。

GitHub地址:https://github.com/zhayujie/chatgpt-on-wechat

准备工作

  1. 需要一个实名认证过的微信(最好是小号 原由我就不多说了,DDDD)
  2. 一台服务器:我选的是浪浪云服务器。别问为什么,问就是便宜好用。地址:浪浪云浪浪云服务器https://idc.langlangy.com/?i69ffe6
  3. LinkAI账号:需要此账号来实现刚才说的功能。地址:LinkAILink.AI 智能对话 midjourney AI绘画 AI应用创建 wechat接入 企业微信接入 公众号接入 ChatGPT4.0https://chat.link-ai.tech/home?share=oZaCnV
  4. ALAPI账号:此账号是用查询快递、天气等信息的。地址:ALAPIhttps://admin.alapi.cn/account/center
  5. 下载堡塔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账号来配置,如果不在会可以参考一下我的配置

根据自己的需求来配置就好了

注意:

  1. 只能调用一个模型,你用LinkAI其他模型就调用不了,个人觉得LinkAI挺好的,注意积分消耗,详细自己登录查看
  2. 如果像实现语音识别那就的有的第三方的语音识别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+城市天气,输入不正确或者查询失败返回北京天气)
  • 热榜查询。支持:

注册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

教程到这里就结束了,还有其他玩法和规则就交给大家自己来摸索吧!

都看到这里了点个赞再走吧!