欢迎访问王牌网络(WPOK.CN)- 更多精彩内容请关注公众号:王牌客栈,合作/交流微信:860056696!
当前位置:首页>AI>基于LinkAI和CoW项目, 手把手打造智能微信机器人

基于LinkAI和CoW项目, 手把手打造智能微信机器人

LinkAI简介

LinkAI[1]是极简未来科技旗下的企业级一站式 AI 智能体搭建与接入平台产品。聚合多模态大模型、知识库、Agent插件、工作流等能力,并基于丰富的应用接入和管理能力,为用户提供将 LLM 大语言模型落地应用的强大SaaS平台。可零代码搭建集私有知识和特定任务执行能力于一体的 Agent 智能体,并一键接入主流 IM 和办公协同平台实现对话式营销、智能客服与办公效率助手等业务场景。

ChatGPT-on-WeChat简介

chatgpt-on-wechat[2]项目是基于大模型搭建的聊天机器人,同时支持 微信公众号、企业微信应用、飞书、钉钉 等接入,可选择GPT3.5/GPT-4o/GPT4.0/ Claude/文心一言/讯飞星火/通义千问/ Gemini/GLM-4/Claude/Kimi/LinkAI,能处理文本、语音和图片,访问操作系统和互联网,支持基于自有知识库进行定制企业智能客服。

前置准备

服务器

使用LinkAI的服务接入,国内服务器即可,国内云服务器厂商都有新人优惠,自己按需购买即可。此教程接入是基于腾讯云[3]的服务器,点击腾讯云[4],注册购买,项目对服务器配置要求不高,1核1G即可,看自己的预算购买。

配置文件模板

服务器Python部署:config.json[5],Docker部署:docker-compose.yml[6]

概念说明

  1. 应用:基于LinkAI和CoW项目, 手把手打造智能微信机器人应用简单来说就是你制作出的AI机器人,通过它可以配置这个机器人的性格人设、对话风格、数据来源(知识库)、各项技能(插件)。同时在LinkAI平台每个应用都有一个唯一的 app_code,任何应用集成和API接入都需要通过app_code来完成。

    应用分为知识库应用轻量应用,如果需要上传私有文档来让训练机器人,要选择知识库应用。

    关于应用的更多说明,可点击查看 应用配置说明[7]

  2. 知识库:基于LinkAI和CoW项目, 手把手打造智能微信机器人

    知识库是基于RAG架构,可上传 无结构文档、Q&A问答对格式、多列表格 的知识以及图片、视频等素材来训练智能体,增强解析支持将导入pdf、docx文档中的图片或表格一并提取进入知识库,让AI具备基于给定知识范围进行智能问答的能力。

    知识库需要和应用绑定使用,支持实时更新内容,并可设置知识库的检索策略,自定义召回深度和精度,可在线进行问答检索测试。详情可查看 知识库说明[8]

  3. 工作流:基于LinkAI和CoW项目, 手把手打造智能微信机器人

    工作流(workflow) 是一种更为灵活的智能体搭建方式,可以自由组合应用、知识库、插件、意图识别、定时任务、渠道发送等能力,通过流程编排的方式来增强AI智能体对流程型复杂任务的理解和执行能力,并让整个工作过程白盒化。

    接入到微信中的方式,和接入应用一样,只需要把工作流的code填入linkai_app_code 参数中,

    更多工作流介绍、配置和使用可以点击 工作流说明[9]查看。

环境搭建

系统安装

服务器购买过程中,服务器系统选择Ubuntu20.4,如果选错了或者想更换其他系统,按照下图重装即可,请记住设置的密码:

基于LinkAI和CoW项目, 手把手打造智能微信机器人
基于LinkAI和CoW项目, 手把手打造智能微信机器人
基于LinkAI和CoW项目, 手把手打造智能微信机器人
安装完成后,可以看到上图的界面,新手建议直接使用腾讯云提供的一键登录功能登录,也可以使用ssh工具远程登录,如果忘记密码可以在这里重置!后续使用一键登录方式进入命令行窗口,执行指令。

