微信AI助手来了:如何利用ChatGPT简化你的日常

ChatGPT-on-WeChat介绍

打造微信AI超级助手,我们需要借助ChatGPT-on-WeChat来实现。

ChatGPT-on-WeChat (CoW) 项目是一个基于ChatGPT技术构建的智能聊天机器人,该项目利用了GPT3.5/4.0 API以及itchat框架,支持在个人微信、微信公众号和企业微信上部署。CoW 能够生成文本、语音和图片,并且能够访问操作系统和互联网,提供丰富的互动体验。

该项目的最新版本具备以下功能:

  1. 多端部署:支持接入个人微信、微信公众号、企业微信应用,增强了项目的适用范围和灵活性。

  2. 基础对话:实现了私聊及群聊的消息智能回复功能,支持多轮会话的上下文记忆,以及GPT-3, GPT-3.5, GPT-4, 文心一言模型等多种语言模型。

  3. 语音识别:可以识别语音消息,并通过文字或语音回复,支持多种语音模型如azure, baidu, google, openai等。

  4. 图片生成:支持图片生成和图生图(如照片修复),可使用Dell-E, stable diffusion, replicate, Midjourney等多种模型。

  5. 丰富插件:提供个性化插件扩展功能,包括多角色切换、文字冒险游戏、敏感词过滤、聊天记录总结等插件,增加了项目的可玩性和实用性。

  6. Tool工具:支持与操作系统和互联网的交互,能进行最新信息搜索、数学计算、天气和资讯查询、网页总结等操作,基于chatgpt-tool-hub实现。

  7. 知识库:允许用户通过上传知识库文件来自定义专属的机器人,可以用作数字分身、领域知识库或智能客服,基于LinkAI技术实现。
    在这里插入图片描述

一、Python环境推荐

官方推荐的python版本为 3.7.1 ~ 3.9.X 之间,太高或者太低,均可能出现问题,我一开始就是版本太高,程序运行过程中出现异常。

安装教程我就不写了,网上有很多。

二、获取API

1.使用ChatGPT API

使用ChatGPT API,这个前提是你的ChatGPT API有余额

查询账号是否有余额:https://platform.openai.com/account/usage

查询账号api_key地址:https://platform.openai.com/api-keys

如果之前没有创建过,手动创建一个就可以,api_key是sk开头的这个

默认情况下,我们只需要修改model、open_ai_api_key、proxy三个属性就可以

2.使用LinkAI官方提供的应用

进入LinkAI官网

进入控制台
在这里插入图片描述
创建应用
在这里插入图片描述
填写完应用名称和描述一键生成
在这里插入图片描述
这里我选择了轻应用,如果你想把自己的资料投喂给机器人可以使用知识库应用。

创建完可以进行修改调试,应用code在后面配置config.json时需要。

在插件配置这块,可以根据自己需求来选择相应的插件进行配置。
在这里插入图片描述
可以在我的账户查看余额
在这里插入图片描述
在应用接入里面创建Api Key,这个在后面配置config.json时需要
在这里插入图片描述

三、运行chatgpt-on-wechat程序

config.json配置:
在这里插入图片描述
默认配置说明
在这里插入图片描述
我们在后面创建应用详情页,可以得到应用code;在应用接入页面,得到api key。

使用linkai:

在config.json配置里,将use_linkai后面的false改为true,然后将api_key和app_code填写好,保存就可以了

"use_linkai": true,
"linkai_api_key": "",
"linkai_app_code": ""

四种方式部署

Docker部署:

使用docker部署无需下载源码和安装依赖,只需要拉取镜像并根据 docker-compose.yml 配置文件启动容器即可。

前提是安装好 dockerdocker-compose,安装成功的表现是执行 docker -vdocker compose version (或 docker-compose version) 可以查看到版本号,可前往 docker官网 进行下载。

(1) 配置 docker-compose.yml

执行以下命令下载 docker-compose.yml

wget https://open-1317903499.cos.ap-guangzhou.myqcloud.com/docker-compose.yml

接着打开文件,修改或添加所需的配置,如 OPEN_AI_API_KEYGROUP_NAME_WHITE_LIST 等必填配置。

(2) 启动容器

在 docker-compose.yml 所在目录下执行以下命令启动容器:

sudo docker-compose up -d

运行 sudo docker ps 能查看到 NAMES 为 chatgpt-on-wechat 的容器即表示运行成功。

提示

如果 docker-compose 是 1.X 版本 则需要执行 sudo docker-compose up -d 来启动容器

