AI对话机器人续:将AI Bot接入企业微信
大家好,我是Edison。
之前尝试将Coze AI Bot接入到了微信,有朋友问如何接入企业微信,今天有空尝试了下,和你分享一下过程。
整体流程和步骤还是基于chatgpt-on-wechat这个开源框架来的,唯一的差别就在于部署chatgpt-on-wechat的时候,需要填写一些企业微信相关的参数和secret。
企业微信中创建一个应用
假设你有一个企业微信,且创建了一个企业(未认证也可以),在企业信息模块中找到企业ID,记下来,后面会用到。

进入企业微信后台管理,在应用管理模块中创建一个应用:


这里假设我们创建一个名为Siemo AI Bot的应用,创建完成后你可以看到AgentId,记下来,后续会用到。同时,点击Secret的查看按钮,获取该应用的Secret,记下来,后续会用到。

然后紧接着设置接受消息API:我这里因为是已经设置了,所以显示已启用API接收,你看到的应该叫“设置API接收”。

进入API设置界面,首先点击随机获取Token,然后点击随机获取EncodingAESKey,记下来,后面会用到。而回调API URL这儿,填写http://{你的chatgpt-on-wechat所在的服务器IP}:9898/wxcomapp即可。

然后,先别忙点保存,完成下一步之后再来点击保存,否则会报错:回调地址未验证 之类的错误。
重新部署chatpgt-on-wechat项目
chatgpt-on-wechat 项目是使用 ChatGPT 搭建的智能聊天机器人,在 GPT3.5/4.0 API 及 itchat 框架的基础上实现,支持个人微信、公众号、企业微信部署,能生成文本、语音和图片,访问操作系统和互联网。对下面的docker-compose.yml文件进行修改,主要是注释掉群聊的配置 和 添加企业微信的配置部分:
version: "2.0"
services:
siemo-ai-bot:
image: zhayujie/chatgpt-on-wechat
container_name: siemo-ai-bot
restart: always
security_opt:
- seccomp:unconfined
environment:
OPEN_AI_API_KEY: "pat_v4sqsXleDLruN7G************" # 这里改为你的Coze API Token
MODEL: "" # 留空即可
OPEN_AI_API_BASE: "http://coze2openai:3000/v1" # 请不要修改此参数值
PROXY: "" # 留空即可
SINGLE_CHAT_PREFIX: '[""]'
SINGLE_CHAT_REPLY_PREFIX: '"[AI] "' # 建议不修改
IMAGE_CREATE_PREFIX: '["画", "看"]' # 请不要修改此参数值
CONVERSATION_MAX_TOKENS: 1000 # 请不要修改此参数值
SPEECH_RECOGNITION: "False" # 请不要修改此参数值
CHARACTER_DESC: "你是基于大语言模型的AI机器人,旨在回答并解决用户在使用MES系统时遇到的问题,并且可以使用多种语言与人交流。" # 按需修改
EXPIRES_IN_SECONDS: 3600 # 请不要修改此参数值
USE_GLOBAL_PLUGIN_CONFIG: "True" # 请不要修改此参数值
USE_LINKAI: "False" # 请不要修改此参数值
channel_type: "wechatcom_app" # 代表启用企业微信通道
wechatcom_corp_id: "***********" # 修改为你企业ID
wechatcomapp_port: 9898 # 为了方便你的实践,建议先别修改
wechatcomapp_agent_id: "1000002" # 你的企业微信中新建应用的agent id
wechatcomapp_secret: "***********" # 刚刚企业微信中新建应用的secret
wechatcomapp_aes_key: "***********" # 刚刚企业微信中随机生成的AESKey
wechatcomapp_token: "************" # 刚刚企业微信中随机生成额Token
ports:
- "9898:9898" # 为了方便你的实践,建议先别修改
coze2openai:
image: andywuwu/coze2openai
container_name: coze2openai
restart: always
ports:
- "3000:3000"
environment:
- BOT_ID=744455************ # 这里改为你额Bot ID
- COZE_API_BASE=api.coze.cn # 请不要修改此参数值
下面是新增配置项的解释说明:
"channel_type": "wechatcom_app",
"wechatcom_corp_id": "", # 企业微信公司的corpID
"wechatcomapp_port": 9898, # 企业微信app的服务端口, 不需要端口转发
"wechatcomapp_agent_id": "", # 企业微信app的agent_id
"wechatcomapp_secret": "", # 企业微信app的secret
"wechatcomapp_token": "", # 企业微信app的token
"wechatcomapp_aes_key": "", # 企业微信app的aes_key
接下来,再次通过宝塔的容器编排启动docker-compose.yml中的两个服务:

