我正在使用python 2.7尝试实现用户话语,因此我可以将其提示回用户。 我试过了
mess = intent_request['currentIntent']['slots']['drink']['inputTranscript']
我想访问用户话语(当前话语),例如“我可以订购披萨”。
我正在使用python 2.7 aws lambda。 我怎么能得到这个话语?
我的代码:
import os
import logging
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
def lambda_handler(event,context):
logger.debug('event.bot.name={}'.format(event['bot']['name']))
return dispatch(event)
def dispatch(intent_request):
intent_name = intent_request['currentIntent']['name']
#prompt = intent_request['currentIntent']['inputTranscript']
if intent_name == 'BurgerType':
return get_burger(intent_request)
if intent_name == 'drinks':
return get_drink(intent_request)
def get_drink(intent_request):
slot = intent_request['currentIntent']['slots']
value2 = intent_request['currentIntent']['slots']['drink']
mess = intent_request['currentIntent']['slots']['drink']['inputTranscript']
session_attributes = {}
return close(
session_attributes,
'Fulfilled',{
'contentType':'PlainText',
'content':'Your order of 000'+mess
})
def get_burger(intent_request):
slots = intent_request['currentIntent']['slots']
value = intent_request['currentIntent']['slots']['Burgers']
#value2 = intent_request['currentIntent']['slots']['cheese']
session_attributes = {}
return close(
session_attributes,
'Fulfilled',{
'contentType': 'PlainText',
'content':'Your order of '+value+' burger '#+value2+'has been placed'
})
def close(session_attributes, fulfillment_state, message):
response = {
'sessionAttributes': session_attributes,
'dialogAction':{
'type':'Close',
'fulfillmentState': fulfillment_state,
'message': message
}
}
return response
答案 0 :(得分:1)
正如您可以看到下面的示例请求,用户的话语,即用户输入存储在'intent_request'对象的'inputTranscript'中。
{
'messageVersion': '1.0',
'invocationSource': 'DialogCodeHook',
'userId': 'some_user_id',
'sessionAttributes': {},
'requestAttributes': None,
'bot':
{'name': 'bot_name',
'alias': '$LATEST', 'version': '$LATEST'
},
'outputDialogMode': 'Text',
'currentIntent':
{
'name': 'intent_name',
'slots':
{
'slot1': 'value1'
},
'slotDetails':
{
'slot1':
{
'resolutions': [],
'originalValue': 'value1'
}
},
'confirmationStatus': 'None'
},
'inputTranscript': 'what am i saying to this chatbot'
}
因此,您可以使用以下代码访问它:
mess = intent_request['inputTranscript']
希望它有所帮助。