字母数字集合预构建组件

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

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

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

音标

此组件支持使用音标,例如 NATO 音标。

用户输入 捕获的序列
alpha bravo charlie 123 abc123
A B Cat 1 2 3 ABC123
A 代表 apple,B 代表 banana,C 代表 chili,115 ABC115

其他功能

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

对话示例

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

单个块

最终用户在一个块中提供字母数字序列,并说“我完成了”;代理成功接受该序列。

用户输入 智能体回答
请先说出字母数字序列的前 1 到 8 个字符。完成后,说“我完成了”以结束收集。您也可以随时说“播放”,以查看当前收集的序列。
fvfd3433
好的。我收到的验证码是 fvfd3433,对吗?
是
好的。请告诉我序列中的下 1 到 8 个字符。
我没问题了
感谢您的确认。我获得的最终字母数字序列是 fvfd3433,这是否正确?
是
太棒了,我已收集到字母数字序列。

多个数据块

最终用户分 2 个块提供字母数字序列;代理成功接受该序列。

用户输入 智能体回答
请先说出字母数字序列的前 1 到 8 个字符。完成后,说“我完成了”以结束收集。您也可以随时说“播放”,以查看当前收集的序列。
fvfd3433
好的。我收到的验证码是 fvfd3433,对吗?
是
好的。请告诉我序列中的下 1 到 8 个字符。
gh67
好的。我收到了 gh67,对吗?
是
好的。请告诉我序列中的下 1 到 8 个字符。
我没问题了
感谢您的确认。我获得的最终字母数字序列是 fvfd3433gh67,这是否正确?
是
太棒了,我已收集到字母数字序列。

重试成功

最终用户提供字母数字序列;代理再次提示最终用户确认该序列。最终用户对确认信息回答“否”,并再次提供字母数字序列;客服人员成功接受该序列。

用户输入 智能体回答
请先说出字母数字序列的前 1 到 8 个字符。完成后,说“我完成了”以结束收集。您也可以随时说“播放”,以查看当前收集的序列。
fvfd3433
好的。我收到的验证码是 fd3433,对吗?
否
很抱歉,请您再次提供前 1 到 8 个字符?
fvfd3433
好的。我收到的验证码是 fvfd3433,对吗?
是
好的。请告诉我序列中的下 1 到 8 个字符。
我没问题了
感谢您的确认。我获得的最终字母数字序列是 fvfd3433,这是否正确?
是
太棒了,我已收集字母数字序列。

重试失败

最终用户在三次尝试中均无法提供 1 到 8 个字符的字母数字序列,组件退出流程。

用户输入 智能体回答
请先说出字母数字序列的前 1 到 8 个字符。完成后,说“我完成了”以结束收集。您也可以随时说“播放”,以查看当前收集的序列。
123N
好的。我算出来的是 1.23 亿,对吗?
否
很抱歉,请您再次提供前 1 到 8 个字符?
123N
好的。我算出来的是 1.23 亿,对吗?
否
很抱歉,请您再次提供前 1 到 8 个字符?

请用以每个字母开头的单词拼出您的序列中的每个字母。例如,如果您的序列号是 AB123,请说“Apple Baby 123”。
123 Nest
好的。我算出来的是 123N,对吗?
否
抱歉,我尝试的次数过多,但未能收集到字母数字序列。

音标

最终用户提供字母数字序列;代理再次提示最终用户确认该序列。最终用户连续两次对确认内容回答“否”,系统启用音标转换,最终用户再次提供字母数字序列;代理成功接受该序列。

用户输入 智能体回答
请先说出字母数字序列的前 1 到 8 个字符。完成后,说“我完成了”以结束收集。您也可以随时说“播放”,以查看当前收集的序列。
123N
好的。我算出来的是 1.23 亿,对吗?
否
很抱歉,请您再次提供前 1 到 8 个字符?
123N
好的。我算出来的是 1.23 亿,对吗?
否
很抱歉,请您再次提供前 1 到 8 个字符?

请用以每个字母开头的单词拼出您的序列中的每个字母。例如,如果您的序列号是 AB123,请说“Apple Baby 123”。
123 N(Nancy 的 N)
好的。我算出来的是 123N,对吗?
是
好的。请告诉我序列中的下 1 到 8 个字符。
公元前 567 年
好的。我算出来的是公元前 567 年,对吗?
就这些
感谢您的确认。我获得的最终字母数字序列是 123N56BC。对吗?
好
太棒了,我已收集到字母数字序列。

序列长度无效

最终用户提供的字母数字序列的长度超出预定义的字母数字序列长度下限和上限。代理提示最终用户重新开始,最终用户拒绝,组件退出流程。

用户输入 智能体回答
请先说出字母数字序列的前 1 到 8 个字符。完成后,说“我完成了”以结束收集。您也可以随时说“播放”,以查看当前收集的序列。
1.23 亿
好的。我算出来的是 1.23 亿,对吗?
完成
抱歉,您提供的字母数字序列的长度不在要求的 5 到 30 个字符范围内。要重新开始吗?
否
抱歉,我尝试的次数过多,但未能收集到字母数字序列。

命名规则

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

功能 格式 示例
Flow [组件名称] 字母数字集合
特定于组件的 intent prebuilt_components_[component_name]_[intent_name] prebuilt_components_alphanumeric_collection_support_continue
参数 [param_name] alphanumeric_max_length

输入参数

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

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

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

参数名称 说明 输入格式
$flow.alphanumeric_min_length 最终字母数字序列的最小长度。默认值为 1。 整数
$flow.alphanumeric_max_length 最终字母数字序列的长度上限。默认值为 30。 整数
$flow.lower_limit 用户每次可以提供的块的最小长度。默认值为 1。 整数
$flow.upper_limit 用户每次可以提供的块的最大长度。默认值为 8。 整数

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

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

输出参数

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

参数名称 说明 输出格式
alphanumeric_collection_alphanumeric_sequence 此参数返回组件捕获的字母数字序列 字符串

基本设置

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

  1. 导入预构建组件。

完成

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