启动起来,没有报错,即可回到企业微信后台管理的上一个步骤进行点击保存的操作了。
这个时候,点击保存,就能成功了。随后,还需要配置一下企业可信IP选项:

在弹出的可信IP文本框中输入你的chatgpt-on-wechat部署所在的服务器IP地址即可:

然后,就可以进入下一步开始愉快的测试咯!
在企业微信中测试
和在个人微信中不同,通过这种方式只能通过应用的方式进行私聊对话。不过,我们完全可以在此基础之上,打通企业微信中的其他应用进行连通,丰富这个AI机器人的功能。

通过微信插件在个人微信中使用
个人微信可以通过扫描企业微信的微信插件在个人微信中使用这个AI机器人:位置:“我的企业”-“微信插件”

小结
本文介绍了如何将Coze AI Bot接入企业微信实现AI对话机器人的过程,相信你的企业微信中有了这样一位垂直领域的AI助手,定会帮助你解决一些重复劳动。

AI对话机器人续:将AI Bot接入企业微信的更多相关文章
- 通过Azure bot framework composer 设计一个AI对话机器人bot(查询天气)
本文介绍通过机器人框架设计器 (Bot framework composer)接近拖拉拽的方式设计一个聊天机器人,该聊天机器人的主要功能是发起http请求查询天气.当然,稍微变通下,可以用来查询几乎任 ...
- Python接入企业微信 - 推送信息到内部群里
前言 之前一篇文章提到了使用wechatpy库来实现企业微信应用登录:Django + Taro 前后端分离项目实现企业微信登录 其实这个库可以实现的功能非常多,基本微信开发涉及到的功能都能实现. 本 ...
- 企业微信快捷接入Odoo的模块——WeOdoo
WeOdoo Odoo 快速接入企业微信,快捷使用,基于Oauth2.0安全认证协议,免对接开发配置,支持局域网等内网环境的 Odoo 服务 详见: http://oejia.net/blog/201 ...
- Git操作自动触发企业微信机器人webhook
[本文出自天外归云的博客园] 背景 在git做一些merge或push的操作,我们希望可以自动在企业微信群发送自定义的通知. 服务代码 这里选用php作为网络服务的开发语言,关键的代码如下(githo ...
- AI:机器人与关键技术--总是被科普
AI:机器人与关键技术--总是被科普 原文链接:www.csdn.net/article/2014-04-22/2819430 机器人发展建议: 有需求才有生产,有更高的需求才有发展: 第一条:我们的 ...
- 【Azure 机器人】微软Azure Bot 编辑器系列(3) : 机器人对话流中加入帮助和取消按钮功能 (The Bot Framework Composer tutorials)
欢迎来到微软机器人编辑器使用教程,从这里开始,创建一个简单的机器人. 在该系列文章中,每一篇都将通过添加更多的功能来构建机器人.当完成教程中的全部内容后,你将成功的创建一个天气机器人(Weather ...
- 一个AI产品经理怎么看AI的发展
一个AI产品经理怎么看AI的发展 https://www.jianshu.com/p/bed6b22ae837 最近一直在思考这个问题,人工智能接下来的几年会有什么样的发展,是否真的能够在很多工作岗位 ...
- 【Azure 机器人】微软Azure Bot 编辑器系列(2) : 机器人/用户提问回答模式,机器人从API获取响应并组织答案 (The Bot Framework Composer tutorials)
欢迎来到微软机器人编辑器使用教程,从这里开始,创建一个简单的机器人. 在该系列文章中,每一篇都将通过添加更多的功能来构建机器人.当完成教程中的全部内容后,你将成功的创建一个天气机器人(Weather ...
- 【Azure 机器人】微软Azure Bot 编辑器系列(4) : 使用语言生成功能[LG: Language Generation] (The Bot Framework Composer tutorials)
欢迎来到微软机器人编辑器使用教程,从这里开始,创建一个简单的机器人. 在该系列文章中,每一篇都将通过添加更多的功能来构建机器人.当完成教程中的全部内容后,你将成功的创建一个天气机器人(Weather ...
- 【Azure 机器人】微软Azure Bot 编辑器系列(5) : 机器人的卡片式回复 (The Bot Framework Composer tutorials)
欢迎来到微软机器人编辑器使用教程,从这里开始,创建一个简单的机器人. 在该系列文章中,每一篇都将通过添加更多的功能来构建机器人.当完成教程中的全部内容后,你将成功的创建一个天气机器人(Weather ...
随机推荐
- 【Java】各种代码块的执行顺序
静态代码块:用staitc声明,jvm加载类时执行,仅执行一次 构造代码块:类中直接用{}定义,每一次创建对象时执行. 执行顺序优先级:静态块,main(),构造块,构造方法. 构造函数 public ...
- Java 里的对象在虚拟机里面是怎么存储的?
Java 中的对象在虚拟机里的存储 在 Java 中,对象在虚拟机中的存储方式取决于 JVM 内存模型,主要存储在 堆(Heap) 中.对象的内存布局和管理方式会影响对象的创建.访问和销毁.下面详细解 ...
- 记一次SQL隐式转换导致精度丢失问题的排查 → 不规范就踩坑
开心一刻 刚毕业的侄子给我发消息侄子:叔,人生太难了我:怎么呢?侄子:工作太难了,感情也太难了,怎么什么都这么难我:你还小啊侄子:大了就不难了?我:大了你就习惯了 问题复现 先准备表:数据源( tbl ...
- 重载(Overloading)与重写(Override)的区别?
重载(Overloading)与重写(Override)的区别? No. 区别 重载 重写 1 英文单词 Overloading Override 2 发生范围 发生在一个类里面 发生在继承关系中 3 ...
- windows 配置jdk8环境变量
JAVA_HOME: E:\Android\Java\jdk1.8.0_131 PATH: %JAVA_HOME\%bin 也可以只配置PATH就可以,如 E:\Android\Java\jdk1.8 ...
- wqs 二分
初看这个东西可能很难理解,我个人也学习了很多遍,然后发现这个直接理解实际上并不难. wqs 二分主要是解决 恰好分成/选 \(k\) 段 这一类 DP 问题的算法.如果不知道形式可以看一下 P4983 ...
- FreeSWITCH Jitter Buffer 技术解析与应用指南
一.概述 freeswitch是一款简单好用的VOIP开源软交换平台. Jitter Buffer(抖动缓冲器)是实时语音通信中解决网络抖动和延迟问题的核心技术.FreeSWITCH通过STFU(So ...
- C#8.0,9.0,10.0常见新语法学习
顶级语句 (1)一个项目最多只能有一个文件具有顶级语句,就是直接写代码,如果存在多个,则会报错, (2)如果顶级语句和Main共存,则只调用顶级语句 (3)如果没有顶级语句,则必须有Main 简化us ...
- K-th Symbol in Grammar——LeetCode进阶路
原题链接https://leetcode.com/problems/k-th-symbol-in-grammar/ 题目描述 On the first row, we write a 0. Now i ...
- 解密prompt系列54.Context Cache代码示例和原理分析
Context Cache的使用几乎已经是行业共识,目标是优化大模型首Token的推理延时,在多轮对话,超长System Prompt,超长结构化JSON和Few-shot等应用场景,是不可或缺的.这 ...