AWS Lex Python Codehook 参考

2024-02-23

我对 Python(和编码)还很陌生,但我正在尝试使用 Lambda 函数构建自己的 Lex 机器人。我一直在关注教程,我可以理解它是如何工作的。问题是,当我尝试为 Lex 编写自己的 Lambda 函数时,我找不到任何参考来帮助我编写代码,例如查看下面的代码。

def get_slots(intent_request):
    return intent_request['currentIntent']['slots']

什么是“(intent_request)”?我在哪里可以找到对此的参考?对于“['currentIntent']也是如此,我怎样才能找出它是什么以及为什么它在那里?

抱歉,如果这对这里的大多数人来说似乎很愚蠢,但我无法开始编写代码并继续学习,如果我找不到任何文档来表明这些是什么以及为什么需要它们以便为我自己的 Lex 机器人编写代码。

提前致谢!!!


The intent_request是从 Lex 到 Lambda 函数的传入“请求”或“事件”。它保存有关用户输入和 Lex 机器人对该输入的处理的所有必要信息(触发某些意图、填充某些槽、确认等)

这应该是您正在寻找的文档。

Lambda 函数输入事件和响应格式 https://docs.aws.amazon.com/lex/latest/dg/lambda-input-response-format.html:

本部分介绍 Amazon Lex 向 Lambda 函数提供的事件数据的结构。使用此信息来解析 Lambda 代码中的输入。它还解释了 Amazon Lex 期望 Lambda 函数返回的响应格式。

这是事件/请求格式:

{
  "currentIntent": {
    "name": "intent-name",
    "slots": {
      "slot name": "value",
      "slot name": "value"
    },
    "slotDetails": {
      "slot name": {
        "resolutions" : [
          { "value": "resolved value" },
          { "value": "resolved value" }
        ],
        "originalValue": "original text"
      },
      "slot name": {
        "resolutions" : [
          { "value": "resolved value" },
          { "value": "resolved value" }
        ],
        "originalValue": "original text"
      }
    },
    "confirmationStatus": "None, Confirmed, or Denied (intent confirmation, if configured)"
  },
  "bot": {
    "name": "bot name",
    "alias": "bot alias",
    "version": "bot version"
  },
  "userId": "User ID specified in the POST request to Amazon Lex.",
  "inputTranscript": "Text used to process the request",
  "invocationSource": "FulfillmentCodeHook or DialogCodeHook",
  "outputDialogMode": "Text or Voice, based on ContentType request header in runtime API request",
  "messageVersion": "1.0",
  "sessionAttributes": { 
     "key": "value",
     "key": "value"
  },
  "requestAttributes": { 
     "key": "value",
     "key": "value"
  }
}

The slots里面找到数据currentIntent那是在这整体的内部intent_request目的。这就是您看到代码的原因:intent_request['currentIntent']['slots']

因此,要获取会话属性,您可以在这里找到它们:intent_request['sessionAttributes']

同样非常有用的是确切的用户输入文本:intent_request['inputTranscript']

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AWS Lex Python Codehook 参考 的相关文章

  • Windows Phone 8.1 运行时文本大纲

    Is there a way to show text outline on a TextBlock I am showing some text on top of map control and would like to show t
  • MinMax 树 - 当 Min 可以两步获胜时

    因此 我一直在尝试使用最小最大树来在两人棋盘游戏中创建一个简单的计算机玩家 我了解该算法的基础知识 但有一种情况让我的火鸡大脑无法理解 当 MIN 可以通过两步获胜时会发生什么 例如 假设在 connect4 tic tac toe 类型的
  • Python 中的比较运算符与“丰富比较”方法

    有人可以向我解释一下两者之间的区别吗 这些通常是等价的吗 也许我在这里完全错了 但我认为每个比较运算符都必然与一个相关 丰富的对比 方法 这是来自文档 运算符号与方法名的对应关系如下 如下 x
  • 导出为库时扩展类方法不可用

    我正在尝试构建一个java库 streaming client jar 并在客户端微服务中使用它 在这个 jar 文件中 我有一个 POJO 类 它扩展了第三方 POJO 类 ConditionalOnClass Options class

随机推荐