该命令会自动去 docker hub拉取 latest 版本的镜像,latest 镜像会在每次项目 release 新的版本时生成

最后运行以下命令可查看容器运行日志,扫描日志中的二维码即可完成登录:

sudo docker logs -f chatgpt-on-wechat

(3) 停止容器

执行以下命令可以关闭服务:

sudo docker-compose down

注意:如果修改了 docker-compose.yml 中的配置,需要关闭容器后再重新启动才能生效,只执行 docker restart 是不起作用的。

本地运行

(1) 下载源码

在命令行使用 git 克隆项目:

git clone https://github.com/zhayujie/chatgpt-on-wechatcd chatgpt-on-wechat/

进入项目目录

cd 项目目录
进入后,我们分两次执行以下指令

(2) 安装依赖

我们分两次执行以下指令

pip3 install -r requirements.txt                # 必选依赖
pip3 install -r requirements-optional.txt       # 可选依赖,语音、tool插件等功能需要

(3) 配置

复制项目中的模板文件 config-template.json,来生成最终起效果的配置文件config.json,你可以通过执行以下命令完成:

cp config-template.json config.json

然后打开 config.json 文件,添加所需配置。

(4) 运行

一切准备就绪,可以启动程序了,直接在项目目录下执行:

python3 app.py

扫描输出的二维码即可完成登录。如果你使用的是 pycharm 等IDE,就更方便了,点击运行按钮就可以直接运行。
在这里插入图片描述

服务器部署

(1) 下载源码

在命令行使用 git 克隆项目并进入目录:

git clone https://github.com/zhayujie/chatgpt-on-wechatcd chatgpt-on-wechat/

(2) 安装依赖

pip3 install -r requirements.txt                # 必选依赖
pip3 install -r requirements-optional.txt       # 可选依赖,语音、tool插件等功能需要

(3) 配置

复制项目中的模板文件 config-template.json,来生成最终起效果的配置文件config.json,你可以通过执行以下命令完成:

cp config-template.json config.json

然后打开 config.json 文件,添加所需配置。

(4) 运行程序

使用nohup命令在后台运行程序,即使断开ssh连接也能保持运行:

touch nohup.out                                   # 首次运行需要新建日志文件  
nohup python3 app.py & tail -f nohup.out          # 在后台运行程序并通过日志输出二维码

扫码登录后程序即可运行于服务器后台,此时可通过 ctrl+c 关闭日志,不会影响后台程序的运行。在日志关闭后如果想要再次打开只需输入 tail -f nohup.out

(5) 停止程序

如果想要关闭程序可以 执行 kill -9 <pid>来完成,执行以下命令可以查看当前进程的 pid:

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

Railway部署

Railway 一键部署需要注册时间满半年的github账号,每月会提供5美金和最多500小时的免费额度。Railway部署仅适用于个人微信,暂不支持企业微信和公众号的部署,且插件配置不方便,适合快速体验。

(1)授权Github账户

首先进入 Railway,使用github进行登录,点击 “Deploy Now” 按钮,授权你的 github 账号,然后进行配置:

在这里插入图片描述

其中有两个配置是必填的,其他的暂时都可以暂时先用默认值,一个是 open_ai_api_key, 这个正是我们上一步在官网注册的apiKey, group_name_white_list 则指定了哪些群聊需要开启自动回复,你可以配置为 ["ALL_GROUP"] 来开启所有群聊。

(2)部署

部署完成后,日志中会输出二维码,使用手机微信扫码登录,登录成功后你的账号就变成一个ChatGPT机器人了。
在这里插入图片描述

(3)配置修改

如果后续需要修改或添加配置,可在 Variables 中进行更新:
在这里插入图片描述

然后执行 “restart” 即可使配置生效:
在这里插入图片描述

四、玩转插件

该项目受到用户和开发者的广泛欢迎,开发者为其贡献了许多实用插件。

安装插件前,请仔细阅读插件说明,并根据需要修改配置文件。插件和相应的配置模板可在对应的插件目录下找到。

安装方法:

