

终止支持通知：2025年9月15日， AWS 我们将停止对Amazon Lex V1的支持。2025 年 9 月 15 日之后，您将无法再访问 Amazon Lex V1 控制台或 Amazon Lex V1 资源。如果您使用的是 Amazon Lex V2，请改为参阅 [Amazon Lex V2 指南](https://docs.aws.amazon.com/lexv2/latest/dg/what-is.html)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# AMAZON.FallbackIntent
<a name="built-in-intent-fallback"></a>

当意图的用户输入与机器人的预期不符时，您可以配置 Amazon Lex 以调用*回退意图*。例如，如果用户输入“我想要订购糖果”，与 `OrderFlowers` 机器人中的意图不匹配，Amazon Lex 会调用回退意图来处理该响应。

您可以通过向自动程序添加内置 `AMAZON.FallbackIntent` 目的类型来添加回退目的。您可以使用 [PutBot](API_PutBot.md) 操作指定目的，也可以从控制台的内置目的列表中选择目的。

调用回退意图分两步。在第一步中，基于用户的输入来匹配回退意图。匹配回退意图时，自动程序的行为方式取决于为提示配置的重试次数。例如，如果确定目的的最大尝试次数为 2，则自动程序会在调用回退目的之前两次返回自动程序的澄清提示。

在以下情况下，Amazon Lex 与回退意图匹配：
+ 用户输入到意图的内容不符合自动程序的预期
+ 音频输入为噪声，或文本输入未被识别为单词。
+ 用户的输入不明确且 Amazon Lex 无法确定要调用的意图。

在以下情况下调用回退意图：
+ 对话开始后，经过配置的澄清尝试次数后，自动程序无法将用户输入识别为目的。
+ 经过配置的尝试次数后，意图无法将用户输入识别为槽位值。
+ 经过配置的尝试次数后，意图无法将用户输入识别为对确认提示的响应。

您可以将以下各项与回退目的结合使用：
+ 履行 Lambda 函数
+ 结论语句
+ 跟进提示

您不能将以下内容添加到回退意图：
+ 言语
+ 槽值
+ 初始化和验证 Lambda 函数 
+ 确认提示

如果您同时为机器人配置了取消语句和回退意图，Amazon Lex 将使用回退意图。如果您需要机器人具有取消语句，则可以将履行功能用于回退意图，以提供与取消语句相同的行为。有关更多信息，请参阅 [PutBot](API_PutBot.md) 操作的 `abortStatement` 参数。

## 使用澄清提示
<a name="fallback-clarification"></a>

如果您向自动程序提供了一个澄清提示，则该提示将用于向用户征求有效目的。该澄清提示将重复您配置的次数。此后，将调用回退目的。

如果您在创建机器人时未设置澄清提示，并且用户未使用有效意图开始对话，则 Amazon Lex 会立即调用您的回退意图。

当您在没有澄清提示的情况下使用回退意图时，Amazon Lex 在以下情况下不会调用回退意图：
+ 当用户响应跟进提示但不提供目的时。例如，在响应后续提示（“您今天还想要其他东西吗？”）时，用户说“是”。由于 Amazon Lex 没有发送给用户以获取用户意图的澄清提示，因此它会返回“400 错误请求”异常。
+ 使用 AWS Lambda 函数时，会返回`ElicitIntent`对话框类型。由于 Amazon Lex 没有用于获取用户意图的澄清提示，因此它会返回“400 错误请求”异常。
+ 当使用 `PutSession` 操作时，您发送一个 `ElicitIntent` 对话类型。由于 Amazon Lex 没有用于获取用户意图的澄清提示，因此它会返回“400 错误请求”异常。

## 使用具有回退意图的 Lambda 函数
<a name="invoke-fallback"></a>

调用回退目的时，响应取决于 [PutIntent](API_PutIntent.md) 操作的 `fulfillmentActivity` 参数设置。自动程序执行下列操作之一：
+ 将意图信息返回给客户端应用程序。
+ 调用履行 Lambda 函数。它通过为会话设置的会话变量调用该函数。

有关设置在调用回退目的时的响应的更多信息，请参见 [PutIntent](API_PutIntent.md) 操作的 `fulfillmentActivity` 参数。

如果在回退意图中使用履行 Lambda 函数，则可以使用此函数来调用另一个意图或与用户进行某种形式的通信，例如收集回叫号码或与客户服务代表进行会话。

您可以在回退意图 Lambda 函数中执行任何您可以在任何其他意图的履行函数中执行的操作。有关使用创建发货功能的更多信息 AWS Lambda，请参阅[使用 Lambda 函数](using-lambda.md)。

回退意图可以在同一会话中多次调用。例如，假设您的 Lambda 函数使用 `ElicitIntent` 对话操作来提示用户输入一个不同的意图。如果 Amazon Lex 在配置的尝试次数后无法推断用户的意图，将再次调用回退意图。当用户在配置的尝试次数后未使用有效的槽位值进行响应时，它也会调用回退意图。

您可以配置一个 Lambda 函数来跟踪使用会话变量调用回退意图的次数。如果该意图的调用次数超过了 Lambda 函数中设置的阈值，则该函数可以采取不同的操作。有关会话变量的更多信息，请参阅[设置会话属性](context-mgmt-session-attribs.md)。