Я добавил слоты в класс Handler согласно документации, но все же я не могу заставить работать Dynami c Entities.
Вот мой python фрагмент кода для забавного дескриптора c:
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