与第三方机器人互动

更新时间: 2024/03/14 18:45:33

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

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

技术原理

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

主要流程如下:

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

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

前提条件

实现流程

这里以单聊场景为例,描述用户与第三方机器人一对一聊天的实现步骤。

  1. 用户调用 sendText 方法向机器人发送文本消息。

    向机器人发送消息时,需要在入参中配置 robotInfo 设置机器人信息。

    robotInfo 字段说明:

    参数类型说明
    functionString机器人具体功能
    topicString机器人消息话题
    customContentString机器人自定义内容
    accountString机器人账号(仅当发送到群组有效,点对点会被忽略)

    示例代码如下:

    js//这里主要以发送文本消息为例
    nim.sendText({
        scene: 'p2p',
        to: 'robotAccId',
        text: '请帮我找一份中餐食谱',
        robotInfo: {
            function: '',
            topic: ''
        }
    })
    

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

  2. 用户收到机器人的消息。机器人消息和普通消息一样,通过初始化回调函数 onmsg 接收。

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