为集合预构建组件命名

预构建组件可捕获名字、姓氏和可选的中间名,以及任何空格、连字符或撇号。

限制

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

  • 此组件不支持包含空格、撇号和连字符以外的特殊字符的名称。

其他功能

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

对话示例

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

全名

最终用户在第一轮对话中提供了全名;代理成功接受了该全名。

用户输入 智能体回答
您的全名是什么?请告诉我您的名字、姓氏和中间名(如果有)。
Sundar Pichai
确认一下,您的名字是 Sundar,姓氏是 Pichai。我拼写您的全名是否正确?
您有中间名吗?
谢谢,Sundar。

全名(分部分)

最终用户在第一次尝试时无法提供全名。然后,最终用户分三次提供自己的名字、姓氏和中间名;代理成功接受了这些信息。

用户输入 智能体回答
您的全名是什么?请告诉我您的名字、姓氏和中间名(如果有)。
nice
抱歉,我没听明白。我们重新开始采集名称。
在采集您的名称之前,请帮我确认您的名称中是否包含连字符、多余的空格或英文撇号?
我们先来收集您的名字。
您叫什么名字?
Lawrence
Lawrence. 我拼对您的名字了吗?
您的姓氏是什么?
页面
页面。我拼对您的姓氏了吗?
您有中间名吗?
您的中间名是什么?
Edward
Edward。您的中间名拼写正确吗?
谢谢 Lawrence。

特殊字符

最终用户在第一次尝试时无法提供全名。然后,最终用户在单独的对话轮次中提供自己的名字、姓氏和中间名,其中包含特殊字符;智能体成功接受了这些信息。

用户输入 智能体回答
您的全名是什么?请告诉我您的名字、姓氏和中间名(如果有)。
nice
抱歉,我没听明白。我们重新开始录制您的姓名。
在录制您的姓名之前,请先帮我确认您的姓名中是否包含连字符、多余的空格或英文撇号?
是的,我符合
知道了。您的名字、中间名或姓氏中是否包含这些特殊字符?
名字
请告诉我您的名字中所有特殊字符之前的部分。
Evan
Evan。我拼写的第一部分是否正确?
请告诉我接下来是什么:空格、英文撇号还是连字符。
连字符
“连字符”。我是否正确捕获了您名字的第一部分后面的分隔符?
请拼写出您名字中连字符后面的部分。只说出字母,例如 J-O-H-N。
James
James. 告诉我这是不是错的,是不是结束了,或者接下来是什么:空格、撇号还是连字符。
我已完成
您的姓氏是什么?
Mady
Mady。我拼对您的姓氏了吗?
您有中间名吗?
谢谢,Evan-James。

无输入

如果最终用户未输入内容达到 3 次,组件会退出流程。

用户输入 智能体回答
您的全名是什么?请告诉我您的名字、姓氏和中间名(如果有)。
[无输入]
抱歉,我没能听到你的声音。您的全名是什么?
[无输入]
嗯,我还是听不到你说话。请尝试大声说话或移至较为安静的环境。
[无输入]
抱歉,我难以理解你的回答。

命名规则

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

功能 格式 示例
Flow [组件名称] 命名集合
特定于组件的 intent prebuilt_components_[component_name]_[intent_name] prebuilt_components_name_collection_special_characters_decider
实体类型 prebuilt_components_[component_name]_[entity_type_name] prebuilt_components_name_collection_first_name
参数 [param_name] user_provided_first_name

输出参数

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

参数名称 说明 输出格式
name_collection_first_name 此参数会返回组件捕获的用户提供的名字 字符串
name_collection_last_name 此参数返回组件捕获的用户提供的姓氏 字符串
name_collection_middle_name 此参数会返回组件捕获到的用户提供的中间名。如果未收集中间名,则该形参将为空字符串 字符串

基本设置

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

  1. 导入预构建组件

完成

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