首页 > 解决方案 > Amazon Lex 使用来自 Amazon Connect 的话语

问题描述

我在 Connect 流程中有一个 lex 机器人,在他们说“嗨”后询问该人的姓名。
我希望我的 Lex 机器人询问此人的姓名,而无需他们先说“嗨”。
我基本上想删除话语并直接进入提示。我的机器人只有一个意图。

这是我的 lex 意图 这是我的 lex 意图

这是我的 Connect 联系流

这是我的 Connect 联系流

标签: chatbotamazon-lexamazon-connect

解决方案


这是您可以执行的操作:

  1. 在 GetCustomerInput 块之前将 Lambda 函数集成到 Connect Flow 中。执行此操作的文档:https ://docs.aws.amazon.com/connect/latest/adminguide/connect-lambda-functions.html
  2. 从 Lambda 函数中,使用 PostText API ( https://docs.aws.amazon.com/lex/latest/dg/API_runtime_PostText.html ) 调用 Lex,并在您的情况下使用适当的 inputText-“hi”。对于 API 调用,请使用 ContactID 的值 ( https://docs.aws.amazon.com/connect/latest/adminguide/connect-lambda-functions.html#funtion-contact-flow) 来设置用户 ID。作为对 Lex 的响应,您应该将 Action 视为带有消息文本的“ElicitSlot”,用于引出意图中的第一个槽(或任何其他操作和逻辑,如果您已经为您的意图实现了代码挂钩)。您可以从您的 lambda 函数返回此消息以连接 3.在 GetCustomerInput 块中配置适当的提示,询问插槽值 - 您可以在步骤 2 中使用函数返回的消息的属性。您在步骤 #2 中设置的同一会话将在此处继续,因为用户 ID 保持不变。使用它,您将能够使用 Lex(通过 GetCustomerInput 块)直接引出槽值并实现意图。

参考:我很久以前在 AWS 论坛之一上问过这个问题。这是链接。提到了 API PutSession。但是,根据我的经验,如果您想将提示委托给

警告:官方 AWS 文档中没有提到在使用“获取客户输入”从连接调用时 Lex 用户 ID 与连接联系人 ID 相同。然而,这是今天在幕后发生的事情。将来,AWS 可能会更改内部实施。


推荐阅读