【问题标题】:Testing Lambda Function to fullfill Chatbot request测试 Lambda 函数以完成聊天机器人请求
【发布时间】:2021-10-01 19:02:55
【问题描述】:

我是 AWS LAmbda、聊天机器人和 Javascript 的新手。: 最终,我试图创建一个聊天机器人,当 lambda 函数满足来自聊天机器人的请求时,它将使用插槽中的值进行休息 API 调用(POST)。我有 lambda 代码,可以让其余 API 调用目前在单独的函数中正常工作。

我正在学习并尝试让 lambda 函数使用以下测试函数来完成聊天机器人请求:

当我在聊天机器人中对测试 lambda 函数进行测试时,我收到以下错误: 发生错误:服务器在处理 Lambda 响应时遇到错误

当我在 lambda 中测试有效负载时,它起作用了。但是,当我使用相同的 lambda 函数测试聊天机器人时,它不起作用。我根据此响应格式页面上的信息创建了 lambda 函数,但我无法弄清楚代码中缺少什么。 https://docs.aws.amazon.com/lex/latest/dg/lambda-input-response-format.html

这是请求:

{
  "alternativeIntents": [],
  "botVersion": "$LATEST",
  "dialogState": "ConfirmIntent",
  "intentName": "Hello",
  "message": "are you sure your name is al?",
  "messageFormat": "PlainText",
  "responseCard": null,
  "sentimentResponse": {
    "sentimentLabel": "NEUTRAL",
    "sentimentScore": "{Positive: 0.031974494,Negative: 0.023143388,Neutral: 0.8841075,Mixed: 0.06077461}"
  },
  "sessionAttributes": {},
  "sessionId": "2021-07-25T14:18:31.085Z-OxCrkGGA",
  "slotToElicit": null,
  "slots": {
    "name": "al"
  }
}

这是我用于测试的 lambda 代码(Node JS):

exports.handler = function(event, context, callback) {  

   callback(null, {
       "dialogAction":{
           "type":"Close",
           "fullfillmentState":"Fulfilled",
           "message": {
               "contentType":"PlainText",
               "content":"Your request  has been fulfilled"
            }
       }
   });
};

【问题讨论】:

    标签: amazon-web-services aws-lambda amazon-lex


    【解决方案1】:

    如果您使用 JavaScript,请考虑使用 AWS SDK for JavaScript 来调用 Amazon LEX。有一个端到端的教程将引导您完成这个用例。

    Building an Amazon Lex chatbot

    【讨论】:

      【解决方案2】:

      问题在于其中一个属性的拼写。

      fullfillmentState 应该写成fulfillmentState

      exports.handler = function(event, context, callback) {  
         callback(null, {
             "dialogAction":{
                 "type":"Close",
                 "fulfillmentState":"Fulfilled",
                 "message": {
                     "contentType":"PlainText",
                     "content":"Your request  has been fulfilled"
                  }
             }
         });
      };
      

      我已对您的原始功能进行了更改并对其进行了测试;以上是工作示例。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-07-13
        相关资源
        最近更新 更多