即时通信 IM 集成自建 AI 或第三方大模型

可以以通过此方案对接自建或者第三方的 AI 机器人,依托智能客服丰富的开放接口,自定义开发客服场景。智能客服已提供 用户端集成方案 和 客服工作台,用户可通过移动端、小程序或网页端给客服号发送消息,与自建或第三方的 AI 机器人对话,转人工成功后,客服人员可在 工作台 接待用户咨询。

相关产品
即时通信 IM 产品页,含版本规格、价格与购买入口。

一、适用场景

·用户端:用户与 AI 的聊天消息和与人工客服的消息都在同一个会话中合并显示。

·客服端:转人工后,人工客服也能看到用户跟 AI 聊天的历史消息。

二、准备工作

你需要参见 快速入门 开通并配置智能客服。

三、消息流程总览

消息流程如下:

1. 发消息:用户发送消息给客服号。

2. 消息回调:智能客服后台将消息回调至开发者后台,开发者后台需立即响应成功。

3. 请求 AI 服务:开发者后台调用 AI 服务。

4. REST API 回消息:开发者后台调用 REST API 发送消息回复用户。

5. 回消息:步骤2-5循环执行,用户和机器人不停进行问答。

6. REST API 转人工:开发者后台识别到用户有转人工意图,调用 REST API 转人工服务。

7. 转人工:用户由人工客服服务。

四、配置回调地址

登录 管理端,在扩展中心 > 自建机器人卡片里面单击立即配置,填写机器人名称和回调地址,配置成功之后,点击开启按钮进行启用。

五、集成用户端

对应消息流程总览的步骤1:参见 含 UI 用户端集成(荐)(以 Android 为例)选择你对应的语言或框架完成用户端开发。如果你有特殊开发需求,还可以选择 无 UI 方式集成用户端。

六、开发者后台处理消息回调

对应消息流程总览的步骤2:用户端发送消息给客服号之后,智能客服后台通过上述配置的回调地址,将该消息回调至开发者后台,回调的协议格式请参见 会话事件回调(Event 是 "ThirdPartyChatBot.UserSendMsg")。开发者后台收到回调请求后,需立即响应成功,然后再开始处理业务逻辑(例如请求第三方 AI 服务)。

七、自建 AI 与智能客服机器人的灰度切换

若你已经使用智能客服的机器人上线了业务,希望灰度切换到自建 AI ,可以通过回调请求的响应来控制灰度节奏和比例。

响应包如下时表示本次用户的消息由自建 AI 来处理。此时开发者后台需要进行 流程总览 里的步骤3、步骤4、步骤6,给用户回消息或者转人工。

{ "AIProvider": 0}

响应包如下时表示本次用户的消息由智能客服机器人来处理。此时开发者后台不再需要进行流程总览里的步骤3、步骤4、步骤6。

{ "AIProvider": 1}

字段说明如下:

字段 类型 属性 说明
AIProvider Integer 选填 0表示使用自建 AI,1表示使用智能客服机器人。默认为0

八、回复消息

对应消息流程总览的步骤4:开发者后台收到 AI 服务的响应后,调用 REST API 接口 发送消息 给用户回复消息,或者调用 REST API 接口 发送流式消息 给用户回复流式消息。

九、转人工

对应消息流程总览的步骤6:开发者后台识别到用户有转人工的意图后,调用 REST API 接口 转人工,之后由人工客服为用户服务。人工客服在工作台上能看到用户跟机器人聊天的历史记录。

十、监听启动会话的消息回调

用户在打开客服会话时,用户端会主动发送一条 会话启动消息 ,消息格式如下:(此处忽略了其他字段)

{ "MsgBody": [ { "MsgType": "TIMCustomElem", "MsgContent": { "Data": "{\\"customerServicePlugin\\":0,\\"src\\":\\"7\\"}" } } ] }

其中的 Data 字段为如下 JSON 结构序列化后的值:

{ "customerServicePlugin": 0, "src": "7"}

该条消息会回调到开发者后台。开发者后台监听到此消息后,可以调用 REST API 接口 发送消息 给用户发送欢迎卡片消息。

十一、发送欢迎卡片消息

欢迎卡片消息 格式如下:

{
"MsgBody": [
{
"MsgType": "TIMCustomElem",
"MsgContent": {
"Data": "{\\"customerServicePlugin\\":0,\\"src\\":\\"29\\",\\"subtype\\":\\"welcome_msg\\",\\"content\\":{\\"title\\":\\"猜你想问:\\",\\"items\\":[{\\"content\\":\\"智能客服提供哪些功能\\"},{\\"content\\":\\"如何修改机器人知识库\\"},{\\"content\\":\\"客服在哪里收发消息\\"},{\\"content\\":\\"如何设置工作时间\\"},{\\"content\\":\\"是否支持发送满意度评价\\"}]}}"
}
}
]
}

其中的 Data 字段为如下 JSON 结构序列化后的值:

{
"customerServicePlugin": 0,
"src": "29",
"subtype": "welcome_msg",
"content": {
"title": "猜你想问",
"content": "",
"items": [
{
"content": "智能客服提供哪些功能"
},
{
"content": "如何修改机器人知识库"
},
{
"content": "客服在哪里收发消息"
},
{
"content": "如何设置工作时间"
},
{
"content": "是否支持发送满意度评价"
}
]
}
}

十二、联系我们

如果你在接入过程中有任何疑问,请用微信或企业微信扫码加入智能客服交流群进行咨询。

赞 (0)
上一篇 4天前
下一篇 4天前