熊猫大侠:基于COW框架的ChatBot实现步骤
熊猫大侠:基于COW框架的ChatBot实现步骤
熊猫大侠:基于COW框架的ChatBot实现步骤 熊猫大侠:基于COW框架的ChatBot实现步骤 Modified July 20, 2024 四、插件配置管理(可选项,按需配置) 吐血给大家整理分享一些我找到的一些开源插件,大家按需安装,注意有些插件使用需要独立申请Key,独立的插件环境安装,请仔细看插件README 说明。 有研发能力的同学可以基于自己的需求场景开发个性化插件(不会写代码的我泪目中···),插件框架可以参考自带的hello插件格式编写,届时也欢迎共享 插件便捷安装: 给微信机器人单聊发送: auth 你的管理密码(3.1.3.3 自带插件配置(必选项)步骤设置的) 如下提示表示已开启管理后台 Code block Bash [INFO] 认证成功 输入 help 查看帮助 Code block Bash [INFO] 通用指令 help : 回复此帮助 help 插件名: 回复指定插件的详细帮助 model : 查看和设置全局模型 reset : 重置会话 可用插件 cclite:🤖 基于微信的多功能聊天机器人,提供新闻、天气、火车票信息、娱乐内容等实用服务。 Apilot:发送特定指令以获取早报、查询天气、星座运势、快递信息等! linkai:用于集成 LinkAI 提供的知识库、Midjourney绘画、文档总结、联网搜索等能力。 sum4all:输入url/分享链接/搜索关键词,直接为你总结 GoogleSearch:🥰输入 '搜索 <您需要搜索的内容 ',我会帮您进行文本搜索 💌输入 '搜图 <您需要搜索的图片描述 ',我会帮您进行图像搜索 角色扮演:让机器人扮演不同的角色。 文字冒险:可以和机器人一起玩文字冒险游戏。 管理员指令: resume : 恢复服务 stop : 暂停服务 reconf : 重载配置(不包含插件配置) resetall : 重置所有会话 scanp : 扫描插件目录是否有新插件 plist : 打印当前插件列表 setpri 插件名 优先级: 设置指定插件的优先级,越大越优先 reloadp 插件名: 重载指定插件配置 enablep 插件名: 启用指定插件 disablep 插件名: 禁用指定插件 installp 仓库地址或插件名: 安装指定插件 uninstallp 插件名: 卸载指定插件 updatep 插件名: 更新指定插件 debug : 开启机器调试日志 插件便捷安装方法: installp 项目的git地址,比如: 🦄 installp https://github.com/fatwang2/sum4all.git 4.1 Apilot 插件介绍:查看早报、查询天气、星座运势、快递信息等实用的小插件 git地址:https://github.com/6vision/Apilot.git 4.2 sum4all 插件介绍: Code block Bash 支持联网实时搜索 支持文章内容总结,个人微信支持链接卡片和url,企微支持url 支持文件内容总结,包括pdf、doc、markdown、txt、xls、csv、html、ppt 支持图片总结,包括png、jpeg、jpg 支持视频、播客内容总结,包括抖音、b站、小红书、YouTube等 支持多种内容总结服务,可自由组合 支持自定义prompt git地址:https://github.com/fatwang2/sum4all.git 4.3 timetask 插件介绍:添加定时任务、取消定时任务、获取任务列表 git地址:https://github.com/haikerapples/timetask.git 4.4 googleSearch On Wechat 插件介绍:通过Google搜索或图像搜索来获取信息,并利用ChatGPT对结果进行总结,以获得更精准和详细的答案。同时,搜图功能让用户能够通过在网络上搜索图片来增加可玩性。 git地址:https://github.com/Yanyutin753/googleSearch On Wechat.git 4.5 Midjourney 画图 代理Discord,接入微信便捷使用,需要准备额外服务器资源,额外的配置,有此需求的私聊,不做统一展示。 用到的开源项目地址: 4.5.1、Discord代理:midjourney proxy 4.5.2、项目插件:midjourney proxy on wechat 4.6 LinkAI 4.6.1 插件说明 基于 LinkAI 提供的知识库、Midjourney绘画、文档对话等能力对机器人的功能进行增强。平台地址: https://link ai.tech/console 4.6.2 插件配置 将 plugins/linkai 目录下的 config.json.template 配置模板复制为最终生效的 config.json。 (如果未配置则会默认使用config.json.template模板中配置,但功能默认关闭,需要可通过指令进行开启)。 以下是插件配置项说明: Code block Bash { "group app map": { 群聊 和 应用编码 的映射关系 "测试群名称1": "default", 表示在名称为 "测试群名称1" 的群聊中将使用app code 为 default 的应用 "测试群名称2": "Kv2fXJcH" }, "midjourney": { "enabled": true, midjourney 绘画开关 "auto translate": true, 是否自动将提示词翻译为英文 "img proxy": true, 是否对生成的图片使用代理,如果你是国外服务器,将这一项设置为false会获得更快的生成速度 "max tasks": 3, 支持同时提交的总任务个数 "max tasks per user": 1, 支持单个用户同时提交的任务个数 "use image create prefix": true 是否使用全局的绘画触发词,如果开启将同时支持由 中的 image create prefix 配置触发 }, "summary": { "enabled": true, 文档总结和对话功能开关 "group enabled": true, 是否支持群聊开启 "max file size": 5000, 文件的大小限制,单位KB,默认为5M,超过该大小直接忽略 "type": ["FILE", "SHARING", "IMAGE"] 支持总结的类型,分别表示 文件、分享链接、图片,其中文件和链接默认打开,图片默认关闭 } } 根目录 config.json 中配置,API KEY 在 控制台 中创建并复制过来: Code block Bash "linkai api key": "Link xxxxxxxxx" ✅ 注意: • 配置项中 group app map 部分是用于映射群聊与LinkAI平台上的应用, midjourney 部分是 mj 画图的配置,summary 部分是文档总结及对话功能的配置。三部分的配置相互独立,可按需开启 • 实际 config.json 配置中应保证json格式,不应携带 ' ' 及后面的注释 • 如果是docker部署,可通过映射 plugins/config.json 到容器中来完成插件配置,参考文档 4.6.3 插件使用 📌 使用插件中的知识库管理功能需要首先开启linkai对话,依赖全局 config.json 中的 use linkai 和 linkai api key 配置;而midjourney绘画 和 summary文档总结对话功能则只需填写 linkai api key 配置,use linkai 无论是否关闭均可使用。具体可参考 详细文档。 完成配置后运行项目,会自动运行插件,输入 help linkai 可查看插件功能。 4.6.3.1 知识库管理功能 提供在不同群聊使用不同应用的功能。可以在上述 group app map 配置中固定映射关系,也可以通过指令在群中快速完成切换。 应用切换指令需要首先完成管理员 (godcmd) 插件的认证,然后按以下格式输入: $linkai app {app code} 例如输入 $linkai app Kv2fXJcH,即将当前群聊与 app code为 Kv2fXJcH 的应用绑定。 另外,还可以通过 $linkai close 来一键关闭linkai对话,此时就会使用默认的openai接口;同理,发送 $linkai open 可以再次开启。 4.6.3.2 Midjourney绘画功能 若未配置 plugins/linkai/config.json,默认会关闭画图功能,直接使用 $mj open 可基于默认配置直接使用mj画图。 指令格式: Code block Bash 图片生成: $mj 描述词1, 描述词2.. 图片放大: $mju 图片ID 图片序号 图片变换: $mjv 图片ID 图片序号 重置: $mjr 图片ID 例如: Code block Bash "$mj a little cat, white ar 9:16" "$mju 1105592717188272288 2" "$mjv 11055927171882 2" "$mjr 11055927171882" 📌 注意事项: 1. 使用 $mj open 和 $mj close 指令可以快速打开和关闭绘图功能 2. 海外环境部署请将 img proxy 设置为 false 3. 开启 use image create prefix 配置后可直接复用全局画图触发词,以"画"开头便可以生成图片。 4. 提示词内容中包含敏感词或者参数格式错误可能导致绘画失败,生成失败不消耗积分 5. 若未收到图片可能有两种可能,一种是收到了图片但微信发送失败,可以在后台日志查看有没有获取到图片url,一般原因是受到了wx限制,可以稍后重试或更换账号尝试;另一种情况是图片提示词存在疑似违规,mj不会直接提示错误但会在画图后删掉原图导致程序无法获取,这种情况不消耗积分。 4.6.3.3 文档总结对话功能 ① 配置 该功能依赖 LinkAI的知识库及对话功能,需要在项目根目录的config.json中设置 linkai api key, 同时根据上述插件配置说明,在插件config.json添加 summary 部分的配置,设置 enabled 为 true。 如果不想创建 plugins/linkai/config.json 配置,可以直接通过 $linkai sum open 指令开启该功能。 ② 使用 midjourney proxy midjourney proxy on wechat 控制台 文档 详细文档 四、插件配置管理(可选项,按需配置) 吐血给大家整理分享一些我找到的一些开源插件,大家按需安装,注意有些插件使用需要独立申请Key,独立的插件环境安装,请仔细看插件README 说明。 有研发能力的同学可以基于自己的需求场景开发个性化插件(不会写代码的我泪目中···),插件框架可以参考自带的hello插件格式编写,届时也欢迎共享 插件便捷安装: 给微信机器人单聊发送: auth 你的管理密码(3.1.3.3 自带插件配置(必选项)步骤设置的) 如下提示表示已开启管理后台 输入 help 查看帮助 插件便捷安装方法: installp 项目的git地址,比如: 🦄 installp https://github.com/fatwang2/sum4all.git installp https://github.com/fatwang2/sum4all.git 4.1 Apilot 插件介绍:查看早报、查询天气、星座运势、快递信息等实用的小插件 git地址:https://github.com/6vision/Apilot.git 4.2 sum4all 插件介绍: git地址:https://github.com/fatwang2/sum4all.git 4.3 timetask 插件介绍:添加定时任务、取消定时任务、获取任务列表 git地址:https://github.com/haikerapples/timetask.git 4.4 googleSearch On Wechat 插件介绍:通过Google搜索或图像搜索来获取信息,并利用ChatGPT对结果进行总结,以获得更精准和详细的答案。同时,搜图功能让用户能够通过在网络上搜索图片来增加可玩性。 git地址:https://github.com/Yanyutin753/googleSearch On Wechat.git 4.5 Midjourney 画图 代理Discord,接入微信便捷使用,需要准备额外服务器资源,额外的配置,有此需求的私聊,不做统一展示。 用到的开源项目地址: 4.5.1、Discord代理:midjourney proxy midjourney proxy 4.5.2、项目插件:midjourney proxy on wechat midjourney proxy on wechat 4.6 LinkAI 4.6.1 插件说明 基于 LinkAI 提供的知识库、Midjourney绘画、文档对话等能力对机器人的功能进行增强。平台地址: https://link ai.tech/console 4.6.2 插件配置 将 plugins/linkai 目录下的 config.json.template 配置模板复制为最终生效的 config.json。 (如果未配置则会默认使用config.json.template模板中配置,但功能默认关闭,需要可通过指令进行开启)。 以下是插件配置项说明: 根目录 config.json 中配置,API KEY 在 控制台 中创建并复制过来: 控制台 ✅ 注意: • 配置项中 group app map 部分是用于映射群聊与LinkAI平台上的应用, midjourney 部分是 mj 画图的配置,summary 部分是文档总结及对话功能的配置。三部分的配置相互独立,可按需开启 • 实际 config.json 配置中应保证json格式,不应携带 ' ' 及后面的注释 • 如果是docker部署,可通过映射 plugins/config.json 到容器中来完成插件配置,参考文档 文档 注意: • 配置项中 group app map 部分是用于映射群聊与LinkAI平台上的应用, midjourney 部分是 mj 画图的配置,summary 部分是文档总结及对话功能的配置。三部分的配置相互独立,可按需开启 • 实际 config.json 配置中应保证json格式,不应携带 ' ' 及后面的注释 • 如果是docker部署,可通过映射 plugins/config.json 到容器中来完成插件配置,参考文档 文档 4.6.3 插件使用 📌 使用插件中的知识库管理功能需要首先开启linkai对话,依赖全局 config.json 中的 use linkai 和 linkai api key 配置;而midjourney绘画 和 summary文档总结对话功能则只需填写 linkai api key 配置,use linkai 无论是否关闭均可使用。具体可参考 详细文档。 详细文档 使用插件中的知识库管理功能需要首先开启linkai对话,依赖全局 config.json 中的 use linkai 和 linkai api key 配置;而midjourney绘画 和 summary文档总结对话功能则只需填写 linkai api key 配置,use linkai 无论是否关闭均可使用。具体可参考 详细文档。 详细文档 完成配置后运行项目,会自动运行插件,输入 help linkai 可查看插件功能。 4.6.3.1 知识库管理功能 提供在不同群聊使用不同应用的功能。可以在上述 group app map 配置中固定映射关系,也可以通过指令在群中快速完成切换。 应用切换指令需要首先完成管理员 (godcmd) 插件的认证,然后按以下格式输入: $linkai app {app code} 例如输入 $linkai app Kv2fXJcH,即将当前群聊与 app code为 Kv2fXJcH 的应用绑定。 另外,还可以通过 $linkai close 来一键关闭linkai对话,此时就会使用默认的openai接口;同理,发送 $linkai open 可以再次开启。 4.6.3.2 Midjourney绘画功能 若未配置 plugins/linkai/config.json,默认会关闭画图功能,直接使用 $mj open 可基于默认配置直接使用mj画图。 指令格式: 例如: 📌 注意事项: 1. 使用 $mj open 和 $mj close 指令可以快速打开和关闭绘图功能 2. 海外环境部署请将 img proxy 设置为 false 3. 开启 use image create prefix 配置后可直接复用全局画图触发词,以"画"开头便可以生成图片。 4. 提示词内容中包含敏感词或者参数格式错误可能导致绘画失败,生成失败不消耗积分 5. 若未收到图片可能有两种可能,一种是收到了图片但微信发送失败,可以在后台日志查看有没有获取到图片url,一般原因是受到了wx限制,可以稍后重试或更换账号尝试;另一种情况是图片提示词存在疑似违规,mj不会直接提示错误但会在画图后删掉原图导致程序无法获取,这种情况不消耗积分。 注意事项: 1. 使用 $mj open 和 $mj close 指令可以快速打开和关闭绘图功能 2. 海外环境部署请将 img proxy 设置为 false 3. 开启 use image create prefix 配置后可直接复用全局画图触发词,以"画"开头便可以生成图片。 4. 提示词内容中包含敏感词或者参数格式错误可能导致绘画失败,生成失败不消耗积分 5. 若未收到图片可能有两种可能,一种是收到了图片但微信发送失败,可以在后台日志查看有没有获取到图片url,一般原因是受到了wx限制,可以稍后重试或更换账号尝试;另一种情况是图片提示词存在疑似违规,mj不会直接提示错误但会在画图后删掉原图导致程序无法获取,这种情况不消耗积分。 4.6.3.3 文档总结对话功能 ① 配置 该功能依赖 LinkAI的知识库及对话功能,需要在项目根目录的config.json中设置 linkai api key, 同时根据上述插件配置说明,在插件config.json添加 summary 部分的配置,设置 enabled 为 true。 如果不想创建 plugins/linkai/config.json 配置,可以直接通过 $linkai sum open 指令开启该功能。 ② 使用 功能开启后,向机器人发送 文件、 分享链接卡片、图片 即可生成摘要,进一步可以与文件或链接的内容进行多轮对话。如果需要关闭某种类型的内容总结,设置 summary配置中的type字段即可。 ③ 限制 📌 1. 文件目前 支持 txt, docx, pdf, md, csv格式,文件大小由 max file size 限制,最大不超过15M,文件字数最多可支持百万字的文件。但不建议上传字数过多的文件,一是token消耗过大,二是摘要很难覆盖到全部内容,只能通过多轮对话来了解细节。 2. 分享链接 目前仅支持 公众号文章,后续会支持更多文章类型及视频链接等 3. 总结及对话的 费用与 LinkAI 3.5 4K 模型的计费方式相同,按文档内容的tokens进行计算 1. 文件目前 支持 txt, docx, pdf, md, csv格式,文件大小由 max file size 限制,最大不超过15M,文件字数最多可支持百万字的文件。但不建议上传字数过多的文件,一是token消耗过大,二是摘要很难覆盖到全部内容,只能通过多轮对话来了解细节。 2. 分享链接 目前仅支持 公众号文章,后续会支持更多文章类型及视频链接等 3. 总结及对话的 费用与 LinkAI 3.5 4K 模型的计费方式相同,按文档内容的tokens进行计算 4.7 GPTs对接(需要第三方代理) 插件介绍:基于Cow框架,调用GPTs的插件 git地址:https://github.com/LargeCupPanda/Cow GPTs.git 4.8 Coze 插件介绍:用于连接cow项目到coze服务,通过coze discord proxy,以免费获得ChatGPT 4.0和DALL·E 3的功能。 cow coze coze discord proxy git地址:https://github.com/MasterKeee/coze.git 个人微信 实际操作过程中如果有遇到啥问题,可以添加本人微信,请注明来意,谢谢 QA 1、如果GitHub上项目代码更新了,怎么查看?我应该如何更新? 答:key关注 LinkAI平台 或者Github仓库更新进度 LinkAI平台 进入到你的项目目录,比如我的项目目录是chatgpt on wechat 终端输入 2、如果机器人回答风格不是我想要的效果应该如何处理? 3、插件安装后,未生效或未扫描到插件,如何处理? 🍎 作者:熊猫大侠 COW是基于大模型搭建的Chat机器人框架,将多模型塞进自己的微信里实现方案。 基于这篇张梦飞同学也写了一个更适合小白的使用教程:【保姆级】一步一图,手把手教你把AI接入微信 副本 本文带你实现: 1、打造属于自己的ChatBot(文本对话、文件总结、链接访问、联网搜索、图片识别、AI画图等等) 2、常用开源插件的安装应用 正式开始前你需要知道: ChatBot相较于在各大模型网页端使用区别:本实现思路需要接入大模型API的方式实现(API单独付费) 风险与注意事项: 1、微信端因为是非常规使用,会有封号危险,不建议主力微信号接入。 2、本文只探讨操作操作步骤,请依法合规使用 大模型生成的内容注意甄别,确保所有操作均符合相关法律法规的要求。 禁止将此操作用于任何非法目的。 处理敏感或个人隐私数据时注意脱敏,以防任何可能的滥用或泄露。 【保姆级】一步一图,手把手教你把AI接入微信 副本 作者:熊猫大侠 COW是基于大模型搭建的Chat机器人框架,将多模型塞进自己的微信里实现方案。 基于这篇张梦飞同学也写了一个更适合小白的使用教程:【保姆级】一步一图,手把手教你把AI接入微信 副本 【保姆级】一步一图,手把手教你把AI接入微信 副本 本文带你实现: 1、打造属于自己的ChatBot(文本对话、文件总结、链接访问、联网搜索、图片识别、AI画图等等) 2、常用开源插件的安装应用 正式开始前你需要知道: ChatBot相较于在各大模型网页端使用区别:本实现思路需要接入大模型API的方式实现(API单独付费) 风险与注意事项: 1、微信端因为是非常规使用,会有封号危险,不建议主力微信号接入。 2、本文只探讨操作操作步骤,请依法合规使用 大模型生成的内容注意甄别,确保所有操作均符合相关法律法规的要求。 禁止将此操作用于任何非法目的。 处理敏感或个人隐私数据时注意脱敏,以防任何可能的滥用或泄露。 多平台接入:微信、企业微信、公众号、飞书、钉钉等。 多模型选择:GPT3.5/GPT4.0/Claude/文心一言/讯飞星火/通义千问/Gemini/GLM 4/LinkAI等等 多消息类型支持:能处理文本、语音和图片,以及基于自有知识库进行定制的企业智能客服功能。 多部署方法:本地运行、服务器运行、Docker的方式 一、准备工作 1、服务器资源 有条件的,准备一台云服务器,没有条件的,也可以用自己的电脑实验(不推荐,没法保证稳定的网络条件和一直开机)。 注:云服务器申请和环境参考 GPT平替办法 GPT平替办法 2、API申请 💡 已提供接口的常见模型:GPT 3.5, GPT 4, 文心一言, 讯飞星火,通义千问,mimimax,moonshot(大模型支持情况请查看主项目更新部分),按自己的需求去对应官网申请API,并且各平台API调用计费是计算token费率定价不一样,收费标准大家自行留意,不做统一赘述。 已提供接口的常见模型:GPT 3.5, GPT 4, 文心一言, 讯飞星火,通义千问,mimimax,moonshot(大模型支持情况请查看主项目更新部分),按自己的需求去对应官网申请API,并且各平台API调用计费是计算token费率定价不一样,收费标准大家自行留意,不做统一赘述。 2.1 ChatGPT GPT的API调用稍麻烦,需要绑定支付方式,GPT的支付方式设置参考Plus升级流程 中的Visa部分(有封号风险),绑卡后才可以正常调用API。 Plus升级流程 2.2 文心一言 前往百度千帆大模型官网提交申请开通API ,详细说明参考官方文档 千帆大模型官网 官方文档 2.3 讯飞星火 去讯飞开放平台申请,操作办法大同小异。 讯飞开放平台申请 2.4 通义千问 前往阿里云【模型服务灵积】页面查看详情 模型服务灵积 2.5 LinkAI平台推荐 可能很多同学看到上面申请繁琐的步骤,特别是对OpenAI的key申请,直接原地劝退,那推荐一个我一直使用国内目前做的比较好的一体化平台【 LinkAI 】 他们将目前市场主流的大模型集成在一起的企业级平台,使用他们的好处是: LinkAI 💡 1、不需要特殊的网络环境,有网就能直接使用,更方便 2、不用自己再繁琐注册申请各种大模型的API,省心调用 3、不用绑定各种支付方式,不被OpenAI的支付门槛劝退 4、平台提供丰富的使用场景,完全满足个人/企业级使用 5、资费与各大官方一致,甚至还便宜。 6、因为他们是企业级的Key,API响应更快,使用体验更优 7、0代码搭建自己的APP,在应用市场发布赚外快,同时你也可以将别人的App接入到自己的平台中 1、不需要特殊的网络环境,有网就能直接使用,更方便 2、不用自己再繁琐注册申请各种大模型的API,省心调用 3、不用绑定各种支付方式,不被OpenAI的支付门槛劝退 4、平台提供丰富的使用场景,完全满足个人/企业级使用 5、资费与各大官方一致,甚至还便宜。 6、因为他们是企业级的Key,API响应更快,使用体验更优 7、0代码搭建自己的APP,在应用市场发布赚外快,同时你也可以将别人的App接入到自己的平台中 3、宝塔环境安装(熟悉Linux操作的小伙伴可跳过此步骤) 宝塔环境对Linux新手比较友好,如果你对Linux操作不熟练,建议安装宝塔,方便修改参数。(如果你的服务器是Windows环境,自行配置好需要需要的环境条件。) 宝塔安装步骤: Centos安装脚本 Ubuntu/Deepin安装脚本 Debian安装脚本 粘贴至终端执行,执行完成后会看到访问地址、宝塔登录账号/密码,表示安装成功。 安装完成后会生成一个随机的端口访问,去云服务器官方的安全选项,放开对应端口,浏览器输入 http://你的ip:端口号 即可访问宝塔管理端。 二、开源项目详细介绍 打造属于自己的专属机器人,用到的是GitHub的开源项目《chatgpt on wechat》 chatgpt on wechat 1、项目简介 chatgpt on wechat (cow) 项目是使用 ChatGPT 搭建的智能聊天机器人,在GPT3.5/4.0 API 及 itchat框架的基础上实现,支持个人微信、公众号、企业微信部署,能生成文本、语音和图片,访问操作系统和互联网。 2、最新版本支持的功能 最新版本支持的功能如下: • 多端部署: 可接入 个人微信、微信公众号、企业微信应用 • 基础对话: 私聊及群聊的消息智能回复,支持多轮会话上下文记忆,支持 GPT 3, GPT 3.5, GPT 4, 文心一言模型 • 语音识别: 可识别语音消息,通过文字或语音回复,支持 azure, baidu, google, openai 等多种语音模型 • 图片生成: 支持图片生成 和 图生图(如照片修复),可选择 Dell E, stable diffusion, replicate, Midjourney 模型 • 丰富插件: 支持个性化插件扩展,已实现多角色切换、文字冒险、敏感词过滤、聊天记录总结等插件 • Tool工具: 与操作系统和互联网交互,支持最新信息搜索、数学计算、天气和资讯查询、网页总结,基于 chatg