Amazon web services 在AWS-Lex-QnA中使用lambda钩子
我正在从Lex构建一个QnA机器人,其中,对于某些问题,将使用lambda钩子,然后根据发布的问题给出响应。 根据lambda钩子指令,“lambda处理程序必须返回修改过的事件对象。”正如您从event.res(这是需要操作的)中所看到的,没有dialogaction。我试过把它插进去,但没用。我看到有一个卡片对象,我试着操纵它,但也不起作用。我们将非常感谢您的帮助 我无法使卡显示在客户端中。以下是event.res:Amazon web services 在AWS-Lex-QnA中使用lambda钩子,amazon-web-services,aws-lambda,chatbot,amazon-lex,Amazon Web Services,Aws Lambda,Chatbot,Amazon Lex,我正在从Lex构建一个QnA机器人,其中,对于某些问题,将使用lambda钩子,然后根据发布的问题给出响应。 根据lambda钩子指令,“lambda处理程序必须返回修改过的事件对象。”正如您从event.res(这是需要操作的)中所看到的,没有dialogaction。我试过把它插进去,但没用。我看到有一个卡片对象,我试着操纵它,但也不起作用。我们将非常感谢您的帮助 我无法使卡显示在客户端中。以下是event.res: { type: 'PlainText', message: '[
{
type: 'PlainText',
message: '[User Input: "best offer", Source: ElasticSearch] These are some of our most popular offers:',
session: {
qnabot_qid: 'TelcoBot.005',
qnabot_gotanswer: true,
qnabotcontext: { previous: [Object], navigation: [Object] },
appContext: { altMessages: {} }
},
card: { send: false, title: '', text: '', url: '' },
_userInfo: {
InteractionCount: 2,
UserId: 'eu-west-1:bdd6c35c-8f6f-4b83-90bc-b8b9ae3a9605',
FirstSeen: 'Wed Oct 07 2020 04:38:23 GMT+0000 (Coordinated Universal Time)',
LastSeen: 'Wed Oct 07 2020 04:45:08 GMT+0000 (Coordinated Universal Time)',
TimeSinceLastInteraction: 405.067,
isVerifiedIdentity: 'false'
},
got_hits: 1,
result: {
qid: 'TelcoBot.005',
quniqueterms: ' What are your best offers? Best Offers Popular offers tell me your best offers help me with best offers ',
questions: [ [Object], [Object], [Object], [Object], [Object] ],
a: '[User Input: "best offer", Source: ElasticSearch] These are some of our most popular offers:',
l: 'arn:aws:lambda:eu-west-1:418746351551:function:qna-telco-bestoffer-lambda',
args: [ 'BestOffer' ],
type: 'qna',
answersource: 'ElasticSearch',
autotranslate: { a: true },
lambdahooks: [ [Object], [Object] ]
},
plainMessage: '[User Input: "best offer", Source: ElasticSearch] These are some of our most popular offers:',
answerSource: 'ELASTICSEARCH'
}
2020-10-07T04:45:08.502Z
以下是运行lambda后的event.res,它清楚地表明它正在工作…:
{
"type": "PlainText",
"message": "Revised biznatches",
"session": {
"qnabotcontext": {
"previous": {
"qid": "TelcoBot.005",
"a": "[User Input: \"best offer\", Source: ElasticSearch] These are some of our most popular offers:",
"alt": {},
"q": "best offer"
},
"navigation": {
"next": "",
"previous": [],
"hasParent": true
}
},
"appContext": {
"altMessages": {}
},
"qnabot_qid": "TelcoBot.005",
"qnabot_gotanswer": true
},
"card": {
"send": true,
"version": 1,
"contentType": "application/vnd.amazonaws.card.generic",
"genericAttachments": [
{
"title": "card-title",
"subTitle": "card-sub-title",
"imageUrl": "https://en.wikipedia.org/wiki/Image#/media/File:Image_created_with_a_mobile_phone.png",
"attachmentLinkUrl": "https://en.wikipedia.org/wiki/Image#/media/File:Image_created_with_a_mobile_phone.png",
"buttons": [
{
"text": "button-text",
"value": "Value sent to server on button click"
}
]
}
]
},
"_userInfo": {
"UserId": "eu-west-1:bdd6c35c-8f6f-4b83-90bc-b8b9ae3a9605",
"InteractionCount": 1,
"isVerifiedIdentity": "false",
"TimeSinceLastInteraction": 1602002303.774,
"FirstSeen": "Wed Oct 07 2020 04:38:23 GMT+0000 (Coordinated Universal Time)",
"LastSeen": "Wed Oct 07 2020 04:38:23 GMT+0000 (Coordinated Universal Time)"
},
"got_hits": 1,
"result": {
"qid": "TelcoBot.005",
"quniqueterms": " What are your best offers? Best Offers Popular offers tell me your best offers help me with best offers ",
"questions": [
{
"q": "What are your best offers?"
},
{
"q": "Best Offers"
},
{
"q": "Popular offers"
},
{
"q": "tell me your best offers"
},
{
"q": "help me with best offers"
}
],
"a": "[User Input: \"best offer\", Source: ElasticSearch] These are some of our most popular offers:",
"l": "arn:aws:lambda:eu-west-1:418746351551:function:qna-telco-bestoffer-lambda",
"args": [
"BestOffer"
],
"type": "qna",
"answersource": "ElasticSearch",
"autotranslate": {
"a": true
},
"lambdahooks": [
{
"args": []
},
{
"l": "arn:aws:lambda:eu-west-1:418746351551:function:qna-telco-bestoffer-lambda",
"args": [
"BestOffer"
]
}
]
},
"plainMessage": "[User Input: \"best offer\", Source: ElasticSearch] These are some of our most popular offers:",
"answerSource": "ELASTICSEARCH"
}
下面是函数:
exports.handler = (event, context, callback) => {
event.res.message = "Revised message";
event.res.card = {
"send": true,
"version": 1,
"contentType": "application/vnd.amazonaws.card.generic",
"genericAttachments": [
{
"title":"card-title",
"subTitle":"card-sub-title",
"imageUrl":"https://en.wikipedia.org/wiki/Image#/media/File:Image_created_with_a_mobile_phone.png",
"attachmentLinkUrl":"https://en.wikipedia.org/wiki/Image#/media/File:Image_created_with_a_mobile_phone.png",
"buttons":[
{
"text":"button-text",
"value":"Value sent to server on button click"
}
]
},
]
};
callback(null, event);
};