如何使用 python 填充 alexa 后端中的插槽 问 sdk

how to fill a slot in alexa backend using python ask sdk

我需要根据某些条件填充意图的槽值。 我参考了以下文档。 https://developer.amazon.com/en-US/docs/alexa/custom-skills/delegate-dialog-to-alexa.html#node_delegate_default_values_example

在这份文档中,他们做了类似的事情。

    // fromCity.value is empty if the user has not filled the slot. In this example, 
    // getUserDefaultCity() retrieves the user's default city from persistent storage.
    if (!fromCity.value) {
      currentIntent.slots.fromCity.value = getUserDefaultCity();
    }

同样,我想知道如何使用 python ASK SDK 执行此操作。还有如何 return 类似的东西?

// Return the Dialog.Delegate directive
return handlerInput.responseBuilder
  .addDelegateDirective(currentIntent)
  .getResponse();

提前致谢!!

我终于找到了解决办法。

from ask_sdk_model.dialog import delegate_directive
updateIntent = {
    'name' : intent_name,
    'confirmation_status' : 'NONE',
    'slots' : handler_input.request_envelope.request.intent.slots
}
return handler_input.response_builder.add_directive(delegate_directive.DelegateDirective(updated_intent = updateIntent)).response