IBM Cloud Docs
添加助手响应

添加助手响应

激活操作时,该操作的主体由多个 步骤 组成,这些步骤构成助手与用户之间的对话。 每个步骤的一部分是助手在处理该步骤时对客户说的话。

要在步骤中创建助手的响应,请使用 助手说 部分。 这表示助手在特定步骤向用户传递的文本或语音。 根据步骤,您可以向用户的问题添加完整答案或询问后续问题。

只需输入您希望助手向用户显示的文本,即可输入简单文本响应。 您还可以添加格式和 Web 内容,并且可以使用 变量来引用用户信息。

格式化响应

使用文本编辑器工具为文本应用字体样式,如粗体或斜体,或添加链接。

在后台,字体样式和链接语法以 Markdown 格式存储。 如果您正在使用 Web 聊天集成,那么支持 HTML 和 Markdown 标记。 有关更多信息,请参阅 Markdown 格式设置

发送到Facebook WhatsApp, 和Slack集成的文本回复中会自动删除HTML标签(链接除外),因为这些渠道不支持HTML格式。 HTML 标记仍在支持它们的通道 (例如,Web 聊天) 中进行处理,并存储在会话历史记录中。

如果使用的是不支持 Markdown 的定制客户机应用程序,请不要将文本样式应用于文本响应。

添加和引用变量

在对话期间,助手会将信息存储为 变量。 变量是在运行时可用的数据值的容器。 变量的值可以随时间变化。 变量包括 操作变量(仅在特定操作期间持久存储) 和 会话变量(可用于任何操作)。 有关变量的更多信息,请参阅 在对话期间管理信息

在助手的输出中,可以引用变量来个性化对话或包含在运行时可用的信息。 有关在助手的操作中引用变量的更多信息,请参阅 使用变量来定制对话

测试响应

要检查助手响应的格式是否正确,可以使用 预览

  1. 点击预览按钮
  2. 要启动操作,请输入第一个短语,例如: What are your store hours?
  3. 当助手作出响应时,请检查消息是否按您的预期显示,并对变量进行格式化和使用。

添加响应的提示

  • 使回答保持简短、有用。
  • 在响应中反映出用户的意向。 这样做可让用户确信机器人理解他们的意图,如果理解有误,用户也有机会立即更正误解之处。
  • 如果答案取决于经常变化的数据,请在回复中添加外部网站的链接。
  • 认真对响应进行措辞。 你可以根据你的措辞来改变别人对你的系统的反应。 更改一行文本可能会使您不必编写多行代码来实施复杂的程序化解决方案。

添加变体

如果您的用户经常回到您的助手,他们可能会厌倦每次都看到相同的问候和回应。 您可以添加 响应变体,以便助手可以通过不同方式响应同一请求。

可以选择按顺序或按随机顺序循环提供响应变体。 缺省情况下,响应按顺序循环,如同从排序的列表中进行选择一样。

要添加响应变体:

  1. 助手说中,单击 添加响应变体 图标 添加响应变体

  2. 对于 响应变体类型,选择是按顺序还是按随机顺序旋转响应变体。 有关更多信息,请参阅 顺序或随机

    响应变体
    响应变体

  3. 将每个变体添加到其自己的字段中。 例如:

    响应变体示例
    响应号 变体
    响应 1 有什么需要我们帮助的?
    响应 2 今天我能为您做些什么?
    响应 3 告诉我我能帮上什么忙
    响应 4 我能帮你吗
  4. 完成后,单击 应用。 变体在 Assistant 说明中显示为块。 您可以单击 编辑 图标以更新变体,或者单击 删除 图标以除去所有变体。 此外,您还可以向步骤添加多组响应变体。

    助手中的响应变体说
    助手中的响应变体说

顺序或随机

对于 响应变体类型,可以选择 顺序随机

顺序返回第一次触发动作时的第一个响应变化,第二次触发动作时的第二个响应变化,以此类推,顺序与您输入的变化顺序相同。 当处理节点时,响应将按以下顺序返回:

  • 第一次:

    How can I help you?
    
  • 第二次:

    What can I do for you today?
    
  • 第三次:

    Tell me what I can help with.
    
  • 第四次:

    Can I help you?
    

随机 在第一次触发操作时选择变体,并在下次随机选择另一个变体,但不会连续重复相同的变体。 此示例显示了响应可能显示的顺序:

  • 第一次:

    Tell me what I can help with.
    
  • 第二次:

    Can I help you?
    
  • 第三次:

    How can I help you?
    
  • 第四次:

    What can I do for you today?
    

媒体回应

除文本响应外,您还可以使用其他 响应类型 来发送包含多媒体或交互式元素的响应。

