文档中心>即时通信 IM>智能客服>集成指引>集成自建 AI 或第三方大模型

集成自建 AI 或第三方大模型

最近更新时间:2024-10-10 15:06:52

我的收藏

适用场景

您可以通过此方案对接自建或者第三方的 AI 机器人,依托智能客服丰富的开放接口,自定义开发客服场景。智能客服已为您提供 用户端集成方案客服工作台,用户可通过移动端、小程序或网页端给客服号发送消息,与自建或第三方的 AI 机器人对话,转人工成功后,客服人员可在 工作台 接待用户咨询。
用户端:用户与 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 是 "ChatBot.UserSendMsg")。开发者后台收到回调请求后,需立即响应成功,然后再开始处理业务逻辑(例如请求第三方 AI 服务)。

回复消息

对应消息流程总览的步骤4:开发者后台收到 AI 服务的响应后,调用 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": "是否支持发送满意度评价" } ] } }