到这里Ubuntu系统安装好了,如果没有Linux基础建议新手装一个宝塔面板,可以可视化修改配置文件。

宝塔安装

使用一键登录功能进入,选择免密登录,进入命令行窗口,然后输入下面的宝塔安装脚本(适用于Ubuntu),按回车,输入y,即可自动安装宝塔面板:

wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec
基于LinkAI和CoW项目, 手把手打造智能微信机器人

等待安装完毕,会如下图所示,请保存外网访问地址核用户名以及密码

基于LinkAI和CoW项目, 手把手打造智能微信机器人

这里我们需要到腾讯云控制台放行图中提示的39605端口(端口是随机的,按照上图提示开放相应的端口),按下图操作:

基于LinkAI和CoW项目, 手把手打造智能微信机器人

开放端口以后,我们复制外网访问面板地址到浏览器,同意用户协议 、绑定手机号,不需要安装推荐的软件。

部署方式选择

基于LinkAI和CoW项目, 手把手打造智能微信机器人

部署方式建议云服务器直接部署和使用docker部署,不建议在本地railway部署,本地环境复杂且不能24小时运行,railway不再提供免费额度且插件配置较为麻烦。

这里介绍服务器直接部署的方式,docker部署可参考:docker部署chatgpt-on-wechat项目及配置[10]

部署流程

(1) 下载源码

进入命令行窗口,使用 git 命令克隆项目到我们的服务器(因为是从GitHub下载,国内网络时好时坏,可以多次尝试,实在不行可以手动下载项目文件夹上传,后面插件有介绍该方式。),

并使用cd命令进入目录,然后使用cp命令复制模板配置文件并命名为config.json:

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
基于LinkAI和CoW项目, 手把手打造智能微信机器人

执行pwd命令,我们可以看到当前所在的目录为/home/lighthouse/chatgpt-on-wechat,我们到宝塔面板的文件选项卡可以一步步进入该目录(或者把刚刚的目录地址输入到宝塔地址栏回车):

基于LinkAI和CoW项目, 手把手打造智能微信机器人
基于LinkAI和CoW项目, 手把手打造智能微信机器人

上图就是我们的chatgpt on wechat项目文件夹,config.json就是我们上一步生成的配置文件,是项目的主配置文件。

下面我们先配置项目的运行环境,安装依赖:

(2) 安装依赖

我们安装的Ubuntu20.4,系统自带python3.8,所以python环境应该是没问题的,项目要求必须是3.7及以上,我们可以执行python3 -V来查看python版本,如下图所示:

基于LinkAI和CoW项目, 手把手打造智能微信机器人

然后我们执行以下命令安装项目的依赖,-i https://pypi.tuna.tsinghua.edu.cn/simple代表的是使用国内的源,这样可以加快国内服务器依赖安装速度!注意:此时我们应该处于chatgpt-on-wechat目录下执行下面的命令,如果不在,可以使用cd命令切换到该目录下!

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      
基于LinkAI和CoW项目, 手把手打造智能微信机器人
基于LinkAI和CoW项目, 手把手打造智能微信机器人
基于LinkAI和CoW项目, 手把手打造智能微信机器人

依赖安装成功如上图所示,黄色warning可以不用管。

(3) 配置

第一步中我们已经使用cp config-template.json config.json命令来生成了配置文件。这里解释一下,文件名中一般带有template的都是模板配置文件,需要把这个文件复制一下并重名为config.json,这个文件才是最终生效的文件,后面讲到的各个插件目录下也都会有模板配置文件,需要复制重命名一下!

我们回到宝塔面板页面,双击第(1)步末尾截图所示的config.json文件,打开进行修改。

可以清空已有的内容,点击config.json[11]下载适配LinkAI的配置文件模板,复制粘贴进去,如下图所示:

基于LinkAI和CoW项目, 手把手打造智能微信机器人

