与自定义机器人互动
更新时间: 2024/07/22 09:38:56
本文主要介绍如何快速接入类 ChatGPT 的自定义机器人,帮助您在 IM 应用中实现多样化的 AI 服务,在一对一(P2P)和群组(高级群,Team)场景中进行即时通讯。
网易云信的即时通讯自定义机器人服务,仅面向已成功接入的用户提供。对于尚未接入过的用户,推荐您尝试 AI 数字人 功能。
技术原理
接入自定义机器人后,IM 应用中的工作流程如下(以单聊为例):
主要流程如下:
- 用户发送消息给机器人(提前定义好机器人的用户账号 accid);
- 云信 IM 服务器检测到发送对象为机器人后,发送给云信机器人服务器;
- 云信机器人服务器调用自定义机器人服务的相关接口;
- 自定义机器人服务响应,返回回复内容;
- 云信机器人服务器调用云信的发送消息接口将回复内容发送到云信 IM 服务器;
- 云信 IM 服务器将机器人的回复消息返回给用户。
前提条件
- 已在云信控制台创建应用,获取 App Key。
- 已注册云信 IM 账号,获取 accid 和 token。
实现流程
-
用户调用
nimserver/msg/sendMsg.action
接口向机器人发送消息。向机器人发送消息时,需要配置机器人相关信息:
参数 类型 说明 from String 发送者的云信 IM 账号(accid),最大 32 字符 ope Integer 0:单聊;1:群聊(高级群) to String 消息的接收方,发送单聊(点对点)消息给机器人时,填对应的机器人账号 type Integer 消息类型。0:文本消息;1:图片消息;2:语音消息;3:视频消息;4:地理位置消息;6:文件消息;10:提示消息;100:自定义消息 body String 消息体,JSON 格式,最大长度 5000 字符,具体请参见消息格式示例 robotFunction String 机器人具体功能 robotTopic String 机器人消息话题 robotCustomContent String 机器人自定义内容 robotAccount String 机器人账号,对应控制台提前设置好的机器人(仅当发送到群组有效,点对点会被忽略) 示例代码如下:
curl
curl -X POST -H "AppKey: go9dnk4**0803mgq3" -H "Nonce: 4tggge**23t23t" -H "CurTime: 1443592222" -H "CheckSum: 9e9db3b6c9abb2e1962cf3e6f7316fcc55583f86" -H "Content-Type: application/x-www-form-urlencoded" -d 'from=zhangsan&ope=0&to=lisi&type=0&body={"msg":"hello"}&robotAccount=robot' 'https://api.netease.im/nimserver/msg/sendMsg.action'
目前机器人消息功能支持多种消息类型,包括文本消息、图片消息、语音消息、视频消息、文件消息、地理位置消息、提示消息、通知消息以及自定义消息。
-
用户接收到机器人回复的消息。
此文档是否对你有帮助?