此预构建组件通过收集月份、日期和年份来捕获和验证出生日期。
限制
除了常见的预构建组件限制之外,此预构建组件还具有以下限制:
- 此组件不支持通过身份证件验证来验证最终用户的出生日期。
建议的代理设置
启用 DTMF,允许用户使用电话拨号键盘输入数值。
其他功能
此预构建组件提供以下附加功能:
对话示例
以下示例对话展示了此预构建组件处理的常见场景。示例对话演示了通过电话呼叫组件时的行为,这会在对话开始时触发默认欢迎 intent 和第一个代理响应。
完整出生日期
最终用户在一轮对话中提供完整的出生日期;智能体成功接受。
| 用户输入 | 智能体回答 |
|---|---|
| 请提供您的出生日期。请说出您的出生月份,然后是出生日期,最后是出生年份。 | |
| 1995 年 9 月 9 日 | |
| 好的,您的出生日期是 1995 年 9 月 9 日。对吗? | |
| 是 | |
| 太好了,我已收集到您的出生日期。 |
部分出生日期
最终用户提供出生日期时,先说月份,然后说日期和年份;代理成功接受。
| 用户输入 | 智能体回答 |
|---|---|
| 请提供您的出生日期。请说出您的出生月份,然后是出生日期,最后是出生年份。 | |
| 3 月 | |
| 您的出生日期是哪一天? | |
| 12 | |
| 您出生于哪一年? | |
| 1999 | |
| 好的,您的出生日期是 1999 年 3 月 12 日。对吗? | |
| 是 | |
| 太好了,我已收集到您的出生日期。 |
未来日期验证
此场景假设当前日期为 2023 年 3 月 22 日。最终用户提供未来的出生日期;代理验证该日期,并重新提示最终用户提供正确的出生日期。
| 用户输入 | 智能体回答 |
|---|---|
| 请提供您的出生日期。请说出您的出生月份,然后是出生日期,最后是出生年份。 | |
| 2023 年 9 月 9 日 | |
| 您出生于哪一年? | |
| 2023 | |
| 好的,您的出生日期是 2023 年 9 月 9 日。对吗? | |
| 是 | |
| 抱歉,您提供的日期是未来的日期。我们重新开始吧。 您出生于哪个月份? |
|
| 3 月 | |
| 您的出生日期是哪一天? | |
| 12 | |
| 您出生于哪一年? | |
| 1999 | |
| 好的,您的出生日期是 1999 年 3 月 12 日。对吗? | |
| 是 | |
| 太好了,我已收集到您的出生日期。 |
日期无效
最终用户提供了无效的出生日期,例如 1999 年 2 月 30 日或 1999 年 4 月 31 日;代理会验证该日期,并重新提示最终用户提供正确的出生日期。
| 用户输入 | 智能体回答 |
|---|---|
| 请提供您的出生日期。请说出您的出生月份,然后是出生日期,最后是出生年份。 | |
| 1999 年 2 月 30 日 | |
| 好的,您的出生日期是 1999 年 2 月 30 日。对吗? | |
| 是 | |
| 您提供的日期无效。我们重新开始吧。 您出生于哪个月份? |
|
| 3 月 | |
| 您的出生日期是哪一天? | |
| 12 | |
| 您出生于哪一年? | |
| 1999 | |
| 好的,您的出生日期是 1999 年 3 月 12 日。对吗? | |
| 是 | |
| 太好了,我已收集到您的出生日期。 |
无法识别所输入的内容
在最终用户三次提供无法识别的输入后,组件会退出流程。
| 用户输入 | 智能体回答 |
|---|---|
| 请提供您的出生日期。请说出您的出生月份,然后是出生日期,最后是出生年份。 | |
| 没关系 | |
| 抱歉,我没听明白。能否请您再说一遍或重新输入您的出生日期? | |
| nice | |
| 抱歉,我没有收到您的出生日期。我们先从月份开始。请说出您的出生月份。 | |
| 好 | |
| 抱歉,我没听明白。请您再说一遍或重新输入月份数字,好吗? | |
| nice | |
| 抱歉,我还是没听明白。请确保您说的是月份。如果我听不清您说的话,您也可以使用键盘输入月份数字。 | |
| nice | |
| 抱歉,我没听懂您的回答。 |
出生日期验证
此预构建组件使用 IS_DATE 和 IS_FUTURE_DATE 系统函数来检查收集的日期是否有效且在过去。此外:
- “本月”“下个月”或“上个月”等输入内容会转换为相应的月份。例如,如果最终用户在 3 月与代理互动,则“本月”“下个月”和“上个月”会分别转换为“3 月”“4 月”和“2 月”。
- 验证年份是否为四位数。如果输入的年份仅包含两位数字,该组件会将其转换为四位数年份。例如,“98”会转换为“1998”。
- “本周四”“上周四”和“下周四”等输入内容会被捕获为相应的月份和日期,并且代理会提示提供年份。例如,如果最终用户在 2023 年 3 月 22 日(星期三)与代理互动,则“本周四”“上周四”和“下周四”将分别转换为“3 月 23 日”“3 月 16 日”和“3 月 30 日”。
命名规则
此预构建组件使用以下命名惯例:
| 功能 | 格式 | 示例 |
|---|---|---|
| Flow | [Component Name] | 出生日期收集 |
| 组件特定 intent | prebuilt_components_[component_name]_[intent_name] | prebuilt_components_dob_collection_collect_month |
| 参数 | [param_name] | dob |
| 实体类型 | prebuilt_components_[component_name]_[entity_type] | prebuilt_components_dob_collection_dob_day |
输出参数
输出参数是在退出组件后仍保持有效状态的会话参数。这些参数包含组件收集的重要信息。此预构建组件会为以下输出参数提供值:
| 参数名称 | 说明 | 输出格式 |
|---|---|---|
| dob_collection_dob | 此参数会返回一个包含出生日期元素(日、月和年)的对象 |
{ |
基本设置
如需设置此预构建组件,请执行以下操作:
完成
您的代理现在应该已设置完毕,可以进行测试了。