基本配置说明:

  • "use_linkai": true,true代表使用linkai的服务;
  • "linkai_api_key": "Link_MnW8oUvKHwGtYpfG10uKvTM",这里填入linkai 的key,点这里[12]申请:https://chat.link-ai.tech/console/interface基于LinkAI和CoW项目, 手把手打造智能微信机器人
  • "linkai_app_code": "default",这里填入自己在linkai平台创建的应用code,可以先写成default,详细见本文前置准备章节中的介绍。基于LinkAI和CoW项目, 手把手打造智能微信机器人
  • "model": "gpt-3.5-turbo",使用的模型,LinkAI目前支持gpt、文心、讯飞、千问、kimi、Claude、Gemini等模型,全部模型见模型列表[13],建议把model留空,更改应用的默认模型即可实时切换模型
  • "single_chat_prefix": ["bot"]该项代表触发机器人回复的前缀,这里设为bot,即以bot开头的内容会触发机器人回复,如果扫码登录后机器人不回复,可能是没有加这里的触发前缀,如果不想设置触发前缀,可以改为[""]即可(注意中括号内的引号不要去掉)。
  • "group_chat_prefix": ["orange"]同理,这里代表了在群内发消息如果以orange开头,会触发机器人回复,可按需自定义设置。
  • "group_name_white_list": ["手把手搭建群"],这是群聊白名单,决定了机器人在什么群可以 被触发,把需要触发机器人的群聊名称都写在这里,以逗号隔开。想所有群都可以触发,那这里就设为:["ALL_GROUP"]
  • "hot_reload": true,热重载这个参数设为true,这样我们每次重启项目后不用再次扫码!

其实前两项配置完,就可以启动项目,扫码登录使用了。其他项按需设置即可,详细的参数说明可以参考配置说明[14]

项目所有可以配置的参数都在chatgpt-ob-wechat/config.py文件写明了,把相应的参数复制到config.json进行配置即可,使用中可以按需增添及修改。

(4) 运行

一切准备就绪,可以启动程序了,**在项目目录(chatgpt-on-wechat)**下执行下面的命令,使用nohup命令在后台运行程序,即使断开命令行窗口也能保持运行:

touch nohup.out                                   # 首次运行需要新建日志文件  
nohup python3 app.py & tail -f nohup.out          # 在后台运行程序并通过日志输出二维码
基于LinkAI和CoW项目, 手把手打造智能微信机器人
基于LinkAI和CoW项目, 手把手打造智能微信机器人

输出的二维码可能会乱码,可以复制二维码上边的链接在浏览器打开即可。扫码登录后,服务器log会输出Start auto replying字样日志,代表运行成功,可以对机器人进行提问,私聊的话记得加上前边设置的single_chat_prefix参数,

基于LinkAI和CoW项目, 手把手打造智能微信机器人

如上,机器人私聊已经可以正常使用了,以及服务器同步输出的日志。如果有什么问题,这里的日志会显示错误信息

基于LinkAI和CoW项目, 手把手打造智能微信机器人

群聊,只要该群名称在group_name_white_list配置项内,就可以直接艾特机器人提问,或者使用group_chat_prefix设置的前缀(orange)进行提问!

注意:修改配置常见的一个问题就是使用了中文标点符号和多/少逗号,这些都会提示是json文件有问题,如下图所示,宝塔文件页面会提示,服务器log也会提示,有**JSONDecodeErro字样,在log日志界面我们可以按下CTRL+C**来回到执行命令界面:

基于LinkAI和CoW项目, 手把手打造智能微信机器人
基于LinkAI和CoW项目, 手把手打造智能微信机器人
至此,基本的对话功能已经设置完毕,可以正常使用机器人了。

我们如果想修改config.json里面的配置项,可以在宝塔内直接修改,然后运行下面的命令关掉正在运行的项目,再重新运行项目即可生效!(同样需要在项目根目录运行)

ps -ef | grep app.py | grep -v grep    # 可以查看当前进程的 pid:
kill xxx                               # xxx是上一条命令运行后显示的进程pid
nohup python3 app.py & tail -f nohup.out     # 运行项目
基于LinkAI和CoW项目, 手把手打造智能微信机器人

