你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

自定义命令的概念和定义

重要

自定义命令将于 2026 年 4 月 30 日停用。 自 2023 年 10 月 30 日起,无法在 Speech Studio 中创建新的自定义命令应用程序。 与此更改相关的是,LUIS 将于 2025 年 10 月 1 日停用。 自 2023 年 4 月 1 日起,无法创建新的 LUIS 资源。

本文提供自定义命令应用程序的概念和定义的参考信息。

命令配置

命令是自定义命令应用程序的构建基块。 命令是完成用户定义的特定任务而需要的一组配置。

示例句子

示例言语是设置好的示例,用户可以说出这些言语来触发特定的命令。 只需提供一个言语示例,而无需提供详尽的列表。

参数

参数是命令完成任务而需要用到的信息。 在复杂的方案中,还可以使用参数来定义触发自定义操作的条件。

完成规则

完成规则是命令可供履行之后(例如,满足规则的所有条件时)要执行的一系列规则。

交互规则

交互规则是用于处理更具体或复杂情形的额外规则。 可以添加更多验证或配置高级功能,例如确认或一步式更正。 你还可以生成自己的自定义交互规则。

参数配置

参数是命令完成任务而需要用到的信息。 在复杂的方案中,还可以使用参数来定义触发自定义操作的条件。

名称

参数是通过名称属性来标识的。 应始终为参数指定一个描述性的名称。 可以跨不同的部分(例如,在构造条件、语音响应或其他操作时)引用一个参数。

必需

此复选框指示是否必须为此参数指定某个值才能履行或完成命令。 如果某个参数标记为必需,则必须配置响应来提示用户提供一个值。

如果将必需的参数配置为使用默认值,系统仍会提示输入该参数的值

类型

自定义命令支持以下参数类型:

  • Age
  • 货币
  • DateTime
  • 维度
  • 电子邮件
  • 地理位置
  • Number
  • Ordinal
  • 百分比
  • PersonName
  • PhoneNumber
  • 字符串
  • 温度
  • URL

每个区域设置都支持“String”参数类型,但所有其他类型的可用性则因区域设置而异。 自定义命令使用 LUIS 的预生成实体解析,因此区域设置中的参数类型的可用性取决于 LUIS 在该区域设置中预生成的实体支持。 可以查看 LUIS 在每个区域设置中预生成的实体支持,找到更多详细信息。 目前不支持自定义 LUIS 实体(例如机器学习实体)。

有些参数类型(如 Number、String 和 DateTime)支持默认值配置(可以从门户中配置这些值)。

配置

配置是仅为“字符串”类型定义的参数属性。 支持以下值:

  • 接受完整输入:启用后,参数接受任何输入言语。 如果用户需要一个包含完整言语的参数,则此选项很有用。 邮寄地址就是一个例子。
  • 接受来自外部目录的预定义输入值:此值用于配置可采用各种值的参数。 销售目录就是一个例子。 在这种情况下,目录托管在外部 Web 终结点上,并可以单独进行配置。
  • 接受来自内部目录的预定义输入值:此值用于配置可采用少量值的参数。 在这种情况下,必须在 Speech Studio 中配置值。

验证

验证是适用于某些参数类型的构造,可让你针对参数的值配置约束。 目前,自定义命令支持对以下参数类型使用验证:

  • DateTime
  • Number

规则配置

自定义命令中的规则由一组条件来定义,如果满足这些条件,则执行一组操作。 规则还可让你配置下一轮次的执行后状态和预期。

类型

自定义命令支持以下规则类别:

  • 完成规则:履行命令时必须执行这些规则。 将执行此部分中配置的、条件求值为 true 的所有规则。
  • 交互规则:这些规则可用于配置额外的自定义验证、确认和一步式更正,或者用于实现任何其他自定义对话逻辑。 在处理过程的每个轮次都会评估交互规则,可使用这些规则来触发完成规则。

配置为规则一部分的不同操作将按照它们在创作门户中的显示顺序执行。

条件

条件是执行某个规则之前必须满足的要求。 规则条件可为以下类型:

  • 参数值等于:配置的参数值等于特定值。
  • 无参数值:配置的参数不应具有任何值。
  • 必需参数:配置的参数具有值。
  • 所有必需参数:标记为“必需”的所有参数都具有值。
  • 已更新参数:由于处理了当前输入(言语或活动)而更新了一个或多个参数值。
  • 确认成功:输入的言语或活动是一条成功确认(是)。
  • 拒绝确认:输入的语句或活动不是一条成功确认(否)
  • 需要更新上一个命令:当你想要捕获否定的确认以及更新内容时,需在实例中使用此条件。 在幕后,此条件是针对以下情况配置的:对话引擎检测到否定的确认,其中的意向与上一轮次相同,并且用户已使用更新内容做出响应。

操作

  • 发送语音响应:向客户端发回语音响应。
  • 更新参数值:将命令参数的值更新为指定的值。
  • 清除参数值:清除命令参数值。
  • 调用 Web 终结点:向 Web 终结点发出调用。
  • 将活动发送到客户端:将自定义活动发送到客户端。

预期

预期用于配置有关处理下一项用户输入的提示。 支持以下类型:

  • 预期收到用户确认:此预期指定应用程序正预期收到下一项用户输入作为确认(是/否)。
  • 预期用户提供参数输入:此预期指定应用程序正预期用户通过输入提供一个或多个命令参数。

执行后状态

执行后状态是处理当前输入(言语或活动)后的对话状态。 其类型如下:

  • 保留当前状态:仅保留当前状态。
  • 完成命令:完成命令,但不处理命令的任何其他规则
  • 执行完成规则:执行所有有效的完成规则。
  • 等待用户输入:等待下一项用户输入。

后续步骤