此 预构建组件 会从最终用户那里收集数字序列。可以通过输入参数配置接受的最小和最大长度。
该组件会在每个对话回合中捕获用户提供的一段数字,并将这些数字连接起来以形成最终序列。可以通过输入参数配置每段数字接受的最小和最大长度。
序列捕获将持续进行,直到最终用户 输入与 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 | 用户每回合可以提供的数字块的最大长度 | 整数 |
如需为此组件配置输入参数,请展开即可查看相关说明。
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 选择构建 标签页。
- 点击流程 部分中导入的组件。
- 点击页面 部分中的“起始页面”。
- 点击起始页面中的 true 路由。
- 在“路由”窗口中,根据需要修改参数预设 值。
- 点击保存 。
输出参数
输出参数是会话参数,在退出组件后仍将保持有效。这些参数包含组件收集的重要信息。此预构建组件为以下输出参数提供值:
| 参数名称 | 说明 | 输出格式 |
|---|---|---|
| numeric_collection_numeric_sequence | 此参数返回在会话期间捕获的数字序列 | 字符串 |
基本设置
如需设置此预构建组件,请执行以下操作:
完成
您的代理现在应该已设置完毕,可以进行测试了。