服务端
API 参考
圈组

与第三方机器人互动

更新时间: 2024/03/15 14:27:33

本文主要介绍如何快速接入类 ChatGPT 的第三方机器人,帮助您在 IM 应用中实现多样化的 AI 服务。

文中的接入流程以接入 ChatGPT(微软版)为例,其他第三方机器人服务均可通过文中介绍的方法接入,在一对一(P2P)和群组(高级群,Team)场景中进行即时通讯。

技术原理

接入第三方机器人后,IM 应用中的工作流程如下(以单聊为例):

主要流程如下:

  1. 用户发送消息给机器人(提前定义好机器人的用户账号 accid);
  2. 云信 IM 服务器检测到发送对象为机器人后,发送给云信机器人服务器;
  3. 云信机器人服务器调用第三方机器人服务的相关接口;
  4. 第三方机器人服务响应,返回回复内容;
  5. 云信机器人服务器调用云信的发送消息接口将回复内容发送到云信 IM 服务器;
  6. 云信 IM 服务器将机器人的回复消息返回给用户。

当您开通第三方回调和安全通服务时,您发送的消息以及机器人回复的消息都会经过安全审核,相关内容请参考安全通第三方回调

前提条件

实现流程

  1. 用户调用 nimserver/msg/sendMsg.action 接口向机器人发送消息。

    向机器人发送消息时,需要配置机器人相关信息:

    参数类型说明
    fromString发送者的云信 IM 账号(accid),最大 32 字符
    opeInteger0:单聊;1:群聊(高级群)
    toString消息的接收方,发送单聊(点对点)消息给机器人时,填对应的机器人账号
    typeInteger消息类型。0:文本消息;1:图片消息;2:语音消息;3:视频消息;4:地理位置消息;6:文件消息;10:提示消息;100:自定义消息
    bodyString消息体,JSON 格式,最大长度 5000 字符,具体请参见消息格式示例
    robotFunctionString机器人具体功能
    robotTopicString机器人消息话题
    robotCustomContentString机器人自定义内容
    robotAccountString机器人账号,对应控制台提前设置好的机器人(仅当发送到群组有效,点对点会被忽略)

    示例代码如下:

    curlcurl -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'
    

    目前机器人消息功能支持多种消息类型,包括文本消息、图片消息、语音消息、视频消息、文件消息、地理位置消息、提示消息、通知消息以及自定义消息。

  2. 用户接收到机器人回复的消息。

此文档是否对你有帮助?
有帮助
去反馈
  • 技术原理
  • 前提条件
  • 实现流程