进阶配置

语音

基于LinkAI和CoW项目, 手把手打造智能微信机器人基于LinkAI和CoW项目, 手把手打造智能微信机器人

LinkAI目前支持openai的语音识别和生成,前面下载的模板配置文件已经设置好(如上),音色可以在LinkAI平台的应用里选择和切换。

私聊发语音即可回复语音,群聊的话需要先语音说出设置的群聊触发前缀(group_chat_prefix": ["@bot", "你好"])之一

注意:项目接入微信使用的是itchat协议,不支持发送语音条,机器人回复的是一个mp3文件。接入公众号和企微自建应用可以直接回复语音条

画图

得益于linkai平台增强能力,我们给机器人发送$mj open(如提示需要管理员权限,请看下面godcmd插件说明),即可打开mj作图的功能!

基于LinkAI和CoW项目, 手把手打造智能微信机器人

详细的mj使用教程,可以参考MJ绘画功能[15]

运行多个机器人

如果想一台服务器运行多个机器人,可以在宝塔面板把chatgpt-on-wechat这个项目文件夹整体复制一下,并改个名字方便识别!

基于LinkAI和CoW项目, 手把手打造智能微信机器人
基于LinkAI和CoW项目, 手把手打造智能微信机器人
在命令行,我们使用cd ..命令进入上一级目录,然后使用ls命令查看当前目录的所有文件(夹),然后cd chatgpt-on-wecha---2/切换到新复制的项目文件夹,在该目录下运行项目(nohup python3 app.py & tail -f nohup.out),即可用另外一个号扫码登录来做第二个机器人,修改该目录下的config.json文件即可配置第二个机器人相关的参数!

插件安装和使用

chatgpt-on-wechat项目支持自己开发插件接入,有代码能力的话可以根据自己的需求来编写插件。如果没有开发能力,可以使用项目内置插件。

此外,LinkAI平台在应用里提供了时间、联网搜索、计算器、网页速读等插件,开启即可使用,也支持无代码开发自定义插件。

godcmd插件

该插件是内置的管理员插件,可以提供很多管理员级别的操作,比如上边提到的mj作图的开关($mj open)。

基于LinkAI和CoW项目, 手把手打造智能微信机器人

在宝塔面板进入plugins/godcmd文件夹,双击打开config.json文件,password内填入你要设置的管理员密码,比如:123456admin_users这个不填,因为itchat协议原因,每次重启用户id会变,所以这里写了没用。

基于LinkAI和CoW项目, 手把手打造智能微信机器人

关闭项目并重启项目,然后给机器人发送#auth 123456进行管理员认证

基于LinkAI和CoW项目, 手把手打造智能微信机器人

以下是常用管理员指令介绍:

  • 随时暂停/打开机器人的服务,给机器人发送#stop 暂停服务,发送#resume 恢复服务
  • 我们修改了**根目录的config.json**后,我们可以通过给机器人发送#reconf来重载项目配置,不用重启项目
  • 如果我们修改了**各个插件的config.json**后,我们可以给机器人发送#reloadp 插件名来重载插件的配置基于LinkAI和CoW项目, 手把手打造智能微信机器人
  • 想看机器人当前装了什么插件,我们给机器人发送#plist即可查看当前插件列表
  • 我们可以通过指令安装插件,比如安装apilot插件,我们可以发送#installp https://github.com/6vision/Apilot.git (详见下一个插件介绍),因为是从GitHub下载,国内服务器网络可能有时候不好使,会报错,这样我们可以手动下载该插件压缩包到本地,然后在宝塔面板再上传到插件目录基于LinkAI和CoW项目, 手把手打造智能微信机器人基于LinkAI和CoW项目, 手把手打造智能微信机器人基于LinkAI和CoW项目, 手把手打造智能微信机器人上传成功后,解压并重命名为Apilot,并复制模板配置文件,重名为config.json,在里面进行相关配置即可(参考下面godcmd插件介绍)
  • 插件安装配置好之后,我们给机器人发送#scanp来扫描新插件,然后使用#enablep 插件名来开启插件基于LinkAI和CoW项目, 手把手打造智能微信机器人

apilot插件:

一个简单但实用的插件,调用api,直接格式化返回api响应,早报、快递查询、天气查询、热榜等,该插件不是项目内置插件,需要安装。管理员指令部分介绍了如何手动安装,该插件的说明文档也介绍很详细,以及docker部署时候如何配置,可以点击Apilot[16]查看

https://github.com/6vision/Apilot

banwords插件

该插件是项目内置插件,不需要安装,进入banwords插件目录,按照插件说明配置即可:

https://github.com/zhayujie/chatgpt-on-wechat/tree/master/plugins/banwords
基于LinkAI和CoW项目, 手把手打造智能微信机器人

config.json.template复制为config.json,将banwords.txt.template复制为banwords.txt,复制以下链接的内容粘贴到banwords.txt

https://github.com/6vision/sensitive_words/blob/main/banwords.txt
基于LinkAI和CoW项目, 手把手打造智能微信机器人
基于LinkAI和CoW项目, 手把手打造智能微信机器人
基于LinkAI和CoW项目, 手把手打造智能微信机器人

LinkAI本地插件配置:

基于LinkAI和CoW项目, 手把手打造智能微信机器人

该插件是项目的功能增强插件,目前已经支持了mj作图,知识库使用,群聊角色绑定,链接和文件的总结以及自动联网搜索等。

切换到./plugins/linkai目录,复制config.json.template文件,复制该文件并重命名为config.json

  1. 对话功能:
    • 支持为每个群聊绑定一个知识库应用,例如将"group_app_map"里参数的“测试群名称1”改为你的群聊名称,把“default”改为你的知识库应用code即可
    • 也可以在群聊发送指令绑定:基于LinkAI和CoW项目, 手把手打造智能微信机器人
  2. MJ作图功能:
    • 可以通过指令 $mj open/close来开/关mj作图功能。基于LinkAI和CoW项目, 手把手打造智能微信机器人
    • 一般1分钟左右就会出图,如果提示词触发了mj的政策,可能会一直收不到图片,这个任务会6分钟后自动结束并提示画图失败(服务器没有收到图片链接不会扣积分的哦)。可以适当调大"max_tasks_per_user"这个参数。
  3. 总结功能:
    • 可以通过指令$linkai sum open/close来开/关总结功能。
    • 打开以后,直接发送文件或者链接即可,会提示“正在为你加速生成摘要,请稍后”;
    • 查阅返回的总结后,如果有疑问或者需要进一步了解内容,发送“开启对话”即可详细了解;
    • 阅读结束,可以发送“退出对话”回到正常对话模型;
    • 目前支持微信公众号文章以及各种文件的总结
    • 文件目前 支持 txt, docx, pdf, md, csv格式,文件大小由 max_file_size 限制,最大不超过15M,文件字数最多可支持百万字的文件。建议不要发送过大的文件!较大文件可以上传知识库创建知识库应用。
    • 后续更新会支持微信外的链接以及视频总结等。

LinkAI平台插件:

  1. 内置插件:

基于LinkAI和CoW项目, 手把手打造智能微信机器人

前面介绍的插件是CoW项目自带的插件,LinkAI平台还提供了一些内置插件,比如联网搜索、时间、图像识别、网页速读等。

这些插件能力在 应用 里面直接开启,实时生效,是基于意图识别调用,无需特定触发关键词,当然也可以设置关键词触发。

如果是知识库应用,可以把插件触发策略设为:知识库和插件同时执行,这样会把插件执行结果以及匹配到的知识库内容发给大模型做参考。

基于LinkAI和CoW项目, 手把手打造智能微信机器人

2、自定义插件[17]

平台除了内置插件,还可以无代码编写自定义插件。支持持通过意图识别、关建词匹配的触发条件,执行调用外部接口或服务。可对接业务系统、第三方接口、外部设备等。详见[自定义插件介绍](基于LinkAI和CoW项目, 手把手打造智能微信机器人)

基于LinkAI和CoW项目, 手把手打造智能微信机器人基于LinkAI和CoW项目, 手把手打造智能微信机器人

更多插件说点击chatgpt-on-wechat项目插件汇总[18]查看

常见问题

修改配置是否需要重启

1、修改项目主配置文件(即项目根目录的config.json),可以给机器人私聊发送#reconf进行重载,如果不生效就重启项目;修改插件项目本地插件,可以给机器人发送#reloadp 插件名进行重载,比如#reloadp godcmd

2、可以使用LinkAI的客户端管理功能,无需进入服务器,在线可视化修改配置,在线扫码,保存实时生效。基于LinkAI和CoW项目, 手把手打造智能微信机器人

没有Linux基础,有方便的接入方式么?

LinkAI平台提供了一键接入服务,无需服务器部署,且各渠道功能相比开源项目更丰富,运行更加稳定,详细参考之前的文章:ALL in One!用LinkAI将AI “Link” 到公众号/微信客服/企微应用/钉钉/飞书...

企业有稳定接入需求,或者需要接入企微内外群,可以点击公众号菜单的“和我联系”

是否有风险?为什么会经常掉线?

该项目主要接入协同办公平台,推荐使用公众号、企微自建应用、钉钉、飞书等接入通道,其他通道为历史产物已不维护。(接入微信是有一定风险,仅供娱乐使用)

开源项目接入微信默认是使用itchat协议,由于比较老了且无人维护更新,掉线等不稳定问题无法解决,尽量保持手机端微信联网在线。

可以点击“阅读原文”进入web端浏览,阅读更方便,也会不断更新。

参考资料

LinkAI: https://link-ai.tech/

 

chatgpt-on-wechat: https://github.com/zhayujie/chatgpt-on-wechat

 

腾讯云: https://curl.qcloud.com/nkzBRZiV

 

config.json: https://github.com/user-attachments/files/16164832/config.json

 

docker-compose.yml: https://cdn.link-ai.tech/doc/docker-compose.yml

 

应用配置说明: https://docs.link-ai.tech/platform/create-app

 

知识库说明: https://docs.link-ai.tech/platform/knowledge

 

工作流说明: https://docs.link-ai.tech/platform/workflow

 

docker部署chatgpt-on-wechat项目及配置: https://www.wangpc.cc/nec/docker-deploy-cow/

 

fig.json: https://github.com/user-attachments/files/16164832/config.json

 

这里: https://chat.link-ai.tech/console/interface

 

模型列表: https://docs.link-ai.tech/platform/api/chat#models

 

配置说明: https://docs.link-ai.tech/cow/quick-start/config

 

MJ绘画功能: https://github.com/zhayujie/chatgpt-on-wechat/tree/master/plugins/linkai#2midjourney%E7%BB%98%E7%94%BB%E5%8A%9F%E8%83%BD

 

Apilot: https://github.com/6vision/Apilot

 

自定义插件: https://docs.link-ai.tech/platform/plugins/custom-plugins

 

chatgpt-on-wechat项目插件汇总: https://www.wangpc.cc/aigc/chatgpt-on-wechat_plugin/

王牌网络公众号

微信公众号『王牌客栈

第一时间了解最新网络动态
扫码关注不迷路~

更多AI工具、AI变现项目,请访问:AI客

加微信:860056696,围观朋友圈实操项目

给TA打赏
共{{data.count}}人
人已打赏

本文来源:YoungPower润杨力量

免责声明:部分文章来自网络转载及用户投稿,仅做信息分享之用,如有侵权请联系我们,邮箱:admin#wpok.cn(#换成@)

本站实操重点推荐的网赚项目:

社交电商:0元购

零撸项目:手机免费挖Pi币

任务赚钱:趣闲赚

增值服务:做一个年赚百万的网站

网站联盟:首码项目网 · 副业网 · 网赚营 · 卡友家

跟Q哥做项目,可免费获赠本站VIP会员,更多扶持福利请咨询微信:860056696

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