数字集合预构建组件

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

该组件会在每个对话回合中捕获用户提供的一段数字,并将这些数字连接起来以形成最终序列。可以通过输入参数配置每段数字接受的最小和最大长度。

序列捕获将持续进行,直到最终用户 输入与 prebuilt_components_confirmation_done 意图匹配的内容,表明他们已完成序列输入。

限制

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

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

启用 DTMF,以便用户可以使用电话拨号键盘输入数字值。

其他功能

此预构建组件提供以下其他功能:

对话示例

以下对话示例展示了此预构建组件处理的常见场景。这些对话示例展示了通过电话调用组件时的行为,该行为会在对话开始时触发默认欢迎意图和第一个代理回答。

单个数据块

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

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

多个数据块

最终用户以多个数据块的形式提供数字序列;代理成功接受该序列。

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

重试成功

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

用户输入 智能体回答
请先说出数字序列的前 1 到 30 位数字。完成后,请说“我完成了”以结束收集。您还可以随时说“播放”来查看当前收集的序列。
92832938 3489
我收到了 928329383459,对吗?
没关系,您能再次提供数字序列的前 1 到 30 位数字吗?
928329383435
我收到了 928329383435,对吗?
是的,就这些了
谢谢,我收集到的数字序列是 928329383435。对吗?
太棒了,我已完成数字序列的收集。

重试失败

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

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

无法识别的输入

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

用户输入 智能体回答
请先说出数字序列的前 1 到 30 位数字。完成后,请说“我完成了”以结束收集。您还可以随时说“播放”来查看当前收集的序列。
没关系
抱歉,我没听清。请先说出数字序列的前 1 到 30 位数字。完成后,请说“我完成了”以结束收集。您还可以随时说“播放”来查看当前收集的序列。
nice
嗯,我还是没听清。请确保您说的是数字序列的前 1 到 30 位数字。完成后,请说“我完成了”以结束收集。您还可以随时说“播放”来查看当前收集的序列。如果您说话时遇到问题,还可以使用拨号键盘输入数字序列。
非常好
抱歉,我难以理解您的回答。

命名规则

此预构建组件使用以下命名规则:

功能 格式 示例
Flow [组件名称] 数字收集
组件专用意图 prebuilt_components_[component_name]_[intent_name] prebuilt_components_numeric_collection_collect_numeric_sequence
参数 [参数名称] 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. 点击页面 部分中的“起始页面”。
  7. 点击起始页面中的 true 路由。
  8. 在“路由”窗口中,根据需要修改参数预设 值。
  9. 点击保存

输出参数

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

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

基本设置

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

  1. 导入预构建组件

完成

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