数字集合预构建组件

此预构建组件会从最终用户那里收集数字序列。可通过输入参数配置可接受的最小和最大长度。

该组件会在每个对话轮次中捕获用户说出的数字片段,并将它们串联起来,形成最终的序列。每个分块接受的最小和最大长度可通过输入参数进行配置。

序列捕获将继续,直到最终用户通过与 prebuilt_components_confirmation_done intent 匹配的输入表明他们已完成序列。

限制

除了常见的预构建组件限制之外,此预构建组件还具有以下限制:

  • 不支持非数字字符。如需了解对字母和数字的支持,请参阅字母数字集合。

启用 DTMF,允许用户使用电话拨号键盘输入数值。

其他功能

此预构建组件提供以下附加功能:

对话示例

以下示例对话展示了此预构建组件处理的常见场景。示例对话演示了通过电话呼叫组件时的行为,这会在对话开始时触发默认欢迎 intent 和第一个代理响应。

单个区块

最终用户在第一次尝试时提供数字序列;代理成功接受。

用户输入 智能体回答
请先说出数字序列的前 1 到 30 位数字。完成后,请说“我已完成”,以结束收集。您也可以随时说“playback”(回放),查看当前收集的序列。
2374 30940 029 30
我查到的号码是 23743094002930,对吗?
是
好的。请说出或输入数字序列的下一部分。
完成
谢谢,我收集到的数字序列是 23743094002930。对吗?
是
好的,我已收集完数字序列。

多个数据块

最终用户分多段提供数字序列;代理成功接受。

用户输入 智能体回答
请先说出数字序列的前 1 到 30 位数字。完成后,请说“我已完成”,以结束收集。您也可以随时说“playback”(回放),查看当前收集的序列。
2374 30940 029 30
我查到的号码是 23743094002930,对吗?
否
没关系,您能再次提供数字序列的前 1 到 30 位数字吗?
2374
我查到的是 2374,对吗?
是
好的。请说出或输入数字序列的下一部分。
3094
我听到的是 3094,对吗?
耶
好的。请说出或输入数字序列的下一部分。
002930
我听到的是 002930,对吗?
否
没关系,23743094 后面是什么?
2930
我得到的结果是 2930,对吗?
是的,就这些
谢谢,我收集到的数字序列是 237430942930。对吗?
是
好的,我已收集完数字序列。

重试成功

最终用户在第一次尝试时提供了一个数字序列;代理重新确认该序列,但最终用户说“不”。客服人员要求最终用户再次提供序列。 最终用户提供并确认序列,代理成功接受。

用户输入 智能体回答
请先说出数字序列的前 1 到 30 位数字。完成后,请说“我已完成”,以结束收集。您也可以随时说“playback”(回放),查看当前收集的序列。
92832938 3489
我查到的是 928329383459,对吗?
否
没关系,您能再次提供数字序列的前 1 到 30 位数字吗?
928329383435
我查到的账号是 928329383435,对吗?
是的,我没有其他问题了
谢谢,我收集到的数字序列是 928329383435。对吗?
是
好的,我已收集完数字序列。

重试失败

最终用户提供了三次数字序列,并在重新确认步骤中说“否”;组件在第三次确认失败时退出流程。

用户输入 智能体回答
请先说出数字序列的前 1 到 30 位数字。完成后,请说“我已完成”,以结束收集。您也可以随时说“playback”(回放),查看当前收集的序列。
928329383435
我查到的号码是 928329383835,对吗?
否
没关系,您能再次提供数字序列的前 1 到 30 位数字吗?
23 289 0239 903
我查到的是 232890239953,对吗?
否
没关系,您能再次提供数字序列的前 1 到 30 位数字吗?
23847 02938
我查到的号码是 2384702938,对吗?
否
抱歉,我已尝试多次,但未能收集到您的回答。

无法识别所输入的内容

在最终用户三次提供无法识别的输入后,组件会退出流程。

用户输入 智能体回答
请先说出数字序列的前 1 到 30 位数字。完成后,请说“我已完成”,以结束收集。您也可以随时说“playback”(回放),查看当前收集的序列。
没关系
抱歉,我没听明白。请先说出数字序列的前 1 到 30 位数字。完成后,请说“我已完成”,以结束收集。您也可以随时说“playback”(回放),查看当前收集的序列。
nice
抱歉,我还是没听明白。请确保您说出数字序列的前 1 到 30 位数字。完成后,请说“我已完成”,以结束收集。您也可以随时说“playback”(回放),查看当前收集的序列。如果系统无法听清您的声音,您也可以使用键盘输入数字序列。
非常好
抱歉,我没听懂您的回答。

命名规则

此预构建组件使用以下命名惯例:

功能 格式 示例
Flow [Component Name] 数字集合
组件特定 intent prebuilt_components_[component_name]_[intent_name] prebuilt_components_numeric_collection_collect_numeric_sequence
参数 [param_name] user_provided_cur_seq

输入参数

输入参数是用于配置组件某些行为的参数。这些参数将由流程中的一个或多个条件使用,以确定组件的行为方式。必须在组件的起始页上设置流级范围参数,如下所述。会话级范围的参数可由调用流设置,也可在此组件的起始页面上设置。

您可以通过修改流的起始页面中的参数预设,配置每次捕获和最终收集的序列可接受的最小和最大长度。

此预构建组件接受以下输入参数:

参数名称 说明 输入格式
$flow.numeric_min_length 最终数字序列的最小长度 整数
$flow.numeric_max_length 最终数字序列的最大长度 整数
$flow.lower_limit 用户每轮可提供的分块的最小长度 整数
$flow.upper_limit 用户每轮可提供的分块长度上限 整数

如需为此组件配置输入参数,请展开以查看相关说明。

  1. 打开 Dialogflow CX 控制台。
  2. 选择您的 Google Cloud 项目。
  3. 选择您的代理。
  4. 选择构建标签页。
  5. 在流部分中点击导入的组件。
  6. 点击页面部分中的“Start Page”。
  7. 点击“Start Page”中的 true 路由。
  8. 在“路线”窗口中,根据需要修改参数预设值。
  9. 点击保存。

输出参数

输出参数是在退出组件后仍保持有效状态的会话参数。这些参数包含组件收集的重要信息。此预构建组件会为以下输出参数提供值:

参数名称 说明 输出格式
numeric_collection_numeric_sequence 此参数会返回在会话期间捕获的数字序列 字符串

基本设置

如需设置此预构建组件,请执行以下操作:

  1. 导入预构建组件。

完成

您的代理现在应该已设置完毕,可以进行测试了。