Alexa Dynamic Slot在python中不起作用

问题描述 投票:0回答:1

我已根据文档在Handler类中添加了插槽,但仍然无法使动态实体正常工作。这是句柄func的python代码片段:

    def handle(self, handler_input):
        data = handler_input.attributes_manager.request_attributes["_"]
        slots = handler_input.request_envelope.request.intent.slots
        user_id = handler_input.request_envelope.session.user.user_id
        skill_locale = handler_input.request_envelope.request.locale
        session_attr = handler_input.attributes_manager.session_attributes


        kamal_entity_synonyms = EntityValueAndSynonyms(
            value="kamal", synonyms=["kamaal", "kamau"]
        )
        kamal_entity = Entity(id="Kamal", name=kamal_entity_synonyms)

        nikhil_entity_synonyms = EntityValueAndSynonyms(
            value="Nikhil", synonyms=["niki", "nikhial"]
        )
        nikhil_entity = Entity(id="Nikhil", name=nikhil_entity_synonyms)

        replace_entity_directive = DynamicEntitiesDirective(
            update_behavior=UpdateBehavior.REPLACE,
            types=[EntityListItem(name="contact_name", values=[kamal_entity, nikhil_entity])],
        )

        speech = data["A_INTENT_MSG"].format(slots['contact_name'].value)
        reprompt = data["A_REPROMPT_MSG"].format(slots['contact_name'].value)


        return handler_input.response_builder.speak(speech).ask(reprompt).add_directive(replace_entity_directive).response

python alexa
1个回答
0
投票

代码对我来说看起来不错。您遇到任何错误吗?

© www.soinside.com 2019 - 2024. All rights reserved.