项目已经预置一些插件可在/plugins/目录下查看,如需安装其他插件参考以下两种方法

  1. 手动安装:请将下载的插件文件解压至“plugins”目录下的专属子文件夹中,确保插件代码位于plugins/PLUGIN_NAME/路径下。程序启动时,将自动扫描并加载目录结构正确的插件。同时,别忘了安装子文件夹内requirements.txt指定的必要依赖,以确保插件正常运行。。

  2. 使用管理插件:通过使用Godcmd插件,这个内置的管理员工具允许您在程序运行时安装其他插件,并自动处理所需的依赖安装。使用“#installp 插件名/仓库地址”的命令来安装插件,这是一项专为管理员设计的功能,需要通过特定的认证方法进行验证。无论是安装已记录在仓库中的插件,还是直接从指定的GitHub仓库地址安装,Godcmd都提供了灵活的安装选项。

认证方法:

将config.json.template复制为config.json,并修改其中password的值为口令。

如果没有设置命令,在命令行日志中会打印出本次的临时口令,请注意观察,打印格式如下。

[INFO][2023-04-06 23:53:47][godcmd.py:165] - [Godcmd] 因未设置口令,本次的临时口令为0971。

在私聊中可使用#auth指令,输入口令进行管理员认证。更多详细指令请输入#help查看帮助文档:

#auth <口令> - 管理员认证,仅可在私聊时认证。 #help - 输出帮助文档,是否是管理员和是否是在群聊中会影响帮助文档的输出内容。

安装插件后,执行#scanp命令可扫描并加载新插件,或重启程序以自动识别。

同时,使用#enablep plugin_name命令激活插件。

项目启动时,自动在plugins/目录下生成一个plugins.json文件,反映了插件的启用状态。

若需启用未激活的插件,直接编辑该文件或通过命令行激活。配置错误导致插件禁用时,需在修正后将plugins.json中对应的“enabled”标记为“true”并重启项目以应用更改。

在这里插入图片描述

介绍我常用的插件目录

godcmd(管理员插件)

首先,在plugin/godcmd目录下,复制config.json.template文件为config.json,并设置其中的password值为您的自定义口令,例如12345。随后,在私聊环境中输入#auth 12345以进行管理员验证。验证成功后,发送#help命令会列出所有管理员操作指令,包括配置重载、插件安装以及插件的启用与禁用操作。

在这里插入图片描述

如果没有设置管理员口令,应用启动会生成一个临时口令,如下图所示:

在这里插入图片描述
在这里插入图片描述

临时口令验证:

在这里插入图片描述

注意:对于“admin_users”字段的设置,当使用个人微信时不需填写,因为个人微信的ID在每次重启后可能会更改。若是企业微信或公众号,您可以通过发送#id命令来获取用户ID,然后将获取到的ID填入此字段以完成配置。

summary(总结插件)

支持以自然语言实现对聊天记录的总结,认证管理员后执行#installp summary安装

$ 总结最近20条消息
$ 总结3小时内的消息

tool(强大工具集):

插件为ChatGPT赋予了联网、搜索和数字运算的能力,极大地扩展了其功能。要使用此插件,只需在机器人的回复前加上$tool即可;也可以通过此命令返回tool插件的帮助信息,帮助检测插件是否成功加载。更详细的使用说明和API申请方法,以及config.json的配置示例,请参考项目的GitHub页面。

使用说明:https://github.com/goldfishh/chatgpt-on-wechat/blob/master/plugins/tool/README.md

api申请:https://github.com/goldfishh/chatgpt-tool-hub/blob/master/docs/apply_optional_tool.md

config.json配置示例(后续如有改动,请参考最新代码的配置模板):
在这里插入图片描述

timetask(定时任务插件)

简介:一款支持自定义定时任务的chatgpt-on-wechat插件,支持自定义时间、轮询周期、自定义时间,包含动态添加任务、取消任务、查看任务列表等功能,一款定时任务系统的插件。(稳定性待优化)

地址:https://github.com/haikerapples/timetask

安装:

  • #auth 口令 认证管理员

  • #installp https://github.com/haikerapples/timetask.git 安装插件,会自动安装依赖

  • 到插件目录更改config.json文件的配置

  • #scanp 扫码新插件

  • #enablep timetask 启用该插件

使用说明,请查看插件作者仓库readme说明。

在这里插入图片描述

还有更多插件我就不一一介绍啦,等你去发现。

利用ChatGPT-on-WeChat打造的微信AI助手,能够通过集成多种插件来实现丰富和多样的功能,从而极大地扩展了微信的应用场景。这种方式为用户提供了个性化的服务,增强了用户体验,同时也为开发者打开了创新应用的大门。

需要注意的是,避免过于频繁的尝试,以免面临封号风险。万一不慎被封,按照简单的解封步骤邀请好友帮助即可轻松解决。

  • 20
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值