操作编辑器支持以下介质响应类型:

  • 图像:将图像嵌入到响应中。 源图像文件必须在某个位置进行托管,并具有可用于引用该图像文件的 URL。 这不能是存储在不可公开访问的目录中的文件。
  • 视频: 将视频播放器嵌入响应中。 源视频必须托管在某个地方,要么作为可播放视频托管在受支持的视频流媒体服务上,要么作为视频文件托管在某个地方,并提供URL,以便引用。 这不能是存储在不可公开访问的目录中的文件。
  • 音频: 将音频剪辑嵌入到响应中。 源音频文件必须托管在某个地方,并提供URL,以便引用。 这不能是存储在不可公开访问的目录中的文件。
  • iframe: 直接在交谈中嵌入来自外部 Web 站点 (例如表单或其他交互式组件) 的内容。 源内容必须可通过 HTTP 公开访问,且必须可作为HTML iframe 元素嵌入。

不同的通道集成具有不同的功能来显示媒体响应。 要查看哪些通道集成支持哪些响应类型,请参阅 响应类型的通道集成支持

如果要定义针对不同通道定制的不同响应,可以通过使用 JSON 编辑器来编辑响应。 有关更多信息,请参阅 以特定集成为目标

通过在 JSON 编辑器中编辑响应,您还可以访问更多响应类型以处理特定于通道的交互。

有关如何使用 JSON 编辑器编辑响应的更多信息,请参阅 使用 JSON 编辑器定义响应

添加图片回复

添加 图像 响应以向客户显示图像。

以下通道集成支持 映像 响应类型:

  • Web 聊天
  • SMS
  • Slack
  • Microsoft Teams
  • Facebook
  • WhatsApp

