企业微信内部应用集成智能对话机器人大模型问答
确保已经完成了微信企业认证
需要一个域名,用来接收回调消息。企业微信要求域名主体需要企业微信的认证主体相同或相关。相关文档
效果展示
概览
调用ApplyForStreamAccessToken接口。参考文档:ApplyForStreamAccessToken - 获取流式调用的连接信息
ApplyForStreamAccessToken接口,返回的连接签名信息有效期2小时,必须在到期前重新获取
监听并接收用户消息。接收消息
解析消息,得到用户问句和用户信息。消息格式
获取微信的AccessToken,每次调用微信的接口都会用到。获取调用凭证access_token
得到企业微信AccessToken
计算会话接口签名。会话接口签名
SSE流式调用会话接口,监听SSE事件,获取大模型流式输出。参考文档:流式会话接口
大模型流式接口会多次返回,每次返回都是全量的回复,渲染端应该考虑用新的覆盖旧的。响应参数参考:2 响应参数说明
等待大模型回复完成,一次性将消息回复给用户
示例
示例工程代码
如何运行
本示例工程的运行环境要求为JDK 8,参考文档:在Windows安装JDK
将上面提到的参数填写到示例工程的
application.properties
配置文件中运行
com.aliyun.chatbot.channel.WebApplication
,也可打成jar包,通过java -jar命令运行
示例工程参数
名称 | 描述 |
ALIYUN_ACCESS_KEY | 阿里云账号AK |
ALIYUN_SECRET_KEY | 阿里云账号SK |
CHATBOT_INSTANCE_ID | 机器人 ID |
CHATBOT_AGENT_KEY | 业务空间AgentKey,获取地址:业务空间管理 |
WX_CORP_ID | 企业 ID,获取企业 ID,获取地址 |
WX_TOKEN | API接收消息配置中的Token,Token和EncodingAESKey点击随机获取即可 |
WX_ENCODING_AES_KEY | API接收消息配置中的EncodingAESKey,Token和EncodingAESKey点击随机获取即可 |
WX_SECRET | 应用的Secret,上一步点击保存后,回到应用配置页,查看Secret |
智能对话机器人配置
进入智能对话机器人控制台,https://chatbot.console.aliyun.com
机器人创建,获取机器人id,发布机器人(如无发布按钮则跳过)
获取业务空间AgentKey,地址:业务空间管理
阿里云账号AKSK获取,地址:AccessKey
企业微信配置
获取企业 ID,获取地址
登录企业微信应用平台
选择应用管理菜单,然后创建应用
设置API接收消息
URL:https://{你的域名}/api/wechat/work/chat
Token和EncodingAESKey点击随机获取即可
直接点击完成会提示“openapi回调地址请求不通过”。需要把企业 ID、Token 和 EncodingAESKey配置到代码中,并部署本示例,确保回调URL能被外网调用到
上一步点击保存后,回到应用配置页,查看Secret
在应用配置页中,继续配置企业可信IP
FAQ
Q:配置回调接口信息时,直接点击完成会提示“openapi回调地址请求不通过”
A:需要把企业 ID、Token 和 EncodingAESKey配置到代码中,并部署本示例,确保回调URL能被外网调用到