如何使用Python在Alexa中添加动态实体?

2024-04-25 17:57:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在开发Python中的Alexa技能,我需要为用户动态添加实体来更新插槽类型,以便用户可以选择一个选项

I页面Use Dynamic Entities for Customized Interactions有Node.js和Java的文档和示例,但没有Python的示例。查看pythonsdk的Documentation,我不清楚如何在Python中执行同样的操作

我创建了一个名为test的插槽类型,并尝试了以下代码:

test_directive = {"object_type": "Dialog.UpdateDynamicEntities", "update_behavior": "REPLACE", "types": [{"name": "test", "values": [{"id": "round-rock", "name": {"value": "Round Rock Express", "synonyms": ["Round Rock", "Express"]}}, {"id": "corpus-christi", "name": {"value": "Corpus Christi Hooks", "synonyms": ["Corpus Christi", "Hooks", "Corpus"]}}]}]}

response_builder.add_directive(test_directive)

但我得到了一个错误:

'dict' object has no attribute 'object_type'

在Python中添加动态实体的正确方法是什么


Tags: 用户nametest实体id示例类型object
1条回答
网友
1楼 · 发布于 2024-04-25 17:57:26

我在链接中找到了答案:https://forums.developer.amazon.com/questions/210684/dynamic-entities-in-python.html。Python中的一个简短示例:

entity_synonyms_1 = EntityValueAndSynonyms(value="entity 1", synonyms=["synonym 1", "synonym 2"])
entity_1 = Entity(id="entity_id_1", name=entity_synonyms_1)

entity_synonyms_2 = EntityValueAndSynonyms(value="entity 2", synonyms=["synonym 3", "synonym 4"])
entity_2 = Entity(id="entity_id_2", name=entity_synonyms_2)                

replace_entity_directive = DynamicEntitiesDirective(update_behavior=UpdateBehavior.REPLACE, types=[EntityListItem(name="custom_type", values=[entity_1, entity_2])])

response_builder.add_directive(replace_entity_directive)

相关问题 更多 >