要添加图片回复,请完成以下步骤:

  1. 助手说 字段中,单击 图像 图像 图标。

  2. URL 中,输入托管图片的完整URL。

    图片必须为 JPEGGIFPNG 格式。 图片文件必须存储在可通过 https: URL 公开访问的位置(例如 https://www.example.com/assets/common/logo.png )。

    要访问存储在 IBM Cloud®Object Storage 中的图像,请启用对各个图像存储对象的公共访问权,然后通过类似下面的语法指定图像源来对其进行引用:https://s3.eu.cloud-object-storage.appdomain.cloud/your-bucket-name/image-name.png

  3. (可选) 在提供的字段中指定图像标题,描述和备用文本。 在 Web 聊天集成中,将显示标题和描述以及图像。

    不支持对变量的引用。 某些集成通道会忽略标题或描述。

  4. 单击应用

添加音频响应

添加 音频 响应以包含辐条词或其他可听内容。 在 Web 聊天中,音频响应呈现为嵌入式音频播放器。 在电话集成中,通过电话播放音频响应。

以下通道集成支持 音频 响应类型:

  • Web 聊天
  • 电话
  • SMS
  • Slack
  • Facebook
  • WhatsApp

要添加音频回复,请完成以下步骤:

  1. 助手说 字段中,单击 音频 音频 图标。

  2. 在URL 中,输入托管音频剪辑的完整URL:

    • 要直接链接到音频文件,请指定任何标准格式(如 MP3 或WAV) URL。 在网络聊天中,链接的音频剪辑呈现为嵌入式音频播放器。

    • 要链接到受支持的音频托管服务上的音频片段,请指定音频片段URL。 在 Web 聊天中,链接的音频剪辑通过将可嵌入播放器用于托管服务来呈现。

      请指定您要在浏览器中访问音频文件URL (例如,https://soundcloud.com/ibmresearch/fallen-star-amped )。您无需URL 转换为可嵌入的形式,网络聊天会自动完成此操作。

      您可以嵌入在以下服务上托管的音频:

  3. (可选) 在提供的字段中指定标题,描述和备用文本。 在 Web 聊天集成中,将显示标题和描述以及音频播放器。

    不支持对变量的引用。 某些集成通道会忽略标题或描述。

添加 视频 响应

添加 视频 响应以显示操作演示,促销剪辑或其他视频内容。 在网络聊天中,视频响应呈现为嵌入式视频播放器。

以下通道集成支持 视频 响应类型:

  • Web 聊天
  • SMS
  • Slack
  • Facebook
  • WhatsApp

要添加视频回复,请完成以下步骤:

  1. 助手说 字段中,单击 视频 视频 图标。

  2. URL 中,输入托管视频的完整URL:

    • 要直接链接到视频文件,请指定任何标准格式(如MPEG或AVI)的URL。 在网络聊天中,链接的视频呈现为嵌入式视频播放器。

      不支持 HLS (.m3u8) 和 DASH (MPD) 流式视频。

    • 要链接到受支持的视频托管服务上的视频,请指定URL。 在 Web 聊天中,链接的视频通过将可嵌入播放器用于托管服务来呈现。

      请指定您要在浏览器中观看视频URL (例如 https://www.youtube.com/watch?v=52bpMKVigGU )。您无需URL 转换为可嵌入的形式,网络聊天会自动完成此操作。

      您可以嵌入在以下服务上托管的视频:

      • YouTube
      • Facebook
      • Vimeo
      • Twitch
      • 可流式传输
      • Wistia
      • Vidyard
  3. (可选) 在提供的字段中指定视频标题,描述和备用文本。 在 Web 聊天集成中,标题和描述与视频播放器一起显示。

    不支持对变量的引用。 某些集成通道会忽略标题或描述。

  4. 如果要将视频缩放到特定显示大小,请在 基本高度 字段中指定数字。

添加 iframe 响应

添加 iframe 响应以将来自另一个 Web 站点的内容作为 HTML iframe 元素直接嵌入交谈窗口中。 如果要使客户能够在不离开交谈的情况下与外部服务执行某些交互,那么 iframe 响应很有用。 例如,您可以使用 iframe 响应在 Web 聊天中显示以下示例:

在网络聊天中,可以通过两种方式包含 iframe:

  • 类似于用于描述嵌入式内容的预览卡。 客户可以单击此卡以显示框架并与内容进行交互。
  • 内联,在对话中的含义。 此选项适用于较小的 iframe 内容。

以下通道集成支持 iframe 响应类型:

  • Web 聊天
  • Facebook

要添加 iframe 响应类型,请完成以下步骤:

  1. 助手说 字段中,单击 iframe 图标 (iframe)。

  2. iframe源文件 字段中添加完整的 URL 作为外部内容。

    URL 必须指定可嵌入HTML iframe 元素的内容。 不同的站点对于嵌入内容有不同的限制,对于生成可嵌入 URL 也有不同的流程。 URL 是指可以指定为 iframe 元素的 src 属性的值。

    例如,要嵌入使用 Google 地图的交互式地图,可以使用 Google 地图嵌入 API。 有关更多信息,请参阅 The Maps Embed API 概述。 其他站点具有用于创建可嵌入内容的不同进程。

    有关使用允许您在助手中嵌入 Web 站点内容的 Content-Security-Policy: frame-src 的技术详细信息,请参阅 CSP: frame-src

  3. (可选) 在 标题 字段中添加描述性标题。

    在 Web 聊天中,您添加的标题将显示在预览卡中。 客户单击预览卡以呈现外部内容。

    如果您没有指定标题,网络聊天会尝试从URL检索元数据,并根据源代码中的说明显示内容标题。

    不支持对变量的引用。

  4. 要在对话流中显示 iframe,而不是作为预览卡,请将 显示 iframe inline 设置为 On。 您还可以设置 iframe 的高度。 缺省值为 180 像素。

技术详细信息: iframe sandboxing

Web 聊天在 iframe 中装入的内容为 sandboxed,这意味着它会限制用于减少安全漏洞的许可权。 Web 聊天使用 iframe 元素的 sandbox 属性仅授予以下许可权:

许可权 描述
allow-downloads 允许从网络下载文件 (如果下载是由用户启动的)。
allow-forms 允许提交表单。
allow-scripts 允许运行脚本,但 打开弹出窗口。
allow-same-origin 允许内容访问其自己的数据存储器 (例如 cookie),并允许对 JavaScript API 进行有限访问。

在沙箱式 iframe 中运行的脚本无法更改 iframe 外部的任何内容,如果 外部页面和 iframe 具有不同的源。 如果使用 iframe 响应来嵌入与托管 Web 聊天窗口小部件的页面具有相同来源的内容,请务必小心。 在这种情况下,嵌入式内容可以击败沙箱并访问框架外的内容。 有关此潜在漏洞的更多信息,请参阅 sandbox 属性 文档

技术详细信息: iframe 预览卡

Web 聊天中的 iframe 响应类型显示 预览卡,其中包含用户在 Web 聊天中访问的 Web 页面的图像,标题和描述。

要在 预览卡中显示图像,标题和描述,Web 页面需要 <head> 标记中的以下 <meta> 标记:

<meta property="og:image" content="https://.../image.jpg" />

<meta property="og:image:url" content="https://.../image.jpg" />

<meta property="og:title" content="The webpage title" />
<meta property="og:description" content="The webpage description" />

指定的这些元数据属性来自 Open Graph Protocol

元数据是可选的。 Web 聊天会显示预览卡,其中包含 Web 聊天成功访存的网页 URL 和元数据。

暂停响应

使用 暂停 响应使助手在下一个响应之前等待指定的时间间隔。 此暂停为请求完成提供了时间,或者类似于在响应之间暂停的实时代理程序。 暂停必须是从 060 秒的任何持续时间,这可能包括将暂停配置为 milliseconds 的秒的小数位数。

暂停响应通常与其他响应结合使用。 缺省情况下,在暂停期间将显示输入指示符动画以模拟实时代理程序。

以下通道集成支持 暂停 响应类型:

  • Web 聊天
  • Facebook
  • WhatsApp

通过电话通道,您可以通过在助手输出中包含 SSML break 元素来添加暂停。 有关更多信息,请参阅 Text to Speech 文档

要添加 暂停 响应:

  1. 助手 字段中,单击 暂停 暂停 图标。

  2. 持续时间 字段中,输入 seconds 中暂停的时间长度。

    持续时间不得超过 60 seconds。 此外,您可以在 持续时间 字段中输入 second 的小数以将响应暂停至 milliseconds。 例如,如果输入 10.50 seconds,那么响应将暂停 10500 milliseconds。 客户通常愿意等待大约8秒,等待有人输入回复。

  3. 缺省情况下,输入指示符 设置为 开启。 如果需要,可以将其设置为 关闭

    在暂停后添加其他响应类型(例如,文本响应类型)即明确表示暂停结束。