人工服务
最新更新:2024-06-01

人工服务

人工服务功能允许 Bot 开发者接入接入第三方人工客服系统,以响应 Bot 用户的人工服务请求。当前已支持接入 Intercom、WebHook 的方式更灵活的接入其他人工服务系统( 如:livechat 、WhatsApp 、 slack 、钉钉、七鱼、企业微信等)。

如何启用人工服务

  1. 在 Bot 设置-人工服务,点击「启用」按钮,即可启用人工服务。
  2. 选择需要的人工服务系统,支持 intercom、webhook 等。
  3. 完成所选择三方人工服务系统的鉴权配置,确保消息互通成功
  4. 根据企业人工服务支持的实际情况,调整设置人工服务相关配置设置
  5. 在 Bot 对话窗口中,发起人工服务请求即可正常调用人工服务

配置人工服务鉴权

Intercom 鉴权

通过 Intercom 提供人工服务的完整教程指南

  1. 创建 APPS
    首先需要在 intercom 注册并按照引导创建完成 workspace 。通过「账号头像-settings-APPS&INTEGRATIOS」访问 Developer-hub页面。在 Developer-hub 点击「New app」创建一个应用。若已创建好 App,直接选择目标 App进入其设置页面。 alt text
  2. 获取 AccessToken 并填写到 GPTBots
  • 选择「Authentication」菜单项,复制 Access token 信息。  intercome Access token
  • 将 token信息填写到「人工服务-intercom 鉴权」的 Access token 输入框中 alt text
  • 将人工服务消息接收地址填写到 Intercom 复制「GPTBots 消息接收地址」中的URL 地址,并将该 URL 地址填入在 Webhooks 菜单项的 Endpoint URL 中 alt text
  • 在 Intercom 订阅关键业务事件 在 Webhooks 菜单项的 Topics 功能区,使用「Select a topic...」选中4个订阅事件,点击「save」按钮保存配置。
    • conversation.admin.closed
    • conversation.admin.replied
    • conversation.admin.snoozed
    • conversation.read

至此,Intercom 的配置全部完成,你可以在 Bot 对话窗口请求人工服务,Bot 发起人工服务请求成功时,Intercom 的 Help Desk 会接收到用户消息,当人工客服回复该条消息后人工服务连接正式建立。

Webhook 鉴权

通过 Webhook 提供人工服务的完整教程指南

  1. 首先,开发者需要在自己的服务器环境构建一个 Webhook 接收服务,提供以下3个接口用于接收 Bot 发起的人工服务请求和接收消息。详见人工服务 webhook
    • 创建会话:/conversation/establish
    • 聊天:/chat
    • 关闭会话:/conversation/close
  2. 然后,开发者需要在 Bot - 人工服务配置中配置 Webhook 接收服务的 URL 地址、用户名和密码,以便 Bot 能够发送消息到 Webhook 接收服务。 alt text

    URL地址:必填,用于接收 bot 端用户发送的消息内容
    用户名:非必填,由开发者所构建的 webhook 服务决定 密码:非必填,由开发者所构建的 webhook 服务决定

  3. 最后,在「Bot-集成-API」 启用 API 功能,再将 GPTBots 消息接收地址配置为 Webhook 端的消息发送 URL 地址,用于将人工回复消息内容发送到 Bot 对话窗口中。详见人工服务 webhook
    alt text 至此,Webhook 鉴权配置全部完成,你可以在 Bot 对话窗口请求人工服务,Bot 发起人工服务请求成功时,Webhook 接收服务会接收到用户消息。

配置人工服务

人工服务

alt text 服务状态:展示三方人工服务系统的可用性

  • 未配置:当从未填写三方人工服务系统的鉴权信息时
  • 服务可用:当填写鉴权信息且验证通过时
  • 对不可用:当已填写的鉴权信息在调用时失效/失败时

触发时机:支持自定义触发时机描述,帮助 LLM 正确判断何时调用人工服务。

超时机制

等待超时:默认 60 S,用户发起人工服务请求后的最大等待时长,超时将提示用户结束本次请求或继续等待

会话超时:默认 180 S,人工客服最后 1 条消息产生后,若等待 N 秒后一直无用户回复,将自动退出人工服务

人工服务时段

alt text

支持自定义设置最多 10 条人工服务时间段,规则如下:

  • 每周:此模式下,支持选择周一~周日,设定人工服务时间段,每周循环执行
  • 自定义:此模式下,必须选择一个绝对日期,设定人工服务时间段,只执行一次

当 Bot 存在多条人工服务时段时,人工服务事件生效机制如下:

  • 首先按照自然日维度,筛选出该自然日的所有「人工服务时段」规则
  • 按照最宽时间窗口规则计算所有的重叠时间规则参数,不重叠则不参与计算
  • 若存在多个不重叠的最宽时间窗口,则该自然日存在多个有效的人工服务时间段,

    例如2024.12.12日生效的人工服务时间规则共 4 条,分别如下:09:00 ~ 12:0010:00 ~ 1 2:0013:00 ~ 18:0015:00 ~ 17:00.
    则系统生效的服务时间窗口为:09:00 ~ 12:0013:00 ~ 18:00

非服务时段回复

当前人工服务处于「非人工服务时段」,调用人工服务时会自动回复「预置文案」进行回复

传递对话轮数

当成功调用三方服务系统,将N 轮的聊天记录+用户最新问题一起提交到人工服务系统,以帮助

在对话窗口发起人工服务请求

  1. 用户发起人工服务请求
    当用户希望获得人工服务时,会由 LLM 判断是否唤醒人工服务,若 LLM 决定唤醒人工服务则会调用人工服务 tools 并要求用户提供邮件地址.当系统已有用户的邮箱信息时,则会跳过「输入邮箱」的环节,直接调起人工服务请求流程。 alt text
    • 用户已登录状态且账号经过邮箱验证时,系统存在用户邮件信息
    • 开发者在气泡部件场景,通过window.ChatBot.setEmail("somebody@mail.com")命令设置用户邮箱时,系统存在用户邮件信息
    • 开发者在 iframe 场景,通过iframe_url+?email=somebody@mail.com的方式设置用户邮箱时,系统存在用户邮件信息
  2. 当三方人工服务系统接收到用户消息,并回复用户第一条消息时,正式进入人工服务环节
  3. 用户可以不限轮数的与人工服务系统互发消息,用户和人工客服人员均可以主动关闭本次人工服务对话

接入intercom 、 webhook、 livechat等 任何三方人工服务系统,上述功能均适用。