与第三方机器人互动

更新时间: 2024/07/05 11:33:51

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

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

技术原理

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

主要流程如下:

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

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

前提条件

实现流程

  1. 接收方调用 addMessageListener 方法注册消息监听器,监听消息接收回调事件 onReceiveMessages

  2. 发送方调用 createTextMessage 方法,构建一条文本消息。然后调用 sendMessage 方法向机器人发送文本消息。

    向机器人发送消息时,需要在消息体(V2NIMMessage)中通过 robotConfig 配置机器人信息,字段类型为 V2NIMMessageRobotConfig

  • V2NIMMessageRobotConfig 说明:

如果您的应用平台为 Android,则需要调用对应的成员函数获取对应参数。

名称 类型 是否必填 默认值 描述
accountId String - 机器人账号,必须与在云信控制台配置的机器人 account 一致。
该字段仅对群组消息有效。
topic String - 机器人消息话题
function String - 机器人具体功能
customContent String - 机器人自定义内容

目前机器人消息功能支持多种消息类型,包括文本消息、图片消息、语音消息、视频消息、文件消息、地理位置消息、提示消息、通知消息以及自定义消息。具体实现流程请参见消息收发

  1. 接收方通过 onReceiveMessages 回调收到文本消息。
此文档是否对你有帮助?
有帮助
去反馈
  • 技术原理
  • 前提条件
  • 实现流程